Showing results for 
Search instead for 
Did you mean: 

Nice 1D and 2D plotting tool

Hi all,

You have been of great help to me in the past, and over time I made a program that might be interesting for some of you to use as well. It can be found at

It is essentially a CVI 6.0 Graph plot, with a program built around it. You can load a lot of different types of files into the program (text, binary, with a lot of options), do smoothing, spike elimination, etc. I have tried my best to make the program as easy to use as possible, as far as zooming, manipulating a lot of plots at the same time etc. is concerned. Furthermore the program can be controlled by DDE so it is possible to save a measure data file and make your program open it in Spectrum Viewer. This would eliminate a requirement to make your own graph window.

The program was basically made with a user in mind who is sitting next to a measuring machine that spits out a lot of plots. He wants to have a quick look at those, compare them to each other, throw away the failed measurements, maybe do some smoothing or spike elimination and some simple analysis on the succeeded measurements.

The program is freeware, so you may use it as you like. If some of you would take a look at it and give me some feedback and tips, I would appreciate it very much.


Erwin Timmerman
Message 1 of 13
No one? Any comment is welcome, even "this program is a complete waste of time". A polite silence is quite scary, as I'm thinking of all the comments you guys try to spare me of 🙂
0 Kudos
Message 2 of 13
You might get more feedback if you posted the source code for your program.
The source code is usually of more interest to programmers.

"Erwin Timmerman" <> wrote in message
> No one? Any comment is welcome, even "this program is a complete waste of
time". A polite silence is quite scary, as I'm thinking of all the comments
you guys try to spare me of 🙂

0 Kudos
Message 3 of 13
I don't think 12,000 lines of code would interest anyone before they've seen the program and liked it. When someone asks "how did you do that" I'd be glad to give an explanation and post the specific part of code. The stat pages have recorded 20-something downloads originating from this post, but apparently not many people like it enough to comment. OTOH this isn't very surprising, as needs differ and this program was written for a specific need (in fact, as a Windows substitute for XMGR on UNIX), which of course is quite different from needs of others 🙂
0 Kudos
Message 4 of 13
For the people who downloaded version 1.8 and actually use it, I've made a small update to 1.8.1.

The updates are:
- By special request: Normalize Y. Multiplies the Y values of a given plot in such a way that the largest value of the whole plot becomes equal to a value you specify. When you draw a "zooming rectangle" before selecting Normalize Y, only the Y values of the data points within the X range of the rectangle will be used to calculate the multiply factor, before the whole plot will be multiplied with this factor.
- The folder history in the "file open" panel is now saved when the program is closed. It used to contain only the folders opened during a particular session, now it contains all folders opened in the past, up to 15 folders.
- A minor bug fix that would ask the user a confirmation twice when he wanted to overwrite a file.
- A minor bug fix that would require a file-to-open in the command line to be a .svf file.

Normally I wouldn't release such a minor update but since someone specially requested the normalize function, I thought it might come in handy for some of you as well. So maybe the updates are not of any use to you, but maybe the normalize function was just what you needed 🙂 Funny how a program grows by user demand. I usually get the question "can it do ...." and my standard reply is "not yet... probably tomorrow!" 🙂

Anyway, when you want to update you can download the 600 kB update right from the home page, and extract the zipped files into the program folder (with subdirectories, the manual pages go into the SVDocs folder).

Good luck, have fun, and thank you.


Erwin Timmerman
0 Kudos
Message 5 of 13

Hi all, there's a new update available for people who want it, version 2.0 has arrived.

Some interesting new functions:

  • The XY value displays (on the top right of the graph) are now continuously updated when the mouse is moved, no need to click on the graph to get a value
  • Drag plot. You can pick up a plot by the mouse and drag it to any place you want. A bit easier than manually giving the numeric values with the shift X and shift Y command.
  • Copy to clipboard. In order to export the data sets to Excel or similar programs, you had to choose View->Table and then ctrl-a, ctrl-c. With "copy to clipboard" you can skip this step.
  • Easier drawing of the zoom rectangle. When you want to draw a rectangle to the edge of the graph, you can go over the edge with the mouse, you don't have to position the mouse exactly on the edge anymore.

  • Many functions now support selecting just a part of a plot by drawing a rectangle before invoking a specific function, like:

  • "Delete data points" deletes (discards or interpolates by choice) all the data points within a drawn rectangle. Handy for deleting single spikes from a plot. For data sets with a lot of spikes it is better to choose the "delete large spikes" command in the "smooth" menu.

  • "Draw new data set" works now with dragging, instead of just clicking. Ctrl-Z deletes the last data point(s) you drew, one at a time.
  • Resample, define a given number of data points and the program spreads them out over your plot. Might be handy when your data points are not x-equidistant.

  • Drag and drop of measure files into Spectrum Viewer
  • The "open special format" settings now include axis names and graph title.

 Downloading can be done the same way as the message above describes. Have fun!

Erwin Timmerman

0 Kudos
Message 6 of 13

Wow, version 2 looks pretty sweet.

I noticed in 1.8, you added support for DDE. Im curious, what made you go for DDE instead of ActiveX?

Bilal Durrani
Message 7 of 13
Hi Erwin,

I must have missed your previous message describing how to download your
plotting tool. Would you kindly repost it?

> &nbsp;Downloading can be done the same way as the message above describes.
Have fun!
> Erwin Timmerman

0 Kudos
Message 8 of 13

Hi CVI 7.0 user, the program can be downloaded from


I chose for DDE for several reasons.

First of all, I knew nothing about ActiveX or DDE. I was (and still am) using CVI 6.0 and I couldn't really find a step by step tutorial about ActiveX. Furthermore I wanted to be compatible with older programs that maybe didn't support ActiveX, and because at first I only needed one command (open file), I thought it might be overkill to use ActiveX for that. I also thought about using TCP/IP, but since I only used it for programs talking to eachother on the same computer, I didn't need it. For safety reasons I didn't implement it... when the program waits for external connections who knows who will be able to connect.

However, if anyone needs TCP/IP connections, it won't be too hard to implement. It would open the possibility to measure on a UNIX computer, and then send the result via TCP/IP to Spectrum Viewer. I don't need that myself though, and I will only put extra effort into it when I know that someone needs it 🙂 For now I know only of a very little number of people who actually use the program. It's been downloaded about 200 times, but downloading a program and actually liking it when evaluating it is not the same of course. Response from users is practically nonexistant (I must say that I myself also never register freeware I like so I can see a reason why this is) so as far as I know only a very small number of people (4) really uses it. That doesn't matter though, since two of them are my collegues, and I'm paid for making their life easier 🙂 If anyone else can benefit in the process it is only a bonus.

Is there BTW an easy way to implement that a program checks for updates itself? How is this usually done? Since I don't have a user base the only way to advise people of updates is this forum, and it feels a bit like spamming to me when I do it. If the program would check itself only the real users would be bothered by the update messages.

0 Kudos
Message 9 of 13

A simple way would be to have some sort of manifest as a part of your application (a text file would do) that gets installed, and perhaps when the app first starts, you could connect to your web server online (probably spawn a thread for this) and check the manifest online and see if there has been a change in the version. This would atleast notify the user that there is a newer version available online. You could do this easily with tcp.
Then you have the option of taking the user to the homepage and updating the app there by downloading the new installer. Or you could have some sort of self updating app. Depending on how high-tech you wanna go. I came across a couple of idea on this link here for a self updating app.

Bilal Durrani
0 Kudos
Message 10 of 13