БлогNot. Chart, примеры в Studio
Chart, примеры в Studio
Компонента Chart (диаграмма) в Visual Studio довольно удобна, хотя для начинающих обычно сложно выбрать из множества её возможностей самые актуальные. К тому же, задокументировано-то всё лишь на MSDN.
Приведу несколько примеров, анализ которых поможет Вам быстро освоить основные приёмы работы с графиками и диаграммами в Visual C++. Все коды проверены в сборке Express 2010.
Пример 1. Добавим на форму компоненту Chart и выведем туда данные Пример 2. Сделаем красивый Chart программно, можно по нажатию новой кнопки на той же форме Пример 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 , будет таким:
Заменить фиксированные пределы и шаг на вводимые из формы — элементарно. Вот что вышло для теста:
04.02.2014, 17:03; рейтинг: 34126
С помощью элемента управления Chart можно легко визуализировать информацию из баз данных. Существуют два основных способа это сделать: использовать обычный ADO.NET или использовать LINQ.
В качестве примера, рассмотрим построение графика по данным из простейшей Базы данных (БД). Эта БД содержит всего одну таблицу MyTable. Её содержимое показано на рисунке ниже.
Данная БД и таблица были созданы специально для этой статьи. Поэтому, не стоит искать в них какой-либо смысл, кроме демонстрации работы с Chart. Как говорится, все совпадения случайны.
Способ с использованием ADO.NET
Для реализации подключения к БД необходимо использовать не визуальный элемент управления DataSet. После создания подключения к БД (создаётся в режиме мастера) поместим на форму не визуальный элемент управления BindingSource. Укажем в его свойстве DataSource DataSet с созданным подключением к БД, а в свойстве DataMembers таблицу с данными (MyTable).
После этого Visual Studio автоматически создаст компонент TableAdapter для получения данных из таблицы.
Теперь, когда всё подготовлено, приступим непосредственно к построению графика. Для этого сперва получим необходимые данные, затем зададим какой столбец будет осью абсцисс и ординат.
Необходимо отметить, что по умолчанию Chart уже содержит один ряд данных (имя по умолчанию Series1).
Пару примеров работы с графиками C# с использованием компонента Chart. Программа позволяет считать файл с координатами X и Y с помощью openFileDialog и построить по ним график.
Для работы с файлами необходимо подключить пространство имен System.IO
Приводится пример кода, который позволяет сохранить некоторый массив чисел в файл с помощью компонента saveFileDialog.
Графики chart c#
Источник: