 |
|
|
 |
|
 |
using the plotter to plot values from a file. If i move the window during plotting, then the update of the plotarea & form halts ?
Also during plotting it seems that updating of other gui controls ex a listbox doesnt seem to work very well.
Any inputs ? thanks.
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
hi.
i'm about to use plotter component in my project which use vb 2008. i tried to convert the source code provided in the demo (which is in C#) to vb.net but still not working. does anyone have converted the source code into vb??
and then, i would like to export/save the graph shown in plotter component into image format. is it possible to to that??
thanks for answering...
Ario...
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
 |
|
 |
First, nice control. Took me a bit to figure out exactly how your supposed to use it but once I got into the demo apps I figured it out.
I am having a problem with the next/previous channel buttons and the shift up/down buttons in the control. In my application the lower half of the > < + - characters are cut off, it appears this way in both the designer and when I run my application.
If I look at your demo application it appears the same way in the designer but when I run your demo app the buttons look correct.
For the life of me I can't figure out what's different. I'm thinking that must have something to do with screen resolution or scaling, any thoughts?
Thanks Matt S
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Thanks for such a good component but i can not add more than 4 channels. Is there any way to do that then please let me know..
Regards Himanshu 9968499516[India]
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
When looking at your demo project, I noticed it goes into infinite loop when you set the height of the graph container to 0.
Regards Rémi
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
I was just wondering if setting the maximum value on the Y axis for the plotter was possible. I am using it like a line graph. If there is an easier way please let me know .
Very Cool dll btw!
|
| Sign In·View Thread·PermaLink | 1.00/5 (2 votes) |
|
|
|
 |
|
 |
try this: below InitializeComponent() put this: plotter1.Channels[0].MaximumValue=......; plotter1.Channels[0].MinimumValue=......;
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Hi, First of all this library is great,one of the best i found on the internet.Can I access the points that cursor is showing in stop mode,by that I mean to get values that cursor shows on graph?
Best regards and keep up the good work......
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Hi
Thanks for lovely little graph library, it's exactly what I've been looking for. I am capturing data from a model aircraft in real-time, and display the data using my own graphic controls, and this plotter adds a nice way to display the history of the values. Although I do save the data to a file, but it's a pain to import it to Excel everytime.
I noticed that if I disable some of the channels, it still cycles through the channels using the arrow controls. I would like it to skip the disabled channels. It would also be nice to assign a certain number of channels to the plotter, that way if I only have two traces, then I don't need to disable the others.
Something else I would like, is to have a second scale on the right, if I display two different ranges of values at one time. It would also be nice to have some kind of legend, or label for each channel trace.
|
| Sign In·View Thread·PermaLink | 2.25/5 (4 votes) |
|
|
|
 |
|
 |
I want to make my graphs excel compatible. I am making my excel sheets dynamic in nature and want to import values to my GUI application. Can someone guide me how can I do that using this graphs?
Mandip Shah Mandip.shah@asu.edu
|
| Sign In·View Thread·PermaLink | 1.00/5 (1 vote) |
|
|
|
 |
|
 |
This system looks really cool... What I was actually looking for is some sort of FREE plotting-system that can be kicked off from my own program, but then runs stand alone. That is, I want to avoid building my own GUI in which I integrate the chart controls. Ideally, I would like to just click a button that calls some sort of PlotLib::OpenPlotWindow command and then simply feed the data to the window.
I found a suitable open-source real-time plotter like that for Java (LiveGraph: http://www.live-graph.org), but so far nothing for .NET.
Any ideas?
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
The first thing I want to mention is that it is a very nice control!
I use your plotter control to monitor some variables of an embedded system. Due to the fact that Microsoft Windows is not a real-time O.S. and the communication bus between the Windows System and the embedded system is not deterministic, I calculate and update the plotrate every send-receive cycles. When I stop the plotter I noticed that the coordinates displayed when hovering over the graph are not calculated correctly. I checked your code and I think it has to do with the fact that your code (method: DrawXYText in Plotter.cs) assumes a fixed plotrate 
The peace of code is a little bit hard to get. When I have more time I will try to fix it. Have you planned any updates?
Thanks!
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Well I already found some time to take a look at the problem and I have a solution:
Update the following code in the function: DrawXYText
........... ...........
int modulo = actualX % plotRate; actualX -= modulo; int pointsOffset = actualX / plotRate;
float y = float.NaN; string coordinate = "";
if (activeCh.Points.ContainsKey (pointsOffset)) { PointF selectedPoint = (PointF) activeCh.Points[pointsOffset]; y = selectedPoint.Y; }
int last_diff = -1; int last_x = 0; float last_y = 0; int current_diff = 0; foreach (PointF value in activeCh.Points.Values) { current_diff = Math.Abs(actualX - (int)value.X); if ((last_diff == -1) || (current_diff == Math.Min(current_diff, last_diff))) { last_diff = current_diff; last_x = (int)value.X; last_y = value.Y; } else { actualX = last_x; y = last_y; break; } } ........... ...........
Maybe it can be more efficient, but it works. The only little thing about this code is that if you point the cursor to a position outside the plotted range, it will show you the last point of the plotted range and not the y = '-' value.
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Thank you for such a nice control.
I have a question about the bar chart. Is it possible to have "stacked bars"? For this I mean a single bar (imagine a vertical bar) that has had different values appended to it, and perhaps each appended value shows as a different color.
I've see this called "stacked bars" on other graph components.
Thanks again.
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
A very nice job .
I ran into a problem with the auto scrolling when plotting several simultaniously updatng Channels. - Channel[0] would plot to the right of the graph, triggering the autoScroll operation. The rest of the channels would plot one plotRate interval to the left.
I fixed this by replacing the comparison from the plotter's TotalElapsedTime to the Channel's TotalElapsedTime (inside the Plotter.Draw method) that is: if (! scrollAdjusted) {
// if (TotalTimeElapsed > rightDisplayLimit) if (channel.TotalTimeElapsed > rightDisplayLimit) {
I must admit, I didn't follow the logic for changing plotRate's etc., so this might not be the correct fix for everyone.
The second problem is somewhat related to the first. You calculate the horizontal tick interval as an integer instead of a float, leading to an accumulating error in drawing the X axis grid lines. This also happens with the Y axis grid lines. The fix is to change GraphDecorators\Gridline.cs as so:
if ((parentGraph.Gridlines & GridStyles.Horizontal) == GridStyles.Horizontal) { graphics.SetClip (parentGraph.GraphArea);
// int gridSize = parentGraph.GraphArea.Height / parentGraph.GraduationsY; float gridSize = (float)parentGraph.GraphArea.Height / (float)parentGraph.GraduationsY;
// for (int i = 0; i < parentGraph.GraphArea.Height; i += gridSize) for (float i = 0; i <= parentGraph.GraphArea.Height; i += gridSize) { graphics.DrawLine (graphAreaPen, parentGraph.GraphArea.Left, parentGraph.GraphArea.Top + i, parentGraph.GraphArea.Right, parentGraph.GraphArea.Top + i); } }
if ((parentGraph.Gridlines & GridStyles.Vertical) == GridStyles.Vertical) {
// int gridSize = parentGraph.GraphArea.Width / parentGraph.GraduationsX; float gridSize = (float)parentGraph.GraphArea.Width / (float)parentGraph.GraduationsX;
// for (int i = 0; i < parentGraph.GraphArea.Width; i += gridSize) for (float i = 0; i <= parentGraph.GraphArea.Width; i += gridSize) { graphics.DrawLine (graphAreaPen, parentGraph.GraphArea.Left + i, parentGraph.GraphArea.Bottom, parentGraph.GraphArea.Left + i, parentGraph.GraphArea.Top); } } The only downside I see is that the right hand edge grid line is now outside the clipping area, so it looks messy. To fix this, we need to do some more work...
I blame Bush...
|
| Sign In·View Thread·PermaLink | 5.00/5 (1 vote) |
|
|
|
 |
|
|
 |
|
|
 |
|
 |
hi anup i´m using your plotter and it works really fine. but one question. I am starting and stopping the plotter after every measurement that i do. how can i avoid the plotter to scroll to the left after evrey cycle? i want to see the last two measurement without scrolling manual.
thanks for your offerts
hubert81
|
| Sign In·View Thread·PermaLink | 5.00/5 (1 vote) |
|
|
|
 |
|
 |
Hi Anup,
I'm using your GraphComponents to plot the output from my micro-controller which outputs data in hex format.. using hyperterminal i get 0000 to 0fff as my output from the microcontroller.
I cast the output from the COM port as float and send it to the channel for display but it doesnt seem to work... I have implemented code to append output from the COM port to a logger.txt and it correctly shows its receiving output so i do not think the problem is with the serialport code.. can you pls enlighten me? thanks in advance.
gerardtay[at]yahoo[dot]com
My code is as of below:
private void plotterTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { byte[] buffer = null; int offset = 0; int count = 2; //plotter1.Channels[0].CurrentValue = (float)(5 * r.NextDouble()); plotter1.Channels[0].CurrentValue = (float) (serialPort1.Read(buffer,offset,count)); if ( plotter1.Channels[0].Enabled) { plotter1.UpdateDisplay(); } }
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Try To use this: define a int update var; use this for collect data: private void SerialPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { //insert a code to assign Serialport.ReadByte() to a var this.invoke(new EventHandler(DisplayText)); } to show the data: private void DisplayText(object sender,EventArgs e) { plotter1.Channels[0].CurrentValue=(float) (your result data); update++; if (update==1) { plotter1.UpdateDisplay(); update=0; }
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
|
 |
|
 |
hi, the dll is called GraphComponents.dll. It is contained as a project (GraphComponents) in the solution GraphComponents.sln. The other projects in this solution are all applications.
Regards Anup
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Hi, I'm using Visual Studio 2005 and i keep getting an error msg when i try to convert the solution.. any idea why? I wish to import tis library into a VB project.. is it possible?
Conversion Report - GraphComponents Time of Conversion: Monday, January 22, 2007 22:53 PM
Solution: GraphComponents Filename Status Errors Warnings GraphComponents.sln Converted 0 0 Conversion Issues - GraphComponents.sln: Solution converted successfully 1 file Converted: 1 Not converted 0 0 0
Project: BarGraphWalkThrough Filename Status Errors Warnings BarGraphWalkThrough\BarGraphWalkThrough.csproj Not Converted 2 0 Conversion Issues - BarGraphWalkThrough\BarGraphWalkThrough.csproj: Project file is not writable: C:\Documents and Settings\u0307692\Desktop\GraphComponents_src\GraphComponents_src\BarGraphWalkThrough\BarGraphWalkThrough.csproj Unable to save converted project file. 1 file Converted: 0 Not converted 1 2 0
Project: GraphComponents Filename Status Errors Warnings GraphComponents.csproj Not Converted 2 0 Conversion Issues - GraphComponents.csproj: Project file is not writable: C:\Documents and Settings\u0307692\Desktop\GraphComponents_src\GraphComponents_src\GraphComponents.csproj Unable to save converted project file. 1 file Converted: 0 Not converted 1 2 0
Project: GraphUsageDemo Filename Status Errors Warnings GraphUsageDemo\GraphUsageDemo.csproj Not Converted 2 0 Conversion Issues - GraphUsageDemo\GraphUsageDemo.csproj: Project file is not writable: C:\Documents and Settings\u0307692\Desktop\GraphComponents_src\GraphComponents_src\GraphUsageDemo\GraphUsageDemo.csproj Unable to save converted project file. 1 file Converted: 0 Not converted 1 2 0
Project: PlotterWalkThrough Filename Status Errors Warnings PlotterWalkThrough\PlotterWalkThrough.csproj Not Converted 2 0 Conversion Issues - PlotterWalkThrough\PlotterWalkThrough.csproj: Project file is not writable: C:\Documents and Settings\u0307692\Desktop\GraphComponents_src\GraphComponents_src\PlotterWalkThrough\PlotterWalkThrough.csproj Unable to save converted project file. 1 file Converted: 0 Not converted 1 2 0
Project: StackedBarGraphWalkThrough Filename Status Errors Warnings StackedBarGraphWalkThrough\StackedBarGraphWalkThrough.csproj Not Converted 2 0 Conversion Issues - StackedBarGraphWalkThrough\StackedBarGraphWalkThrough.csproj: Project file is not writable: C:\Documents and Settings\u0307692\Desktop\GraphComponents_src\GraphComponents_src\StackedBarGraphWalkThrough\StackedBarGraphWalkThrough.csproj Unable to save converted project file. 1 file Converted: 0 Not converted 1 2 0
Conversion Settings Solution File: C:\Documents and Settings\u0307692\Desktop\GraphComponents_src\GraphComponents_src\GraphComponents.sln
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |