Re: Displaying gruff graphs
- From: Victor Reyes <victor.reyes@xxxxxxxxx>
- Date: Mon, 31 Mar 2008 14:32:21 -0500
[Note: parts of this message were removed to make it a legal post.]
I finally got this working with wx by hard-coding the file path. The graphs
(pie) is displayed, but now I have a small glitch, of course.
The frame is a about 1/4 of what it needs to be, and so I have to resize it
with the mouse.
Perhaps I need to make the frame where the graph is displayed a bit larger.
Is there anyway to make the size of the frame "dynamic" based on the size of
the image to be displayed?
In the mean time I will look in the wx documentation.
Thank you
Victor
On 3/31/08, Victor Reyes <victor.reyes@xxxxxxxxx> wrote:
Mark, thank you for your answer and time.
Alex, this is exactly what I am looking for. I am trying to do two things
at
the same time: Learning Ruby well and second learning to use gruff so I
can
use it at work.
I copied your sample code where I incorporated the sample gruff code that
I
got from the web. When I run it, a wx frame flashes quickly and end. Some
errors are displayed on the screen.
Would you mind if I send you directly my piece of code? It is very very
simple. It only adds about five (5) lines to your sample code.
Thank you for your help.
Victor
PS: The following are the errors:
C:\$user\vmr\Ruby>ruby rdg00.rb
c:/ruby/lib/ruby/gems/1.8/gems/gruff-0.3.1/lib/gruff/base.rb:465:in
`write':
no encode delegate for this image format `C:/DOCUME~1/REYESV~1
:ImageMagickError)
from c:/ruby/lib/ruby/gems/1.8/gems/gruff-0.3.1
/lib/gruff/base.rb:465:in
`write'
from rdg00.rb:25:in `on_paint'
from c:/ruby/lib/ruby/gems/1.8/gems/wxruby-1.9.5-i386-mswin32
/lib/wx/classes/evthandler.rb:123:in
`call'
from c:/ruby/lib/ruby/gems/1.8/gems/wxruby-1.9.5-i386-mswin32
/lib/wx/classes/evthandler.rb:123:in
`acquire_handler'
from c:/ruby/lib/ruby/gems/1.8/gems/wxruby-1.9.5-i386-mswin32
/lib/wx/classes/window.rb:44:in
`call'
from c:/ruby/lib/ruby/gems/1.8/gems/wxruby-1.9.5-i386-mswin32
/lib/wx/classes/window.rb:44:in
`evt_paint'
from c:/ruby/lib/ruby/gems/1.8/gems/wxruby-1.9.5-i386-mswin32
/lib/wx/classes/app.rb:16:in
`call'
from c:/ruby/lib/ruby/gems/1.8/gems/wxruby-1.9.5-i386-mswin32
/lib/wx/classes/app.rb:16:in
`process_event'
from c:/ruby/lib/ruby/gems/1.8/gems/wxruby-1.9.5-i386-mswin32
/lib/wx/classes/app.rb:16:in
`main_loop'
from c:/ruby/lib/ruby/gems/1.8/gems/wxruby-1.9.5-i386-mswin32
/lib/wx/classes/app.rb:16:in
`run'
from rdg00.rb:34
On 3/31/08, Alex Fenton <aff28@xxxxxxxxxxxxxxxxxx> wrote:
Victor Reyes wrote:be
Once a graph is written to disk, g.write("filename.png"), how can it
displayed in Ruby?give
I would like to re-create the graph and re-displayed often enough to
the appearance of "real time"
It's not clear whether you meant via a browser or in a desktop app. If
you want to show it on the desktop, you'll need some sort of GUI toolkit
to display a window then draw the bitmap in it.
You have a lot of choices: wxRuby, FXRuby, QT/Ruby, Tk, Ruby/GTK etc
etc. They vary widely in suitability for different platforms, ease of
installation, features, aesthetics.
I use wxRuby b/c it's easy to install (gem install wxruby) and looks
good on all the big platforms. A simple 25-line example that would
regularly redraw an updated graph is below:
hth
alex
__
require 'wx'
require 'tempfile'
# A frame that draws a regularly updated graph from Gruff every X
millisecs
class GruffFrame < Wx::Frame
def initialize(refresh_delay = 5000)
super(nil, :title => 'Gruff')
Wx::Timer.every(refresh_delay) { refresh }
evt_paint :on_paint
end
# Writes the gruff graph to a file then reads it back to draw it
def on_paint
# Set up your graph here
graph = Gruff::Lines.new # ....
# Write to a tempfile and read back
tmp = Tempfile.new('gruff')
graph.write(tmp.path)
bmp = Wx::Bitmap.new(tmp.path, Wx::BITMAP_TYPE_PNG)
# Draw it on the Frame
paint do | dc |
dc.draw_bitmap(bmp, 0, 0, false)
end
end
end
Wx::App.run { GruffFrame.new.show }
.
- Follow-Ups:
- Re: Displaying gruff graphs
- From: Alex Fenton
- Re: Displaying gruff graphs
- References:
- Displaying gruff graphs
- From: Victor Reyes
- Re: Displaying gruff graphs
- From: Alex Fenton
- Re: Displaying gruff graphs
- From: Victor Reyes
- Displaying gruff graphs
- Prev by Date: Re: [ADV] Pushed a new beta of PickAxe 3
- Next by Date: Re: how to restart the system with our code
- Previous by thread: Re: Displaying gruff graphs
- Next by thread: Re: Displaying gruff graphs
- Index(es):
Relevant Pages
|