# Plottare grafici in GTK3

**URL:** <https://www.ruby-forum.com/t/plottare-grafici-in-gtk3/245078>\
**Category:** IT\
**Created:** [September 16, 2016, 6:19pm UTC](https://www.ruby-forum.com/t/plottare-grafici-in-gtk3/245078 "2016-09-16T18:19:21Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sadaf\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/858c86/32.png) [@Sadaf\_N](https://www.ruby-forum.com/u/Sadaf_N)\
**Post date:** [September 16, 2016, 6:19pm UTC](https://www.ruby-forum.com/t/plottare-grafici-in-gtk3/245078/1 "2016-09-16T18:19:21Z")

</div>

Ciao a tutti, avrei l’esigenza di creare un’applicazione in gtk3 che mi  
plotta all’interno della mia gui dei grafici, per la creazione dei miei  
grafici utilizzo gnuplot,nyaplot,rubyvis come output posso ottenere sia  
file svg che canvas html5.  
Per ora sono riuscito a crearmi un file svg e visulizzarlo in gtk in  
questo modo:

require ‘gtk3’  
require ‘rsvg2’

unless RSVG.cairo\_available?  
puts “this sample needs RSVG with cairo support”  
exit(-1)  
end

unless Gdk.cairo\_available?  
puts “this sample needs GDK with cairo support”  
exit(-1)  
end

if ARGV.size != 1  
puts “usage: #{$0} input.svg”  
exit(-1)  
end

input = ARGV.shift

handle = RSVG::Handle.new\_from\_file(input)  
width, height = handle.dimensions.to\_a

window = Gtk::Window.new  
window.set\_default\_size(width, height)  
area = Gtk::DrawingArea.new

window.signal\_connect(:destroy) do  
Gtk.main\_quit  
end

area.signal\_connect(:draw) do |widget, event|  
context = widget.window.create\_cairo\_context  
window\_width, window\_height = widget.window.size  
context.scale(window\_width.to\_f / width, window\_height.to\_f / height)  
context.render\_rsvg\_handle(handle)  
end

window.add(area)  
window.show\_all

Gtk.main

Fino qui tutto ok, il problema è i grafici all’interno di chrome sono  
interattivi, es se mi posizioni su un punto viene visualizzato un popup  
con delle informazione, mentre in gtk non viene visualizzato nulla, come  
se fosse un’immagine statica es png.

Come idea mi era venuta di creare un file html con i grafici e il codice  
javascript, e renderizzarlo all’interno di gtk, ma non so come fare, e  
webkit in windows non funziona.

Cercando ho visto anche la possibilità di usare i socket di gtk, e in  
gnuplot dare come output x11 ma questo in windows non è supportato.
