Меню

Построить график функции c chart

Как передать значения в Chart и построить график

Прошу не судить строго т.к. только осваиваю Visual Studio 2015 с#.
Необходимо построить ряд графиков в Chart (Spline).

Если с осью Х все понятно (это вероятность) и значения я ограничил с запасом в 1.2, при этом (посмотрев обучающие видео) разрешил масштабирование по осям:

то с осью Y все сложнее. Значения для оси Y надо брать из массива (пока определенного вручную):

Как передать эти значения на ось Y?

И второй вопрос наверняка еще более глупый чем первый как последовательно подставить значения из этого массива в формулу:

и передать полученные значения в Chart?

Как построить график функции к нелинейным уравнениям с помощью элемента управления Chart и с использованием делегатов?
У меня задание: Создать приложение позволяющее решать методом Ньютона и методом половинного деления.

Построить график в chart
Добрый день. Как можно построить такой график в chart? Это две функции (син или кос).

Построить график функции в Chart
Нужно создать график для данной функции. Применить элемент Chart. Понятия не имею как построить.

Вопрос решил но самым тупым способом.

Решение

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Chart. Построить график окружности
Здравствуйте! Помогите пожалуйста построить график окружности в C# при помощи готовых диаграмм.

Построить график в image и в chart
И так есть две функции их нужно построить в графики не понимаю куда это прописовать ))

Построить график с Stringgrid в Chart
Ситуация такова. Я записал значения с датчиков, отправил по ардуино через юарт, в делфи все.

Построить график в Chart по координатам из StringGrid
Доброго всем времени суток. У меня возник такой вопрос, каким образом можно построить график в.

Источник

Построение графиков с помощью компоненты Chart

Построение графика (диаграммы) производится по вычисленным значениям координат точек х и y = f(x), которые с помощью метода AddXY передаются в специальный двухмерный массив Series[k] компоненты Сhart (k = 0,1,2. – номер используемого графика).

Компонента Chart строит и размечает оси, рисует координатную сетку, подписывает название осей и самого графика, отображает переданные точки в виде графиков или диаграмм.

Установив компоненту Chart1 на форму, для изменения ее параметров двойным щелчком кнопкой мыши вызываем окно редактирования EditingChat1 (рис. 9.1). Для создания Series1 нажимаем кнопку Add на странице Series.

Читайте также:  Когда построят дорогу в дони

В появившемся после этого окне TeeChart Gallery выбираем пиктограмму с надписью Line (график выводится в виде линий). Если нет необходимости представления графика в трехмерном виде, отключается независимый переключатель 3D. Для изменения названия нажимаем кнопку Title. Название графика вводится на странице Titles.

Данные по оси X автоматически сортируются, поэтому, если необходимо нарисовать, например, окружность, сортировку отключают функцией Order: Chart1->Series[0]->XValues->Order = loNone.

Нажимая различные кнопки меню, познакомьтесь с другими возможностями редактора EditingChat.

Использование класса Сanvas

Для рисования используется класс типа TСanvas, который является не самостоятельной компонентой, а свойством многих компонент, таких как Image, PaintBox, и представляет собой холст (контекст GDI в Windows) с набором инструментов для рисования. Каждая точка холста имеет свои координаты. Начало осей координат располагается в верхнем левом углу холста. Данные по оси Х увеличиваются слева направо, а по оси Y сверху вниз.

Компонента Image находится на странице Additional, а PaintBoxSystem.

Основные свойства класса Canvas:

Pen – перо (определяет параметры линий),

Brush – кисть (определяет фон и заполнение замкнутых фигур),

Font – шрифт (определяет параметры шрифта).

Некоторые методы класса Canvas:

Ellipse(х1,у1, х2,у2) – чертит эллипс в охватывающем прямоугольнике (х1, у1), (х2, у2) и заполняет внутреннее пространство эллипса текущей кистью;

MoveTo(х,y) – перемещает карандаш в положение (х,y);

LineTo(х,y) – чертит линию от текущего положения пера до точки (х,y);

Rectangle(х1,у1, х2,у2) – вычерчивает и заполняет прямоугольник (х1,у1), (х2, у2). Для вычерчивания без заполнения используйте FrameRect или Polyline;

Polygon(const TPoint* Points, const int Points_Size) – вычерчивает многоугольник по точкам, заданным в массиве Роints размера Points_Size. Конечная точка соединяется с начальной и многоугольник заполняется текущей кистью. Для вычерчивания без заполнения используется метод Polyline.

TextOut(х, у, const AnsiString Text)– выводит строку Техt так, чтобы левый верхний угол прямоугольника, охватывающего текст, располагался в точке (х, у).

Пример создания оконного приложения

Написать программу отображения графика выбранной функции с помощью компонент Сhart и Image.

Настройка формы

Читайте также:  Как построить пирс на винтовых сваях

Панель диалога программы с получеными результатами представлена на рис. 9.2.

Текст программы, реализующий поставленную задачу, может иметь следующий вид:

typedef double (*Tfun)(double);

void __fastcall TForm1::FormCreate(TObject *Sender)

void __fastcall TForm1::Button1Click(TObject *Sender)

case 0: f = fun0; break;

case 1: f = fun1; break;

case 2: f = fun2; break;

y_min = y_max = f(a);

if(y_max Series[0]->Clear(); // Очистка графика

for(double x=a; x Series[0]->AddXY(x,f(x));

void __fastcall TForm1::Button3Click(TObject *Sender)

void __fastcall TForm1::Button4Click(TObject *Sender)

int xmax, ymax, xt, yt, y0, x0;

Image1->Canvas->Pen->Color=clBlack; // Установка цвета пера

// Поиск координат правого нижнего угла холста Image

// Закрашивание холста Image текущей белой кистью

// Поиск середины холста

// Вычерчивание координатных линий

Image1->Canvas->Pen->Color=clRed; // Установка цвета пера

Image1->Canvas->Pen->Width=2; // Установка ширины пера

// Поиск шагов по х и у с масштабированием

for(x=a; x Canvas->LineTo(ceil(x0+x/hx),ceil(y0-f(x)/hy));

Источник

Построение графика произвольной функции c#

подскажите библиотеку для построения произвольных графиков функции в C#. т.е передаёшь например f(x)=sin(x) и на какой-нибудь канвас выводит синусоиду.

3 ответа 3

Данный пример позволяет построить график функции, задаваемой любым JS-выражением:

Если перенастроить WebBrowser на новую версию IE через реестр, можно и прямо в нем графики строить, через HTML5 Canvas.

Все-таки здесь два этапа:

Рассчитать координаты точек на графике. Для этого есть mXparser http://mathparser.org/

Построить сам график из этих точек. Здесь миллион вариантов, выбирайте на вкус https://www.nuget.org/packages?q=Tags%3A%22plotting%22

Хоть это и не точный ответ на вопрос по поводу библиотек, т.к. сам тоже не нашел.
Есть один запасной для вас вариант:
Создаете функцию которая принимает x и строку фукнции, вида «x^2+2*x-3»
В строке, символ ‘x’ заменяете на значение переменной x что бы вышло что то типа:

Алгоритмом польской нотации считаете выражение, и возвращаете ответ. Примеры и объяснения польской записи хорошо доступны. Создаете массив для отображения графика. И в своем массиве для каждого элемента вызываете функцию, передавая x на промежутке (xmin;xmax), и сам вид функции как string.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками c# winforms поиск-библиотек или задайте свой вопрос.

Связанные

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2020 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2020.12.14.38165

Источник

Как строится график с помощью элемента управления Chart

Дата добавления: 2015-07-09 ; просмотров: 28755 ; Нарушение авторских прав

Читайте также:  Как построить водоем в частном доме своими руками

Рис 8.1. Окно программы с элементом управления

Построение графика (диаграммы) производится после вычисления таблицы значений функции y=f(x) на интервале [Xmin, Xmax] с заданным шагом. Полученная таблица передается в специальный массив Points объекта Series элемента управления Сhart с помощью метода DataBindXY. Элемент управления Chart осуществляет всю работу по отображению графиков: строит и размечает оси, рисует координатную сетку, подписывает название осей и самого графика, отображает переданную таблицу в виде всевозможных графиков или диаграмм. В элементе управления Сhart можно настроить толщину, стиль и цвет линий, параметры шрифта подписей, шаги разметки координатной сетки и многое другое. В процессе работы программы изменение параметров возможно через обращение к соответствующим свойствам элемента управления Chart. Так, например, свойство AxisX содержит значение максимального предела нижней оси графика и при его изменении во время работы программы автоматически изменяется изображение графика.

Пример написания программы

Задание: составить программу, отображающую графики функций sin(x) и cos(x) на интервале [Xmin, Xmax]. Предусмотреть возможность изменения разметки координатных осей, а также шага построения таблицы.

Прежде всего, следует поместить на форму сам элемент управления Chart. Он располагается в панели элементов в разделе Данные.

Список графиков хранится в свойстве Series, который можно изменить, выбрав соответствующий пункт в окне свойств. Поскольку на одном поле требуется вывести два отдельных графика функций, нужно добавить ещё один элемент. Оба элемента, и существующий и добавленный, нужно соответствующим образом настроить: изменить тип диаграммы ChartType на Spline. Здесь же можно изменить подписи к графикам с абстрактных Series1 и Series2 на sin(x) и cos(x) – за это отвечает свойство Legend. Наконец, с помощью свойства BorderWidth можно сделать линию графика потолще, а затем поменять цвет линии с помощью свойства Color.

Ниже приведён текст обработчика нажатия кнопки «Расчёт!», который выполняет все требуемые настройки и расчёты и отображает графики функций:

private void buttonCalc_Click(object sender,

// Считываем с формы требуемые значения

double Xmin = double.Parse(textBoxXmin.Text);

double Xmax = double.Parse(textBoxXmax.Text);

double Step = double.Parse(textBoxStep.Text);

// Количество точек графика

// Массив значений X – общий для обоих графиков

double[] x = new double[count];

// Два массива Y – по одному для каждого графика

Источник

Adblock
detector