Построение графиков
Добрый день.
В этой будет описано как воспользоваться библиотекой для графиков. На данный момент это наиболее простой способ впихнуть в свою программу график. Вы можете воспользоваться моей библиотекой и имортировать ее в проект. Я покажу как ей пользоваться.
Сначала, создайте новый проект и когда вам понадобится график, то сделаейте следующие действия:
1) Добавляем новое расширение (рис. 1, рис. 2)
2)Делаем перестроение проекта (ри. 3)
4)Добавляем новый контрол (рис. 4, рис. 5)
5)Настраиваем форму (рис. 6)
Теперь настроим програмную часть формы:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Drawing2D; using System.Text; using System.Windows.Forms; using Chart2DLib; //Подключаем библиотеку namespace Законы_распределения { public partial class frmGraph : Form { private Распределения.SwitchOn sOn; private DataSeries ds; // для коллекции графиков public frmGraph(Распределения.SwitchOn sOn) { InitializeComponent(); this.sOn = sOn; //Настойи chart2D1.Dock = DockStyle.Fill; chart2D1.C2ChartArea.ChartBackColor = Color.White; ds = new DataSeries(); chart2D1.C2Legend.IsLegendVisible = true; //Запускаем процедуру AddData(); } private void AddData() { //Все эти настроки можно сделать через визуальный редактор //Visual Studio. Необходимо только данные о точках // Програмно присваиваем свойства для графика chart2D1.C2XAxis.XLimMin = 0f; chart2D1.C2XAxis.XLimMax = (float)sOn._enVal._Ntb; chart2D1.C2YAxis.YLimMin = 0f; chart2D1.C2YAxis.YLimMax = sOn._ouVal._maxfFR; chart2D1.C2XAxis.XTick = 1.0f; chart2D1.C2YAxis.YTick = chart2D1.C2YAxis.YLimMax / (float)sOn._enVal._Ntb; chart2D1.C2Label.XLabel = "This is X axis"; chart2D1.C2Label.YLabel = "This is Y axis"; chart2D1.C2Title.Title = "Построение графиков"; chart2D1.C2DataCollection.DataSeriesList.Clear(); // Добавляем точки графиков первой линии ds = new DataSeries(); ds.LineStyle.LineColor = Color.Red; ds.LineStyle.Thickness = 2f; ds.LineStyle.Pattern = DashStyle.Dash; ds.LineStyle.PlotMethod = LineStyle.PlotLinesMethodEnum.Lines; ds.SeriesName = "П"; ds.SymbolStyle.SymbolType = SymbolStyle.SymbolTypeEnum.Diamond; ds.SymbolStyle.BorderColor = Color.Red; ds.SymbolStyle.FillColor = Color.Yellow; ds.SymbolStyle.BorderThickness = 1f; for (int i = 0; i < sOn._enVal._Ntb; i++) { ds.AddPoint(new PointF((float)i+1f, (float)sOn._ouVal._arTable[i, 4])); } chart2D1.C2DataCollection.Add(ds); // Добавляем точки графиков второй линии ds = new DataSeries(); ds.LineStyle.LineColor = Color.Blue; ds.LineStyle.Thickness = 1f; ds.LineStyle.Pattern = DashStyle.Solid; ds.LineStyle.PlotMethod = LineStyle.PlotLinesMethodEnum.Splines; ds.SeriesName = "Т"; ds.SymbolStyle.SymbolType = SymbolStyle.SymbolTypeEnum.Triangle; ds.SymbolStyle.BorderColor = Color.Blue; for (int i = 0; i < 7; i++) { ds.AddPoint(new PointF((float)i + 1f, (float)sOn._ouVal._arTable[i, 5])); } chart2D1.C2DataCollection.Add(ds); } } }
И в конечном итоге вид графика будет имет следующий вид (рис. 7):