Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/55: Рейтинг темы: голосов - 55, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.03.2019
Сообщений: 5

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

02.03.2019, 23:21. Показов 10741. Ответов 3
Метки нет (Все метки)

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

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

C#
1
2
3
4
5
            chart1.ChartAreas[0].AxisX.ScaleView.Zoom(0, 1.2);
            chart1.ChartAreas[0].CursorX.IsUserEnabled = true;
            chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
            chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
            chart1.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true;
то с осью Y все сложнее. Значения для оси Y надо брать из массива (пока определенного вручную):

C#
1
            double [] mas = { 0, 25, 50, 75, 100, 125, 150, 170, 200, 250 };
Как передать эти значения на ось Y?

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

C#
1
                p21 = 1-Math.Pow(Math.E, (-k31*k41*mas) / (t31 * t11));
где mas - это значения из массива

и передать полученные значения в Chart?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.03.2019, 23:21
Ответы с готовыми решениями:

Chart как построить график правильно?
Необходимо построить график. По оси Y - числовое значение, по оси Х - дата и время. Но время чаще, чем раз в секунду. Т.е. данные такие,...

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

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

3
0 / 0 / 0
Регистрация: 02.03.2019
Сообщений: 5
03.03.2019, 12:36  [ТС]
Вопрос решил но самым тупым способом.

C#
1
2
3
4
5
6
7
8
9
10
                            p21 = 1 - Math.Pow(Math.E, (-k31 * k41 * mas[0]) / (t31 + t11));
                    double p211 = 1 - Math.Pow(Math.E, (-k31 * k41 * mas[1]) / (t31 + t11));
                    double p212 = 1 - Math.Pow(Math.E, (-k31 * k41 * mas[2]) / (t31 + t11));
                    double p213 = 1 - Math.Pow(Math.E, (-k31 * k41 * mas[3]) / (t31 + t11));
                    double p214 = 1 - Math.Pow(Math.E, (-k31 * k41 * mas[4]) / (t31 + t11));
                    double p215 = 1 - Math.Pow(Math.E, (-k31 * k41 * mas[5]) / (t31 + t11));
                    double p216 = 1 - Math.Pow(Math.E, (-k31 * k41 * mas[6]) / (t31 + t11));
                    double p217 = 1 - Math.Pow(Math.E, (-k31 * k41 * mas[7]) / (t31 + t11));
                    double p218 = 1 - Math.Pow(Math.E, (-k31 * k41 * mas[8]) / (t31 + t11));
                    double p219 = 1 - Math.Pow(Math.E, (-k31 * k41 * mas[9]) / (t31 + t11));

C#
1
2
3
4
5
6
7
8
9
10
            chart1.Series["p21"].Points.AddXY(mas[0], p21);
            chart1.Series["p21"].Points.AddXY(mas[1], p211);
            chart1.Series["p21"].Points.AddXY(mas[2], p212);
            chart1.Series["p21"].Points.AddXY(mas[3], p213);
            chart1.Series["p21"].Points.AddXY(mas[4], p214);
            chart1.Series["p21"].Points.AddXY(mas[5], p215);
            chart1.Series["p21"].Points.AddXY(mas[6], p216);
            chart1.Series["p21"].Points.AddXY(mas[7], p217);
            chart1.Series["p21"].Points.AddXY(mas[8], p218);
            chart1.Series["p21"].Points.AddXY(mas[9], p219);
По итогу график строится, но есть куча ненужных переменных. Как загнать это в цикл? т.е. что бы изменялось только значение подставляемое из массива
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
03.03.2019, 13:24
Лучший ответ Сообщение было отмечено bedpycc как решение

Решение

Цитата Сообщение от bedpycc Посмотреть сообщение
Как загнать это в цикл?
По идее так:
C#
1
2
3
4
5
for (int i = 0; i < mas.Length; i++)
{
    double p = 1 - Math.Pow(Math.E, (-k31 * k41 * mas[i]) / (t31 + t11));
    chart1.Series["p21"].Points.AddXY(mas[i], p);
}
1
0 / 0 / 0
Регистрация: 02.03.2019
Сообщений: 5
03.03.2019, 15:03  [ТС]
Спасибо. Все работает и строится как надо.
Правда почему то от -20 начинается отсчет. Но думаю это вопрос настроек

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.03.2019, 15:03
Помогаю со студенческими работами здесь

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

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

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

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

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru