Как построить график в c visual studio
Перейти к содержимому

Как построить график в c visual studio

  • автор:

Создание графиков в WinForms C#

Создание графиков в WinForms C#

Доброго времени суток! В данной статье мы рассмотрим, как можно создавать графики в WinForms C#. В качестве платформы примера нужно взять .Net Framework 4.8. Далее в ссылки проекта необходимо добавить ссылку на сборку System.Windows.Forms.DataVisualization. Для этого нужно в обозревателе решений нажать правой мыши на элемент меню Ссылки и далее Добавить ссылку. В открывшемся окне необходимо найти сборку и выделить ее галочкой. В панели элементов должен появиться новый элемент — Chart. Обратите внимание, что проект должен быть для версии .Net Framework 4.*. Теперь рассмотрим пример кода:

using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;

namespace ChartsWinForms
<
public partial class MainForm : Form
<
public MainForm()
<
InitializeComponent();

// Установим палитру
chart.Palette = ChartColorPalette.SeaGreen;

// Заголовок графика
chart.Titles.Add("Посетители");

// Добавляем последовательность
for (int i = 0; i < daysOfWeek.Length; i++)
<
Series series = chart.Series.Add(daysOfWeek[i]);

// Добавляем точку
series.Points.Add(numberOfVisitors[i]);
>

Таким образом, вот так просто можно создавать графики в WinForms C#.

Как построить график в c visual studio

БлогNot. Chart, примеры в Studio

Chart, примеры в Studio

Компонента Chart (диаграмма) в Visual Studio довольно удобна, хотя для начинающих обычно сложно выбрать из множества её возможностей самые актуальные. К тому же, задокументировано-то всё лишь на MSDN.

Приведу несколько примеров, анализ которых поможет Вам быстро освоить основные приёмы работы с графиками и диаграммами в Visual C++. Все коды проверены в сборке Express 2010.

Пример 1. Добавим на форму компоненту Chart и выведем туда данные
Пример 2. Сделаем красивый Chart программно, можно по нажатию новой кнопки на той же форме

Создаем программно красивый Chart в проекте C++ Windows Forms
Создаем программно красивый Chart в проекте C++ Windows Forms

Пример 3. Вытащим данные из Chart в TextBox
Пример 4. Сделаем парсер выражений на основе чужого класса — это можно применить для создания полноценного «графопостроителя»

Добавим какой-нибудь не очень сложный парсер, например, класс parser.cpp от Chaos Master.

Кинем файлы parser.cpp и parser.h в папку с кодом (Имя_проекта/Имя_проекта, где находится Form1.h ). В меню скажем Проект — Существующий элемент и добавим файл .cpp (он д.б. в «Файлы исходного кода» Обозревателя решений)

Код выбранного нами парсера старый, так что нам придётся кое-что переделывать, например, строки char * в String ^ и обратно.

Добавим на форму компоненты textBox1 и label1 , напишем демо-код для применения парсера (вызывается по нажатию кнопки):

Возможно, понадобится изменить какие-то ещё мелочи, например, я в файле parser.cpp раскомментарил строку

и изменил в коде exp(1) на exp(1.) — иначе не компилировалось в Studio.

Также ясно, что в начале файла form1.h добавлена строка

Теперь в поле ввода можно писать любые допустимые парсером выражения с переменной x , например, cos(x)+1 , текущее значение переменной x из программы подставится в выражение и его результат динамически подсчитается.

На основе показанных кодов легко сделать, например, программу построения графиков с интерпретацией введённой пользователем функции. Скажем, если выражение для функции с аргументом, обозначенным x , вводится в текстовое поле textBox1 , код построения графика функции в пределах от 0 до 3.14 с шагом, равным 0.1 , будет таким:

P.S. В более новой Studio 2019 пришлось сделать ^f1 вместо f1 и, соответственно, везде f1-> вместо f1.

Заменить фиксированные пределы и шаг на вводимые из формы — элементарно. Вот что вышло для теста:

Пример построения графика на основе парсера функций
Пример построения графика на основе парсера функций

Пример 5. Применение разрывов

На форму проекта помещена chart1 со свойством Dock = Fill , построение происходит по загрузке формы.

разрывы по оси y на графике
разрывы по оси y на графике

Как нарисовать график функции?

Как нарисовать график функции y=actg(bx+c) относительно трех переменных в VS ?

Вот тут есть пример. Сам пример я вставил ниже. Остается лишь понять и сделать под определенную функцию.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.7.26.43545

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как построить график в c visual studio

Microsoft’s Chart control is one of the easiest ways to get started displaying data in .NET Framework WinForms applications since it is natively available and automatically appears in the Windows Forms Toolbox in Visual Studio. To get started just drag a Chart from the toolbox and drop it onto your form.

Disadvantages

  • It is not mouse-interactive
  • It only supports Windows Forms
  • It is only available on .NET Framework
  • It is no longer actively developed

Quickstart

Sample Data

This code generates random data we can practice plotting

Bar Graph (Column Chart)

Microsoft calls a horizontal bar graph a “bar chart”, while a bar graph with vertical bars is called a “column chart”. This program can be made with the following code.

Scatter Plot (Line Chart)

The look of a scatter plot can be achieved by binding X and Y data.

Line Plot (Fast Line Chart)

The FastLine chart is optimized for speed. On my system I can comfortably display 100,000 points in real time. When I tried to display 1 million points interaction became very sluggish.

�� What makes FastLine fast? According to Microsoft, “The FastLine chart type is a variation of the Line chart that significantly reduces the drawing time of a series that contains a very large number of data points. Use this chart in situations where very large data sets are used and rendering speed is critical. Some features are omitted (control of point level visual attributes, markers, data point labels, and shadows) to improve performance.”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *