Re: [Veusz-discuss] Feature suggestion: multiple plots with offset
I do this by creating a variable (Edit -> Custom Definitions) called dy. Then (for datasets f1, f2, etc) I make the Y data for my plots f1 + 1*dy, f2 + 2*dy, etc. The vertical offset can then be easily changed by changing the value of dy. Steve > On May 13, 2016, at 10:00 AM, Bernd Maierwrote: > > Dear Jeremy, > > sometimes it is useful to plot different datasets of the same type on > top of each other with a given gap or offset between each single plot > (e.g. a series of powder diffraction patterns). To the best of my > knowledge this can be achieved in Veusz right now with three approaches: > (1) arrange graphs in a grid which doesn't look nice. > (2) several y-axes for each plot with different positions for each axis. > (3) multiply each dataset by a constant and plot all in the same > xy-plot. > > Option three gives exactly what I want, but it is a bit tedious to > adjust the offsets manually for each plot. > > So, it would be a nice feature to have a "multiple plots widget" which > can take any number of datasets and plot them with an adjustable offset > on the vertical (and/or horizontal) axis. > > Any thoughts on this? Maybe I have overlooked a more simple solution > already existing? > > Thank you very much, especially for this great plotting program!! > > All the best, > Bernd > > ___ > Veusz-discuss mailing list > Veusz-discuss@gna.org > https://mail.gna.org/listinfo/veusz-discuss ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss
Re: [Veusz-discuss] monitoring live data
You can use slicing with negative indices to plot only the last bit of some datasets. Eg, plot x[-10:] vs y[-10:]. This will plot just the last 10 elements in the datasets x and y. Perhaps something like this can work for you? Steve > On Oct 18, 2015, at 11:31 AM, Carl Wolffwrote: > > Hello, > > I like to use Veusz for monitoring live data (update interval 1 sec, > maximal 10 separate figures to monitor). In this case Veusz must show the > actual figures and previous values over some timewindow (e.g. one hour). > Data older than the timewindow is to be disregarded. > > Is this possible with Veusz? I think I have to write a plugin, or embed > Veusz in our python data acquisition package. > > Best regards, > Carl. > > > ___ > Veusz-discuss mailing list > Veusz-discuss@gna.org > https://mail.gna.org/listinfo/veusz-discuss ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss
Re: [Veusz-discuss] Accidentally Scrolling in Drop Down Boxes
I think that this behavior can be changed by setting the widget FocusPolicy to StrongFocus instead of WheelFocus. This would require that the widget be clicked or selected using the tab key, before it accepts input. With WheelFocus, the widget is activated by mouse scroll wheel actions, which causes the accidental scrolling in the drop down boxes. Steve > On Oct 2, 2015, at 9:34 AM, Dawes, Andrew M.wrote: > > This scrolling in the pull-down menu also happens on the Mac, and I’ve had to > learn to scroll carefully in the settings pane. If there were a way to > disable it, I would be very interested. My guess is somewhere inside Qt since > that is generating the widgets etc. > > Andy > >> On Oct 2, 2015, at 3:52 AM, Andre Scholich wrote: >> >> Hi Simon, >> >> it may also be related to the peculiar scrolling behaviour in Windows in >> general. You could try either WhizMouse or KatMouse. >> In Windows 10 it seems to be built in now: >> http://www.groovypost.com/howto/scroll-inactive-background-windows-by+hovering-over-them/ >> >> Best, >> Andre >> >>> On Fri, Oct 2, 2015 at 10:10 AM, Simon Kleinknecht >>> wrote: >>> Thanks for the fast reply. Scrolling is possible in any theme working on >>> Windows. They seem to only change the appearance but not the window >>> behavior. I guess I simply have to be more careful with the scroll wheel >>> :-). >>> >>> Simon >>> >>> On 2015-10-02 09:59 AM, Jeremy Sanders wrote: >>> > On 02/10/15 09:26, Simon Kleinknecht wrote: >>> > >>> >> I noticed this on my Windows 8.1 (Veusz 1.23.1), so I guess I cannot >>> >> change any theme or behavior. I checked it again and it's possible to >>> >> scroll through values in every list in the Formatting and Properties >>> >> windows. >>> > >>> > It is possible to change this from the veusz console, if you want to see >>> > whether other themes are better. At the console type >>> > >>> > import veusz.qtall as qt >>> > qt.qApp.setStyle(qt.QStyleFactory.create("XXX")) >>> > >>> > where XXX is the style, which on Windows (for me) allows Windows, >>> > WindowsXP, WindowsVista, Motif, CDE, Plastique and Cleanlooks as valid >>> > options. >>> > >>> > Jeremy >>> > >>> >>> -- >>> ___ >>> >>> Simon Kleinknecht, Dipl.-Ing. Umweltschutztechnik >>> Institut fuer Wasser- und Umweltsystemmodellierung >>> Versuchseinrichtung zur Grundwasser- und Altlastensanierung (VEGAS) >>> Universitaet Stuttgart >>> Pfaffenwaldring 61 >>> D-70569 Stuttgart >>> >>> Tel: (0049) 711/685-68201 >>> http://www.vegas.uni-stuttgart.de >>> >>> ___ >>> Veusz-discuss mailing list >>> Veusz-discuss@gna.org >>> https://mail.gna.org/listinfo/veusz-discuss >> >> ___ >> Veusz-discuss mailing list >> Veusz-discuss@gna.org >> https://mail.gna.org/listinfo/veusz-discuss > > ___ > Veusz-discuss mailing list > Veusz-discuss@gna.org > https://mail.gna.org/listinfo/veusz-discuss ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss
Re: [Veusz-discuss] Merge two veusz files
I'm not sure what append does in origin, but you can copy pages or graphs from one veusz file and paste them in another. Steve On Mar 25, 2015, at 12:52 PM, Yin, Weiguo w...@bnl.gov wrote: Hello, I’m new to Veusz and already found it’s delightful to use. I‘d like to ask How can one merge two Veusz files into one, like the “Append” function in Origin by OriginLab which I frequently used? Best regards, Weiguo ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss
Re: [Veusz-discuss] data values on bars
I've done something similar by using an xy points plot with markers set to none, but with labels set to the text I wanted to appear. Note that hiding the markers doesn't work because that hides the labels too. On Mon, Dec 15, 2014 at 7:22 AM, Jeremy Sanders jer...@jeremysanders.net wrote: On 12/12/14 23:38, Birger Ilau wrote: I need the bottom of each bar (under the x-axis) to have a label (defined as a dataset names), I can do that by going /x-axis properties - mode - labels/ and then defining labels from /bar properties - labels - names/. So far it works fine. But now I need data values (y-axis values) on top of each bar and I can not find a way to do that. Only way to see data values on each bar is to put them instead of my name labels under the x-axis, but I'm sure there's a way to do it properly. I don't know of an obvious way to do this. However, you could add a label widget to the plot if you can calculate x and y coordinates for the labels (these can be datasets), use your numerical dataset for Label and set the position mode to axes. Hope this helps Jeremy ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss labels.vsz Description: Binary data ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss
Re: [Veusz-discuss] Having some py2app issues
Jeremy, Thanks for the reply. I do have a strip executable, so I don't know why this is not working. It's not a huge issue, so I'll see if I can eventually figure it out when I get some time. Thanks for pointing me to the scripts you use for making executables. I had not realized they were in the source. After modifying the paths for my machine, these scripts have fixed the icon problem for me. Steve On Mon, Jul 21, 2014 at 3:12 PM, Jeremy Sanders jer...@jeremysanders.net wrote: Hi Steve On 21/07/14 15:09, Steve Richardson wrote: I’ve just started trying to package up veusz (github version) into an app bundle on a Mac. I’ve downloaded a fresh copy of the source, and issued the command: python setup.py py2app Everything seems to go ok until I get to the part where symbols are being stripped from the compiled libraries. This seems to proceed ok (i.e., I get messages like stripping QtGui), until I hit “stripping h5t.so”, where I get the error sh: line 1: 2571 Trace/BPT trap: 5 /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -sdk / -find strip 2 /dev/null strip: error: unable to find utility strip, not a developer tool or in PATH stripping saved 0 bytes (165071296 / 165071296) Is this something that anyone else encountered? I’m thinking that it may be specific to my system, due to versions of libraries installed or something. Are you missing some part of the command line utilities to go with xcode? Do you have a strip executable? I use the scripts here to make py2app executables. They will need some modification of paths: https://github.com/jeremysanders/veusz/blob/master/scripts/make-veusz- image.sh https://github.com/jeremysanders/veusz/blob/master/scripts/fixup_veusz_ dist.sh The blank icons are caused by the lack of the svg image/icon qt plugins. My scripts above make a qt.conf and hack the paths in the plugins to point to the libraries in the app. Jeremy ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss
Re: [Veusz-discuss] HDF5 support badly needed
The import_improvements branch works with my HDF5 files. I don't have any files with tables, though, so I didn't test that. Steve On Mon, Dec 23, 2013 at 11:35 AM, Jeremy Sanders jer...@jeremysanders.netwrote: On 12/17/2013 12:46 PM, Jeremy Sanders wrote: It probably won't be hard to support compound data types in my import filter - I can treat them similarly to groups. I didn't find any example files which used them, so I haven't bothered so far. I need to make the code which walks the file understand that the V datatype has different components. Ok, I have now a largely complete HDF import. It supports tables (compound data types), groups, importing as dates, 2d data with x/y ranges, slicing before importing and error bars (using 1d or 2d datasets). Most of these options can be set in the UI or as HDF attributes. I've also updated the manual source. It hasn't had much testing, so if you have HDF5 files, please try it out from the import_improvements branch. I should add some self tests. Jeremy ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss
Re: [Veusz-discuss] HDF5 support badly needed
Jeremy, I just tried the new version, and the HDF5 import seems to be working for me. There is an additional feature that I think would be very useful. Specifically, it would be great if it were possible to specify custom slicing of the HDF5 dataset. I.e., if it were possible to specify custom start:stop:skip indices for the datasets. This would allow users to import only a specific subset of the data from the HDF5 dataset, which would be quite useful for very large HDF5 files. This could potentially also allow users to import lower dimensional subsets of the data in HDF5 files. E.g., to get a 1D slice out of a 2D dataset, or a 2D slice from a higher-dimension data set. For example, I have HDF5 files with electric and magnetic fields specified on a 3D grid. Since these are vector fields, they have an additional index which specifies the component of the field. Thus the HDF5 dataset is actually 4D. I'd love to be able to get 1D or 2D subsets out of this dataset for plotting. I'm pretty new to Qt programming, but I'm going to try and see if I can extend the HDF5 import tab to include the necessary pieces for permitting custom slicing. Steve On Sun, Dec 8, 2013 at 12:29 PM, Jeremy Sanders jer...@jeremysanders.netwrote: On 04/12/13 22:06, J Lister wrote: I'm really needing some HDF5 read in support in this. I know many aerospace engineers that would enjoy using this package, but cannot due their data being in HDF5. I would be happy to work on a plug-in or something, but I need more direction. Ok, I've added some initial HDF support using h5py. The implementation is inspired by Volker's, but it has the ability to import groups of datasets (under their original names) and individual datasets with any name. I think the dialog box works fairly nicely. Error bar support is currently implemented by using dataset names foo (+), foo (-) or foo (+-) for datasets to add error bars to dataset foo. You can also provide error bars with a 2D dataset using 2 or 3 columns. In that case you should give your dataset name bar (1D). 2D datasets work, but there's no way to provide the x and yrange yet. Maybe some syntax for the name like bar (xrange=1:2,yrange=1:2) would work, or I could allow special attributes. 1D text datasets also work. I don't have support for date datasets - I'm not sure how this should be done yet. It's pretty untested, but if you'd like to give it a try get it from the import_improvement branch: https://github.com/jeremysanders/veusz/tree/import_improvement Jeremy ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss
Re: [Veusz-discuss] HDF5 support badly needed
From Chapter 2 of the book Python and HDF5 by Andrew Collette: HDF5 and h5py We’ll use the “h5py” package to talk to HDF5. This package contains high-level wrappers for the HDF5 objects of files, groups, datasets, and attributes, as well as extensive low-level wrappers for the HDF5 C data structures and functions. The examples in this book assume h5py version 2.2.0 or later, which you can get at http://www.h5py.org. You should note that h5py is not the only commonly used package for talking to HDF5. PyTables is a scientific database package based on HDF5 that adds dataset indexing and an additional type system. Since we’ll be talking about native HDF5 constructs, we’ll stick to h5py, but I strongly recommend you also check out PyTables if those features interest you. This makes me think that h5py is probably the better package to use in Veusz, since it sounds like PyTables implements a lot of stuff on top of plain vanilla HDF5. Steve On Thu, Dec 5, 2013 at 11:02 AM, Jeremy Sanders jer...@jeremysanders.netwrote: Dear all I'm currently reworking the import code (started yesterday, actually). I'm trying to reorganise it so that all the code is defined in one place (i.e. the Operation class, the LinkedFile class, the command line command [necessary for saved files] and the code for the import dialog). This should make it much easier to write or experiment with a non-plugin import. Plugin imports are generally ok, except you don't have much user interface flexibility. Maybe the new code should work in a week or two (see my import_improvement branch, which doesn't work yet). If I were to write some code, I'd like to know exactly what you'd like to get out of the HDF file (as Steve says). It would be very helpful to have some example files, and some idea what you'd like to get out of the file. I've never used the format, so it's hard to know what common operations should be and how to streamline the UI. Also, if anyone has experience reading HDF5 in Python, which is the better python module to use? Thanks Jeremy On 05/12/13 16:09, Steve Richardson wrote: Hi, I've found that making custom data import plugins for Veusz is pretty easy. My method consists of two parts: 1) Write python code that reads your data format. Get this working as a standalone python script. Doing this first, and separate from any Veusz coding, lets you find and fix bugs easily. 2) Write the Veusz plugin for your data format, following the example at http://barmag.net/veusz-wiki/ImportPlugins as a guide. This code will call the functions/classes you wrote in step 1. I've done this for a few custom data formats that I work with. There are several issues that you will probably encounter with HDF5. It is a very flexible file format, which is good for data storage, but will make it harder for you to write code to read your files. There are several python modules that can help; I'd take a look at http://www.h5py.org and http://www.pytables.org since they both use HDF5. Regardless of what approach you take, there will probably end up being some limitations with what you can do with HDF5. Without getting into the guts of Veusz (to define new data formats), you will probably not be able to do things with HDF5 that would be useful for large datasets. E.g., from the h5py site, one of the features is being able to slice multi-terabyte datasets stored on disk, as if they were real NumPy arrays. I'd love to be corrected, but I don't think you will be able to do that with a Veusz plugin. As I get some time, I'll probably take a shot at making a simple HDF5 plugin, since it would be useful for me, too. If I come up with anything, I'll be sure to share it. Steve On Wed, Dec 4, 2013 at 4:06 PM, J Lister jonathan.lister@us.af.mil mailto:jonathan.lister@us.af.mil wrote: I'm really needing some HDF5 read in support in this. I know many aerospace engineers that would enjoy using this package, but cannot due their data being in HDF5. I would be happy to work on a plug-in or something, but I need more direction. ___ Veusz-discuss mailing list Veusz-discuss@gna.org mailto:Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss
Re: [Veusz-discuss] 2D datasets: irregular pixel sizes
Hi Jeremy, This would be a very useful new feature! I haven't though a lot about this, but specifying the edge values would be the most useful to me. I sometimes need to plot 2D histogram data, and I already have the edges of each bin. The color of the pixel would then correspond to the number of points in that particular 2D bin. As to how to compute the center, I think all you could do is assume the center is in the middle. If the user wants log-spaced data, then they can pre-compute the log values, and specify those as the bin edges. They could then put custom labels on the axis if they want it to look like a log plot. Does this make sense? So the pylab module in matplotlib has a class for plotting nonuniform images. (See http://matplotlib.org/examples/pylab_examples/image_nonuniform.html) It works by specifying the centers. I'm not sure how it computes the edges (or pixel widths). I'd be happy to do some beta testing of this feature once it is working. I'm looking forward to seeing it in a future version of Veusz. Steve On Sun, Dec 1, 2013 at 12:07 PM, Jeremy Sanders jer...@jeremysanders.netwrote: I've written some code which didn't make it into 1.19/1.19.1, designed to make 2D datasets more general. The idea is to allow a more general dataset where the y and x steps can vary to give different sized pixels. This is really useful if your data are logarithimically defined, etc. The current implementation is that the user provides edges where the pixels start and stop (the next starts where the previous stops). The user provides a list of x and y values which contain 1+number of values in that direction. This seemed to be reasonable and is a good fit for image type widgets, where the edge of the image needs to be properly defined. However, there some issues: 1. The contour widget needs to know where the pixel centres are. If you have the edges, you need to assume that the centre is in the middle. This might not be the case for log-stepped data (it's hard to do a log centre as the widget doesn't really know whether it is log or not). 2. I was investigating making the CSV import able to read 2D data. You might want to have data like this, where the first row and first column are x and y values. 1, 10, 100,1000,1 0, 1, 2, 3, 4, 5 1, 2, 4, 5, 6, 3 3, 3, 1, 0, 2, 3 This again has the issue that the centres are what are defined and not the edges. Are pixel centres or edges the right way to describe 2D data? Centres seem better for contours, edges for images. Should veusz support both kinds of data? If centres are given, how do we calculate edges, and vice-versa? Jeremy ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss
Re: [Veusz-discuss] Using the Embed feature with contours
You have to first call SetData2D to create a veusz dataset, and then use the newly created dataset in the g.Set command in place of Bz. Steve On Thu, Jun 6, 2013 at 2:09 PM, Steve Swanekamp steve.swanek...@nrl.navy.mil wrote: Hello, I have a large number of files that contain electric and magnetic field data from different times from a PIC simulation of a plasma. I have been successful at teaching Veusz to read in the data and do a contour plot of a single frame but now I want to automate the process in python. I have been able to read the data into python but plotting it has been problematic. I am using the embed feature of Veusz (which I have successfully used for x-y plots before) and ran into the following error when trying to make the contours # Make contours g.To('/page1/graph1/contour1') g.Set('data', Bz) Traceback (most recent call last): File U:\veusz\contour_movie.py, line 60, in module g.Set('data', Bz) File C:\Program Files\Veusz\embed.py, line 62, in runner g.To('/page1/graph1/image1') File C:\Program Files\Veusz\embed.py, line 301, in runCommand return self.sendCommand( (self.winno, cmd, args[1:], args2) ) File C:\Program Files\Veusz\embed.py, line 292, in sendCommand retobj = cPickle.loads(rets) ImportError: No module named veusz.setting.setting The numpy array Bz contains the 513x513 array that I would like to image. Am I doing something wrong? Any help would be greatly appreciated. Steve Swanekamp Plasma Physics Division Naval Research Laboratory Washington, DC ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss
[Veusz-discuss] Step plots with error bars
Hi folks, I'm trying to make step plots with error bars. Everything seems to be working well, except that I need to format the plot line to have Steps=right, because that's how my data is formatted. When I choose this option, the steps are updated correctly, but the error bars are still drawn at the original points. If I choose Steps=center, then the plot looks correct, with the error bars plotted at the center of the step. I've attached a veusz file and plot showing this. I know that I can create a new dataset with shifted x values, so that I can use Steps=center. I'd rather not have to do that, though, since I have quite a lot of data to plot. Does anyone know of a better way to create this plot? Or perhaps the error bar plotting function should be updated to check the value of the Steps formatting parameter? Thanks, Steve attachment: steps_errorbars.png steps_errorbars.vsz Description: Binary data ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss
Re: [Veusz-discuss] Integrate a dataset?
Hi Jeremy, I put together a plugin for doing the integration, based on the DatasetPlugin example on your website. I'd be happy for you to distribute this under the Veusz license. Perhaps there could be a Calculus submenu under Operations, which would have this, and maybe a numerical derivative operation. Steve On Thu, Jun 28, 2012 at 9:23 AM, Jeremy Sanders jer...@jeremysanders.net wrote: On 28/06/12 14:20, Jeremy Sanders wrote: On 27/06/12 16:27, Steve Richardson wrote: Hi, I have a 1D dataset which I would like to integrate numerically and then plot. Is this possible in Veusz? I checked in Data-Operations, but didn't see anything like that. Numpy has a trapz function which does trapezoid integration. You should be able to use the create dataset dialog with an expression like By the way, the next release has a cumulative sum plugin which would almost be an integration for a fixed bin width (if the bin width is small!). Jeremy integrateplugin.py Description: Binary data ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss
[Veusz-discuss] Integrate a dataset?
Hi, I have a 1D dataset which I would like to integrate numerically and then plot. Is this possible in Veusz? I checked in Data-Operations, but didn't see anything like that. If there is no way to do this as of yet, I'm thinking that I'll try to write a Dataset Plugin, which would integrate a function using the trapezoidal rule. If I do write such a plugin, is there any way to post it so that others can use it, too? Thanks, Steve ___ Veusz-discuss mailing list Veusz-discuss@gna.org https://mail.gna.org/listinfo/veusz-discuss