Can anyone recommend a fast cross-platform plotting package for 2-D
plots?
Our situation:
We are driving an instrument that outputs data at 20Hz. Control is via
an existing Tkinter application (which is being extended for this new
instrument) that runs on unix, mac and windows. We wish to update 5-10
summary plots at approximately 2 Hz and will be offering controls to
control the instrument and the plots, preferably (but not necessarily)
mixed in with the plots.
Ideally the package would create plots in the Tkinter application. But
we realize we're unlikely to get the speed we need that way. So we are
willing to have the Tkinter app send data to the plotting package (e.g.
via a socket) and have it display the plots in a separate process.
We started out with matplotlib, which is a wonderful package (and well
integrated with most or all GUI toolkits). Unfortunately it is just too
slow -- at least when driving plots integrated with the Tkinter app. (It
is getting faster and so are computers, so at some point this will be a
great way to go. But for now...)
Any suggestions?
-- Russell 7 3030
I like Ploticus. It's a bit kludgy for integration, you need to send
the data to a file and have ploticus read it, but this can be easily
done using memory mapped files. It's a very fast package and it
produces very nice plots. SVG plots too. We use an svg viewer and then
reload the svg tree to rerender the plot.
Russell E. Owen wrote: Can anyone recommend a fast cross-platform plotting package for 2-D plots?
Our situation: We are driving an instrument that outputs data at 20Hz. Control is via an existing Tkinter application (which is being extended for this new instrument) that runs on unix, mac and windows. We wish to update 5-10 summary plots at approximately 2 Hz and will be offering controls to control the instrument and the plots, preferably (but not necessarily) mixed in with the plots.
Ideally the package would create plots in the Tkinter application. But we realize we're unlikely to get the speed we need that way. So we are willing to have the Tkinter app send data to the plotting package (e.g. via a socket) and have it display the plots in a separate process.
We started out with matplotlib, which is a wonderful package (and well integrated with most or all GUI toolkits). Unfortunately it is just too slow -- at least when driving plots integrated with the Tkinter app. (It is getting faster and so are computers, so at some point this will be a great way to go. But for now...)
Any suggestions?
-- Russell
Have you looked at BLT? http://sourceforge.net/projects/blt/ http://heim.ifi.uio.no/~hpl/Pmw.Blt/doc/
Russell E. Owen <ro***@cesmail.net> wrote: Can anyone recommend a fast cross-platform plotting package for 2-D plots?
Our situation: We are driving an instrument that outputs data at 20Hz. Control is via an existing Tkinter application (which is being extended for this new instrument) that runs on unix, mac and windows. We wish to update 5-10 summary plots at approximately 2 Hz and will be offering controls to control the instrument and the plots, preferably (but not necessarily) mixed in with the plots.
That's 10-20 plots per second. The only GUI plotter that I know is
'gnuplot', and I don't know if it will spit out anything at 10-20Hz.
For character plots (like old days terminal), it has speed but ugly to
look at. Ideally the package would create plots in the Tkinter application. But we realize we're unlikely to get the speed we need that way. So we are willing to have the Tkinter app send data to the plotting package (e.g. via a socket) and have it display the plots in a separate process.
We started out with matplotlib, which is a wonderful package (and well integrated with most or all GUI toolkits). Unfortunately it is just too slow -- at least when driving plots integrated with the Tkinter app. (It is getting faster and so are computers, so at some point this will be a great way to go. But for now...)
Any suggestions?
-- Russell
--
William Park <op**********@yahoo.ca>, Toronto, Canada
Slackware Linux -- because it works.
William Park <op**********@yahoo.ca> writes: Russell E. Owen <ro***@cesmail.net> wrote: Can anyone recommend a fast cross-platform plotting package for 2-D plots?
Our situation: We are driving an instrument that outputs data at 20Hz. Control is via an existing Tkinter application (which is being extended for this new instrument) that runs on unix, mac and windows. We wish to update 5-10 summary plots at approximately 2 Hz and will be offering controls to control the instrument and the plots, preferably (but not necessarily) mixed in with the plots.
That's 10-20 plots per second. The only GUI plotter that I know is 'gnuplot', and I don't know if it will spit out anything at 10-20Hz. For character plots (like old days terminal), it has speed but ugly to look at.
HippoDraw is quite fast and scriptable from Python http://www.slac.stanford.edu/grp/ek/hippodraw
William Park <op**********@yahoo.ca> typed: Russell E. Owen <ro***@cesmail.net> wrote: Can anyone recommend a fast cross-platform plotting package for 2-D plots?
Our situation: We are driving an instrument that outputs data at 20Hz. Control is via an existing Tkinter application (which is being extended for this new instrument) that runs on unix, mac and windows. We wish to update 5-10 summary plots at approximately 2 Hz and will be offering controls to control the instrument and the plots, preferably (but not necessarily) mixed in with the plots.
That's 10-20 plots per second. The only GUI plotter that I know is 'gnuplot', and I don't know if it will spit out anything at 10-20Hz. For character plots (like old days terminal), it has speed but ugly to look at.
Ideally the package would create plots in the Tkinter application. But we realize we're unlikely to get the speed we need that way. So we are willing to have the Tkinter app send data to the plotting package (e.g. via a socket) and have it display the plots in a separate process.
We started out with matplotlib, which is a wonderful package (and well integrated with most or all GUI toolkits). Unfortunately it is just too slow -- at least when driving plots integrated with the Tkinter app. (It is getting faster and so are computers, so at some point this will be a great way to go. But for now...)
Any suggestions?
-- Russell
disipyl is a wrapper around dislin. It includes a class that lets plots
appear inside tkinter frames. I did a quick test and the first demo plot
(run tkdisipyl.py) of a 180 point sine and cosine plotted at over 100 Hz. http://kim.bio.upenn.edu/~pmagwene/disipyl.html http://www.mps.mpg.de/dislin/
Are you sure about these numbers? Most monitors refresh at 70-80Hz, so
unless you have special display hardware, I'm suspicious of these
numbers doubt . I once had a user post to the matplotlib mailing list
that xplt was refreshing at 1000 Hz. I think xplt drops plot requests
while requests are in the queue, so many of the loops in his iteration
were simply dropped. If the plotting library puts draw requests in an
idle event handler, accurate refresh rate numbers can be hard to
quantify.
JDH jd*****@gmail.com <jd*****@gmail.com> typed: Are you sure about these numbers? Most monitors refresh at 70-80Hz, so unless you have special display hardware, I'm suspicious of these numbers doubt . I once had a user post to the matplotlib mailing list that xplt was refreshing at 1000 Hz. I think xplt drops plot requests while requests are in the queue, so many of the loops in his iteration were simply dropped. If the plotting library puts draw requests in an idle event handler, accurate refresh rate numbers can be hard to quantify.
JDH
dislin doesn't seem to do that. I varied the number of points in the plot so
the drawing rate went from from 60 Hz to 144 Hz. It scaled linearly above
and below my 85 Hz screen rate. It wouldn't do that if it were dropping
plots. I think that computers are so fast that they can draw to the frame
buffer very quickly, but the slower screen refresh means only some of those
fully drawn frames make it to the monitor.
Even if you are correct, that is still drawing at 85 Hz and thus much faster
than the original poster needed. This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: srijit |
last post by:
Hi,
I am looking for a good plotting package (preferably with 3D plotting
capabilities) based on Python 2.3 (Windows 98). Unfortunately Dislin
does not exist for Python 2.3.
I look forward to...
|
by: Erik Lechak |
last post by:
Hello All,
I am creating a visual programming environment for python (similar to
Matlab's simulink, but for python). For several reasons I have
decided not to go with OGL. I am writing a wxOGL...
|
by: Gerrit Holl |
last post by:
Hi,
I have a dictionairy containing DateTime objects as keys and integers as
values. What would be the easiest way to create a simple plot of these,
with a number axis versus a time axis? What...
|
by: DG |
last post by:
I'm interesting in finding the ultimate cross-platform python plotting
module. So far I've used scipy.gplt and biggles which both have
disadvantages. There is no python 2.3 binary package for...
|
by: shuusaku |
last post by:
Dear all,
I'm not sure this is the right place to ask for help, but I cannot find
any solution anywhere else, I hope you could help me.
I'm using Borland C++ Builder 6 with TeeChart v4.04...
|
by: skorpio11 |
last post by:
Hi,
I've been having some problems trying some basic plotting commands with
gnuplot.py. My setup is the Python 2.3 Enthought edition and my script
looks as:
from scipy import *
from scipy...
|
by: michael.s.gilbert |
last post by:
hello all,
this message is geared toward those of you in the scientific community.
i'm looking for a python plotting library that can support rendering
greek symbols and other various characters...
|
by: T. Crane |
last post by:
Hi,
I am looking for a good plotting library. I intend to do 3D surface
plots, 2D contour, 3D waterfall, etc. Right now I have access to
National Instruments' Measurement Studio, and it's...
|
by: Helmut Michels |
last post by:
Dear C/C++ programmers,
I am pleased to announce version 9.4 of the data plotting software
DISLIN.
DISLIN is a high-level and easy to use plotting library for
displaying data as curves, bar...
|
by: lllomh |
last post by:
Define the method first
this.state = {
buttonBackgroundColor: 'green',
isBlinking: false, // A new status is added to identify whether the button is blinking or not
}
autoStart=()=>{
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 4 Oct 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM)
The start time is equivalent to 19:00 (7PM) in Central...
|
by: tracyyun |
last post by:
Hello everyone,
I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...
|
by: giovanniandrean |
last post by:
The energy model is structured as follows and uses excel sheets to give input data:
1-Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...
|
by: NeoPa |
last post by:
Hello everyone.
I find myself stuck trying to find the VBA way to get Access to create a PDF of the currently-selected (and open) object (Form or Report).
I know it can be done by selecting :...
|
by: Teri B |
last post by:
Hi, I have created a sub-form Roles. In my course form the user selects the roles assigned to the course.
0ne-to-many. One course many roles.
Then I created a report based on the Course form and...
|
by: nia12 |
last post by:
Hi there,
I am very new to Access so apologies if any of this is obvious/not clear.
I am creating a data collection tool for health care employees to complete. It consists of a number of...
|
by: NeoPa |
last post by:
Introduction
For this article I'll be focusing on the Report (clsReport) class. This simply handles making the calling Form invisible until all of the Reports opened by it have been closed, when it...
|
by: GKJR |
last post by:
Does anyone have a recommendation to build a standalone application to replace an Access database? I have my bookkeeping software I developed in Access that I would like to make available to other...
| |