Построение графиков на основе данных из таблицы базы данных с помощью элемента управления Chart

С помощью элемента управления Chart можно легко визуализировать информацию из баз данных. Существуют два основных способа это сделать: использовать обычный ADO.NET или использовать LINQ.

В качестве примера, рассмотрим построение графика по данным из простейшей Базы данных (БД). Эта БД содержит всего одну таблицу MyTable. Её содержимое показано на рисунке ниже.

Данная БД и таблица были созданы специально для этой статьи. Поэтому, не стоит искать в них какой-либо смысл, кроме демонстрации работы с Chart. Как говорится, все совпадения случайны.

Способ с использованием ADO.NET

Для реализации подключения к БД необходимо использовать не визуальный элемент управления DataSet. После создания подключения к БД (создаётся в режиме мастера) поместим на форму не визуальный элемент управления BindingSource. Укажем в его свойстве DataSource DataSet с созданным подключением к БД, а в свойстве DataMembers таблицу с данными (MyTable).

После этого Visual Studio автоматически создаст компонент TableAdapter для получения данных из таблицы.

Теперь, когда всё подготовлено, приступим непосредственно к построению графика. Для этого сперва получим необходимые данные, затем зададим какой столбец будет осью абсцисс и ординат.

Необходимо отметить, что по умолчанию Chart уже содержит один ряд данных (имя по умолчанию Series1).

После этого, собственно, строим график.

Способ с использованием LINQ

То же самое можно сделать и с применением LINQ. В качестве примера используем туже БД, но экспортированную в MS SQL Server.

После создания классов LINQ to SQL для этой БД выполним инициализацию и напишем запрос для получения данных.

После этого в цикле foreach заполняем ряд данных.

Далее строим график.

Результат построения графиков первым и вторым способом одинаковый.

С помощью описанных способов можно визуализировать практически любые данные.

3 комментария

  1. Здравствуйте. А как сделать чтобы в графике отображалась еще дата по оси Х и еще какой то столбец. например у меня таблица доходов и расходов. вот мне нужно чтобы по оси Х отображались также столбец с доходами и столбец с датой?

    1. Самый простой способ решить подобную задачу — по осям координат откладывать дату и сумму, а доход и расход отображать двумя рядами данных. Стандартный Chart такое вполне может. Получится, как говорится, «дёшево и сердито». Для построения нестандартных графиков (с двумя осями по X или Y и т.д.) нужно искать сторонние компоненты или писать собственные.

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

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