n g wrote:

> I have a few questions regarding the use of Veusz and some feature
> requests.
>
> 1) Is it possible to put date or time entries on axes formatted as
> 11:13:17, 17:13, or 05:13 am
> Currently, I have converted these time stamps in my original data file
> using
> Excel to minutes then exported to .csv and imported into Veusz.  It
works
> ok.  But I would prefer to have a second x axis with time formats along
> with
> a linked axis of 0 - XX min.  This is important for me because in my
case
> the times refer to certain control events where time-of-day is
important.

To a limited extent. This isn't documented yet, but you can do

%VDH:%VDM:%VDS as the format in the ticklabel formatting section of the
axis
(for hours, minutes and seconds). %VD means date (or time) formatting, and
it is followed by one of the date formatting codes in
http://docs.python.org/lib/module-time.html

This isn't perfect, and the axis is too stupid to realise that time is
being
plotted and it should use base 60 axis ticks and so on. The formatting
assumes the time is in seconds since 1st January 1970 (actually I haven't
checked this on Windows).


I had not realized this feature. Thanks.

I'm planning to have much better date-time handling soon in Veusz. What is
the best way to store a date-time value as a number? Do we need higher
precision than a second?


For my purposes second would be enough.  But I am sure for particle
physicists 1s is infinity.  I would not want to offend anyone, but I still
assume that <1s would probably be better suited with float based axis
instead of date/time.

How about using Python's standard approach or matplotlib's representation.
Here is a good article about different options:
http://seehuhn.de/pages/pdate.

It would be great if the conversions can be made during import time based on
a format string.  For example, my data system acquires the time stamp as
2007:04:13:12:23:03. It would be great to get away the Excel step to prepare
the data for import.  This would be useful for item 3 with real time data
plot as well.

2) Would it be possible to add arbitrary lines with the mouse to an
> existing curve (for example a tangent at some point) and report the
slope
> and y-intercept of the lines wrt to a x and y axes. This functionality
> would
> allow basic analysis of the trends in the data.  Similarly, the
> intersection of the added lines or the added line and an existing curve
> would be very valuable in certain data analysis scenarios.

That's a nice idea - I have to think how to do that - maybe as a separate
pointer mode. It would also be nice to log clicked values.


Yes, a log of clicked values would be great.  How about grouping all ui
elements in an
Analysis dockwidget so it is not in the way for people who do not need it.
Also by adding
tabs you would allow future development like basic analysis, statistics,
peaks, etc

In this separate pointer mode is it possible to allow selection of the added
lines where you can
see handles at both ends?  That way you can adjust the head and tail
wherever and read the slope
and intercept from the Analysis dockwidget under the appropriate tab.

3) Finally, are there any plans to display the data in real-time either
> from
> an updating file or network socket.  I understand this may be a bit
> divergent from the goal of creating pub ready plots.  However, that goal
> is already achieved and Veusz has the cleanest handling of curves, axes,
> and I believe it has the potential of having many converts with these
> additions.

If you'd think that would be useful I can look at doing that. Do you have
experience of this sort of data capture? How are the numbers formatted
usually - plain text, csv? Do date stamps also need to be captured?


see below

I am a hobby programmer as well.  With a bit help I can work on some of
> these features.  I cannot say that I am knowledgeable enough in Python,
> PyQT, etc.  Please let me know what you guys think about these
suggestions
> and questions.

Thanks for writing. Firstly I'm currently working on importing text and
dates and times into Veusz (maybe advice for date-time formats would be
good, but perhaps Excel would be a good model to follow).


Excel or latest Python version with floats for years 0001 through 9999
sounds good to me. Each have adv and disadv.

Which of these features are you interested in most?


I would be interested in 1 and 2 the most.  Either one would be a great
addition.  I believe those are more difficult though.

For 3 I made a simple test.  There is a program called rtplot that comes
with a test program where it writes a file in a non-blocking way.  I
imported that file as a linked file into Veusz.  Then I pressed reload every
couple of seconds.  Veusz showed the updated curves everytime.  However, it
redrew the entire curve every time.  So there are obvious issues but I
believe this simple approach - reading from a file, watching for changes and
adding points - would allow quite a bit of versatility to Veusz.

The data streams usually comes through a serial port or network socket.
Usually comma, tab or space delimited.  # tends to be the comment char of
choice,  Some acquisition systems allows you to write a file in a
non-blocking way so other apps can read the data from the file as it is
being written.

If you have time to implement this option where Veusz displays a file in an
efficient way as it is being written it can be extended to serial and
network interfaces. I can give a shot to that. Maybe a datawindow of limited
x range (say 3000 points) can be shown at any time, like an oscilloscope.

Thanks for looking into these things...

Nihat


Jeremy





_______________________________________________
Veusz-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/veusz-discuss


_______________________________________________
Veusz-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/veusz-discuss

Répondre à