Шпаргалка по ZedGraph
ZedGraph — это очень удобный компонент для рисования графиков под .NET Framework, но, к сожалению, документация к этому контролу довольно скудная. Поэтому здесь я решил сделать что-то вроде шпаргалки или, если угодно, HOWTO по компоненту ZedGraph.
То, что находится дальше на этой странице — это не справка, а просто небольшие примеры, показывающие как использовать какую-нибудь одну из возможностей контрола. Все основные пояснения по использованию той или иной возможности будут написаны в виде комментариев к коду.
Структура всех примеров одинаковая — главное окно, внутри которого располагается экземпляр класса ZedGraphControl. Имя экземпляра класса — zedGraph. В конструкторе окна вызывается метод DrawGraph(), внутри которого и происходит заполнение компонента данными. Поэтому в примерах ниже будут приводиться только функции DrawGraph() и дополнительные функции, которые будут зависеть от примера.
Все примеры объединены в одном solution для Visual Studio 2005 и написаны на языке C#, скачать их можно отсюда.
Эта шпаргалка со временем будет пополняться новыми примерами.
Шпаргалка по ZedGraph. Как включить отображение сетки и изменять ее внешний вид
Все примеры объединены в одном solution для Visual Studio 2005 и написаны на языке C#, скачать их можно отсюда (1.7 МБ).
Проект в примере — Grid
private double f ( double x )
{
if ( x == 0 )
{
return 1 ;
}
return Math . Sin ( x ) / x ;
}
private void DrawGraph ( )
{
GraphPane pane = zedGraph . GraphPane ;
pane . CurveList . Clear ( ) ;
PointPairList list = new PointPairList ( ) ;
double xmin = — 50 ;
double xmax = 50 ;
for ( double x = xmin ; x {
list . Add ( x, f ( x ) ) ;
}
LineItem myCurve = pane . AddCurve ( «Sinc» , list, Color . Blue , SymbolType . None ) ;
// .
// Включаем отображение сетки напротив крупных рисок по оси X
pane . XAxis . MajorGrid . IsVisible = true ;
// Задаем вид пунктирной линии для крупных рисок по оси X:
// Длина штрихов равна 10 пикселям, .
pane . XAxis . MajorGrid . DashOn = 10 ;
// затем 5 пикселей — пропуск
pane . XAxis . MajorGrid . DashOff = 5 ;
// Включаем отображение сетки напротив крупных рисок по оси Y
pane . YAxis . MajorGrid . IsVisible = true ;
// Аналогично задаем вид пунктирной линии для крупных рисок по оси Y
pane . YAxis . MajorGrid . DashOn = 10 ;
pane . YAxis . MajorGrid . DashOff = 5 ;
// Включаем отображение сетки напротив мелких рисок по оси X
pane . YAxis . MinorGrid . IsVisible = true ;
// Задаем вид пунктирной линии для крупных рисок по оси Y:
// Длина штрихов равна одному пикселю, .
pane . YAxis . MinorGrid . DashOn = 1 ;
// затем 2 пикселя — пропуск
pane . YAxis . MinorGrid . DashOff = 2 ;
// Включаем отображение сетки напротив мелких рисок по оси Y
pane . XAxis . MinorGrid . IsVisible = true ;
// Аналогично задаем вид пунктирной линии для крупных рисок по оси Y
pane . XAxis . MinorGrid . DashOn = 1 ;
pane . XAxis . MinorGrid . DashOff = 2 ;
Как подключить библиотеку ZedGraph в VS2010?

Доброго времени!
Собственно вопрос, как подключить библиотеку ZedGraph?
Библиотеку я скачал, Правой кнопкой по Toolbox->Choose Items->Browse-> Выбрал свой ZedGraph.dll
Слева в toolbox’e он появился, справа в References тоже появился. если вынести на рабочую область ZedGrapg object, то появится объект с осями, рисками т.д.
Проблема в том, что когда я пытаюсь компилировать вылетает куча ошибок, естественно я не прописал
using ZedGraph, прописал, но вот после этого тоже не сработало ,я сделал новый проект, проделал тоже самое, чтобы добавить библиотеку, на рабочую область ничего не выносил, просто прописал using ZedGraph, попытался скомпилировать, вылетает ошибка:
Error 1 The type or namespace name ‘ZedGraph’ could not be found (are you missing a using directive or an assembly reference?)
В чем может быть проблема?
Используется c# в VS 2010 года
ZedGraph последней версии на данный момент скачан с офф сайта
Добавлено через 16 минут
Можно закрывать, проблема была в версиях framework, целевая была 4.0, поставил 2.0, удалил конфликтные ссылки, скомпилировал
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как подключить библиотеку mshtml
Как подключить библиотеку mshtml? В проекте необходимо использовать mshtml, но при добавлении.

Как подключить сторонюю библиотеку?
Ребят, есть файл prog.cs, есть готовая библиотека . Dll, как подключить ее в prog.cs? Без.
Как подключить библиотеку 7z.dll?
Как подключить библиотеку 7z.dll. Я скачал архив с сурсами, откопал 7z.dll пытаюьс добавить в.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Как подключить к проекту библиотеку, написанную на C++
Здравствуйте! Есть замечательная библиотека математических функций.
Как подключить библиотеку imgui.net?
Всем привет, наткнулся на днях на библиотеку imgui, решил добавить для С# imgui.net, но каким.
Как подключить к приложению AnyCPU библиотеку x86?
Дано: 1. Есть приложение на C#, собранное под AnyCPU, оно подсасывает библиотеки из определенной.
Как подключить библиотеку, написанную на другом фреймворке
Есть WinForms проект, написаний на 4.0. Есть другой проект (dll) написаная на 3.5. В проекте на 4.
Или воспользуйтесь поиском по форуму:
Как установить ZedGraph

Здравствуйте!
Чтото я никак не пойму, как установить ZedGraph ? и надо ли его вообше устанавливать или нужно просто подключить к проекту? я скачал с оф. сайта исходники.
Заранее всем спасибо!
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Unit1.pas(38) : Нельзя преобразовать тип ZedGraph.GraphPane к ZedGraph.ZedGraphControl
помогите исправить ошибку
Как подключить ZedGraph (то есть как вообще подключать .dll)?
Как подключить ZedGraph(то есть как вообще подключать .dll) ? Я его скачал, в папке вообще-то куча.
Как поставить точку в zedgraph?
ребзя, собественно даны у нас x1,x2 и нужно найти максимальное, а после максимальную точку.
Как подключить библиотеку ZedGraph
Наверное глупый вопрос, но я новенькая в сфере программирования и никак не могу разобраться, мне.
2096 / 1261 / 171
Регистрация: 01.02.2009
Сообщений: 2,842
Насколько помню, когда работал с ним, то просто подключается.
![]()
1802 / 614 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
Спасибо. А как вообще установить новый компонент в VS?
2096 / 1261 / 171
Регистрация: 01.02.2009
Сообщений: 2,842
В ToolBox’e правой кнопкой мыши — Выбираем Choose items. Далее по кнопке Browse и выбираем библиотеку, описывающую наш компонент (ZedGraph.dll)
![]()
1802 / 614 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
Добавил я в проект библиотеку ZedGraph , пишу такой код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using ZedGraph; namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); ZedGraphControl zedGraph = new ZedGraphControl(); zedGraph.Location = new System.Drawing.Point(400, 400); zedGraph.Name = "zedGraph"; zedGraph.Size = new System.Drawing.Size(100, 100); this.Controls.Add(zedGraph); CreateGraph(zedGraph); } private static void CreateGraph(ZedGraphControl zgc) { GraphPane myPane = zgc.GraphPane; // Set the titles and axis labels myPane.Title.Text = "Axis Cross Demo"; myPane.XAxis.Title.Text = "My X Axis"; myPane.YAxis.Title.Text = "My Y Axis"; // Make up some data arrays based on the Sine function double x, y; PointPairList list = new PointPairList(); for (int i = 0; i 37; i++) { x = ((double)i - 18.0) / 5.0; y = x * x + 1.0; list.Add(x, y); } // Generate a red curve with diamond // symbols, and "Porsche" in the legend LineItem myCurve = myPane.AddCurve("Parabola", list, Color.Green, SymbolType.Diamond); // Set the Y axis intersect the X axis at an X value of 0.0 myPane.YAxis.Cross = 0.0; // Turn off the axis frame and all the opposite side tics myPane.Chart.Border.IsVisible = false; myPane.XAxis.MajorTic.IsOpposite = false; myPane.XAxis.MinorTic.IsOpposite = false; myPane.YAxis.MajorTic.IsOpposite = false; myPane.YAxis.MinorTic.IsOpposite = false; // Calculate the Axis Scale Ranges zgc.AxisChange(); zgc.Refresh(); } } }