Шпаргалка по ZedGraph. Как нарисовать график в виде отдельных не связанных точек (scatter graph)
Все примеры объединены в одном solution для Visual Studio 2005 и написаны на языке C#, скачать их можно отсюда (1.7 МБ).
Проект в примере - Scatter
private void DrawGraph ()
{
// Получим панель для рисования
GraphPane pane = zedGraph.GraphPane;
// Очистим список кривых на тот случай, если до этого сигналы уже были нарисованы
pane.CurveList.Clear ();
// Создадим список точек
PointPairList list = new PointPairList ();
// Интервал, в котором будут лежать точки
int xmin = -100;
int xmax = 100;
int ymin = -100;
int ymax = 100;
int pointsCount = 50;
Random rnd = new Random ();
// Заполняем список точек
for (int i = 0; i < pointsCount; i++ )
{
// Случайным образом сгенерим точку
int x = rnd.Next (xmin, xmax);
int y = rnd.Next (ymin, ymax);
list.Add (x, y);
}
// !!!
// Создадим кривую с названием "Scatter".
// Обводка ромбиков будут рисоваться голубым цветом (Color.Blue),
// Опорные точки - ромбики (SymbolType.Diamond)
LineItem myCurve = pane.AddCurve ("Scatter", list, Color.Blue, SymbolType.Diamond);
// !!!
// У кривой линия будет невидимой
myCurve.Line.IsVisible = false;
// !!!
// Цвет заполнения отметок (ромбиков) - голубой
myCurve.Symbol.Fill.Color = Color.Blue;
// !!!
// Тип заполнения - сплошная заливка
myCurve.Symbol.Fill.Type = FillType.Solid;
// !!!
// Размер ромбиков
myCurve.Symbol.Size = 7;
// Устанавливаем интересующий нас интервал по оси X
pane.XAxis.Scale.Min = xmin;
pane.XAxis.Scale.Max = xmax;
// Устанавливаем интересующий нас интервал по оси Y
pane.YAxis.Scale.Min = ymin;
pane.YAxis.Scale.Max = ymax;
// Вызываем метод AxisChange (), чтобы обновить данные об осях.
// В противном случае на рисунке будет показана только часть графика,
// которая умещается в интервалы по осям, установленные по умолчанию
zedGraph.AxisChange ();
// Обновляем график
zedGraph.Invalidate ();
}
{
// Получим панель для рисования
GraphPane pane = zedGraph.GraphPane;
// Очистим список кривых на тот случай, если до этого сигналы уже были нарисованы
pane.CurveList.Clear ();
// Создадим список точек
PointPairList list = new PointPairList ();
// Интервал, в котором будут лежать точки
int xmin = -100;
int xmax = 100;
int ymin = -100;
int ymax = 100;
int pointsCount = 50;
Random rnd = new Random ();
// Заполняем список точек
for (int i = 0; i < pointsCount; i++ )
{
// Случайным образом сгенерим точку
int x = rnd.Next (xmin, xmax);
int y = rnd.Next (ymin, ymax);
list.Add (x, y);
}
// !!!
// Создадим кривую с названием "Scatter".
// Обводка ромбиков будут рисоваться голубым цветом (Color.Blue),
// Опорные точки - ромбики (SymbolType.Diamond)
LineItem myCurve = pane.AddCurve ("Scatter", list, Color.Blue, SymbolType.Diamond);
// !!!
// У кривой линия будет невидимой
myCurve.Line.IsVisible = false;
// !!!
// Цвет заполнения отметок (ромбиков) - голубой
myCurve.Symbol.Fill.Color = Color.Blue;
// !!!
// Тип заполнения - сплошная заливка
myCurve.Symbol.Fill.Type = FillType.Solid;
// !!!
// Размер ромбиков
myCurve.Symbol.Size = 7;
// Устанавливаем интересующий нас интервал по оси X
pane.XAxis.Scale.Min = xmin;
pane.XAxis.Scale.Max = xmax;
// Устанавливаем интересующий нас интервал по оси Y
pane.YAxis.Scale.Min = ymin;
pane.YAxis.Scale.Max = ymax;
// Вызываем метод AxisChange (), чтобы обновить данные об осях.
// В противном случае на рисунке будет показана только часть графика,
// которая умещается в интервалы по осям, установленные по умолчанию
zedGraph.AxisChange ();
// Обновляем график
zedGraph.Invalidate ();
}
Вернуться к остальным примерам
Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.