Author |
Topic |
|
gstroud
6 Posts |
Posted - 25 May 2007 : 10:48:32
|
I've created a RT Graph that plots 20 eeg signals (very similar to the polygraph example)and it seems to be working ok except for a couple of issues.
1. I noticed that I have a large area of space at the top part of the chart unlike the polygraph example, and I can't figure out why my scroll frames are lower on the chart.
2. Is there a way to have the graph instead of scroll once it reaches the right edge, it instead redraws from the begining (clearing the data and setting new time x axis values?
3. I want to display 200 points per second with the user setting the length of display (say 5 seconds of display). Would I be on the right track to first load all of my data into the process variable and assign each data point a incremented timestamp of 1/200 of a second, then allow the user to play the eeg recording?
4. I noticed that my graph starts to plot about a third of the way into the plot area instead of the beginning. When I play the recording what do I need to do to make sure it starts at the beginning of the x axis?
Thanks in advanced
Greg
Greg Stroud |
|
quinncurtis
1586 Posts |
Posted - 25 May 2007 : 11:07:56
|
1. The plotting area of each plot is positioned where you place it. The plotting area is placed using the SetGraphBorderDiagonal method. You need to study that method and its use in postioning plots in all of the other example programs.
2. We don't understand the quesiton. Either re-word or explain in more detail. You may find it easier to use a simple example program, such as ScrollApplication1, to exaplain why it doesn't scroll the way you want.
3. We have no idea of what is "right" for your application. You can update the process variables incrementally and display the data as it is coming in, or you can load up the process variable as you describe with all of the data and scroll though it using a scroll bar.
4. If the plot starts in the middle of the graph, either you defined the starting point of the x-dimension of the coordinate system wrong (to early), for the range of your actual data values; or you are time stamping the data wrong since it does not start with the starting value of the x-axis. Each data point is always plotted at the proper (x,y) position in the coordinate system you defined.
|
|
|
gstroud
6 Posts |
Posted - 28 May 2007 : 09:01:09
|
Thanks for your response I will look closer at the SetGraphBorderDiagonal parameters.
Sorry for the confusion on number 2.
I'm displaying to the user eeg recordings, using your tools, but the way this type of information is displayed differs from the way the scrollable control works. Normally once the data has been finished plotting for the viewable area it starts plotting from the beginning (x,y) point again with of course the x axis displaying the new times. So if you have 5 seconds of viewable data, once 5 seconds of data has been displayed, the graph would display in the x axis the next 5 seconds in time and start plotting that data. Its like scrolling off all the displayable data once we have 5 seconds of it displayed.
Did this make any more sense?
Thanks
Greg
Thanks
Greg
Greg Stroud |
|
|
quinncurtis
1586 Posts |
Posted - 28 May 2007 : 09:28:43
|
The RTScrollFrame property ScrollRescaleMargin controls the smoothness of the scrolling. For what you describe, you don't want any scrolling. So you would uses an ScrollRescaleMargin margin of 1.0. For a ScrollRescaleMargin value of 1.0, when the scroll frame rescales the graph, it advances the x-axis by an amount equal to the current width of the coordinate system. Adjust the value of the ScrollRescaleMargin between the range 0.0 and 1.0 in the example programs and observe the results.
Unlike some ekg displays, the older data for the previous time period will not stay on the screen to the right of the new data being plotted. Each time a rescale is triggered, old data will fall off the graph and only new data will be visible.
|
|
|
|
Topic |
|
|
|