Queue-Comments
wers 22.02.2010 - 01:06
а как ?
А как интересно сделать что бы с данными двигалась и ось X.
Jenyay 22.02.2010 - 09:32
Нужно менять еще и начальную координату по X - curr_x.
кот 28.04.2010 - 14:08
как сделать
подскажите, пожалуйста, как сделать, чтобы по оси Х был отрезок от 0 до 24, при этом график ресуется с начала координат и до 24. т.е. ось Х не двигается, а двигается только сам график к 24.. ?
Jenyay 28.04.2010 - 14:24
кот, если честно, не понял, Вы имеете в виду.
кот 28.04.2010 - 14:32
по оси Х временная шкала. нужно, чтобы за каждую секунду отрисовывалась новая часть графика. в приведенном выше коде, когда значения по Х переваливают за 30, то график сдвигается влево (часть графика пропадает), а мне нужно на протяжении всех 24 часов следить за графиком.
Jenyay 28.04.2010 - 15:27
Тогда самое простое - завести массив, куда будут добавляться данные, а по мере поступления новых данных его дополнять, при этом выводить все точки.
sasha_g1981 01.10.2010 - 12:06
using System; using System.Drawing; using System.Windows.Forms; using ZedGraph; namespace zed_graf_test { public partial class Form1 : Form { int tickStart = 0; GraphPane myPane; PointPairList list; LineItem curve; // количество точек на графике 1600 private int numberPointsInChart=1600; // удалять точки с графика по 1 private int deletePoints=1; bool IsLeftButtonDown = false; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { myPane = zedGraphControl1.GraphPane; myPane.Title.Text = ""; myPane.XAxis.Title.Text = ""; myPane.YAxis.Title.Text = ""; myPane.XAxis.Scale.MaxAuto = true; myPane.XAxis.Scale.MinAuto = true; // myPane.XAxis.Scale.MinorStep = 1; // myPane.XAxis.Scale.MajorStep = 5; myPane.YAxis.Scale.Min = -5; myPane.YAxis.Scale.Max = 5; //myPane.YAxis.Scale.MaxAuto = true; //myPane.YAxis.Scale.MinAuto = true; zedGraphControl1.IsEnableHPan = false; zedGraphControl1.IsEnableHZoom = false; zedGraphControl1.IsEnableVPan = false; zedGraphControl1.IsEnableVZoom = true; list = new PointPairList(); curve = myPane.AddCurve("(time, 8*Math.Sin(Math.PI * time)n"+ "-4*Math.Sin(-Math.PI * time) * Math.Sin(64.0* Math.PI * time ))", list, Color.Blue, SymbolType.None); zedGraphControl1.AxisChange(); timer1.Interval = 10; timer1.Enabled = true; timer1.Start(); tickStart = Environment.TickCount; } private void timer1_Tick(object sender, EventArgs e) { double time = (Environment.TickCount - tickStart) / 10000.0; list.Add(time, 8*Math.Sin(1*Math.PI * time) -4*Math.Sin(-Math.PI * time) * Math.Sin(64.0* Math.PI * time )); Scale xScale = zedGraphControl1.GraphPane.XAxis.Scale; xScale.Max = curve.Points[list.Count - 1].X; while (list.Count > numberPointsInChart) { while (list.Count > (numberPointsInChart - deletePoints)) { list.RemoveAt(0); } xScale.Min = curve.Points[0].X; } zedGraphControl1.AxisChange(); if(!IsLeftButtonDown) zedGraphControl1.Refresh(); } private bool zedGraphControl1_MouseDownEvent(ZedGraphControl sender, MouseEventArgs e) { if (e.Button==MouseButtons.Left) IsLeftButtonDown = true; return default(bool); } private bool zedGraphControl1_MouseUpEvent(ZedGraphControl sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) IsLeftButtonDown = false; return default(bool); } } }
qu_dot 25.05.2011 - 12:07
с временем по X
Как сделать этот изменяющийся график чтобы по X откладывалось системное время в формате часы.минуты.секунды ?
KokosSPb 19.03.2012 - 09:25
Как выводить постоянно обновляемые данные
Jenyay 28.04.2010 - 15:27
Тогда самое простое - завести массив, куда будут добавляться данные, а по мере поступления новых данных его дополнять, при этом выводить все точки.
да, но как при этом постоянно смещать график правее? я пишу на С++, не получается ввести в отрисовке myPane, она для Load_Graw прописана, для создания и всё...
Андрей 03.08.2012 - 17:35
Прокрутка тренда
Как-нибудь можно сделать ось X c прокруткой. У меня временной график, скажем за сутки. Я хочу сделать, чтобы в окне был график за час (с выбором интервала). Двигая прокруткой - двигается график и выбираешь нужный интервал. Можно так сделать?
Varro 19.11.2012 - 13:40
Отключить автопрокрутку
Подскажите, а можно ли как-то отключить автоматическую прокрутку? Я сделал видимым горизонтальный скролл-бар и немного изменил масштаб, но при постоянно обновляемых данных скролл-бар автоматически прокручивается к концу, а хотелось бы сделать возможность просматривать данные, которые сейчас не попадают в видимую часть графика.
Snow 30.11.2012 - 11:32
AxisChange() - Out of memory exception
Выдает такую вот ошибку,не представляю в чем может быть проблема
Что посоветуете?
20.09.2014 - 21:54
Приём данных из файла
Пробовал написать свою простенькую программу через DrawLine() и Refresh + Timer, но максимум это первый фрэйм, далее у меня не происходит смещения начала координат. Решил, что проще будет остановиться на Zed библиотеке, но как-то не пошло. В моей собственной программе график строится по одномерному массиву точек y. Но убираю изначально заданные в вышеприведенном примере случайные точки, пробую прикрутить своё и ничего не строится - возможно, накосячил с событием (построение по щелчку кнопки)
Олег 06.12.2016 - 02:32
Как скролбар сделать в ZedGraph
Не получается никак сделать скролбар. Хочу чтобы прокручивать график можно было. А как скрол добавить ?