График TChart
график в TChart
Привет всем)))) посмотрите правильно написан код для графика и еще как можно записать чтобы при.
График в TChart
как сделать в TChart (конечно использую два: 1-строит точки, 2-функцию через эти точки), чтобы.
Построить график в TChart
Hellp me
TChart: нарисовать график
Помогите .пожалуйста, есть два столбца значений . Как нарисовать график? Я хочу добиться, чтобы.
Сообщение от Роза
Вы пытаетесь присвоить переменной целого типа integer значение с плавающей точкой типа real (for x:=a).
Кстати, если попытаетесь просто заменить у "х" тип на real, то получите ошибку в FOR. В цикле FOR переменная может быть только целого типа.
Чтобы получился вывод, введите переменную типа real "шаг точек", для заполнения Series используйте цикл while. Шаг рассчитайте исходя из диапазона вывода и размера Chart (количества пикселей по горизонтали) или из желаемой точности построения функции.
Сообщение от Роза
Сообщение от Роза
Не понял вообще.
Сообщение от i8085
я имела ввиду, что если граница по оси Ох от -10 до 10, то выходит ошибка, и он ничего не строит.
Добавлено через 4 минуты
Сообщение от i8085
Вложения
| график.rar (3.5 Кб, 558 просмотров) |
Сообщение от Роза
Есть разница, я только из-за этого сдать её не могу
Ага, так. Ну вот, Вы сами же сказали,
Сообщение от Puporev
Сообщение от Ltybcrf
ВНИМВНИЕ 2 ВОРПОСА!
многим будет интересно.
1. Как сделать так, чтобы при навидении курсора на квадратик последней или любой другой точки всплывала всплывающая подсказка!?
2. Как сделать так чтобы прокручивая колесиком мышки меняя зум графика или таская график влево и вправо зажав кнопку мыши — график не уходил за свои рамки ну вот как на скрине я сделал.. я отдалил зумом график так что он стал маленький и оторвался от лева права верхи и низа. Можно ли сделать так чтобы откручивая зум или перетаскивая зажатой кнопкой график, в момент когда я довожу перетаскиванием его до края графика, не позволял тащить или крутить зум дальше?
Ато я нечайно толкну мышкой график через чур и он улетает вниз или вверх по вертикали, или влево или вправо по горизонтали?!
С уважением, к самым крутым программистам Рунета находящимся на самом крутом в мире форуме по рпграммированию, Денис.
14.2. Построение графиков с помощью компонента tChart
Обычно результаты расчетов представляются в виде графиков и диаграмм. Среда Delphi имеет мощный пакет стандартных программ вывода на экран и редактирования графической информации, который реализуется с помощью визуально отображаемого на форме компонента TChart.
Построение графика (диаграммы) производится после вычисления таблицы значений функции y=f(x). Полученная таблица передается в специальный двумерный массив ChartI.SeriesList[k] (k — номер графика (0,1,2. )) компонента TChart с помощью метода AddXY. Компонент TChart осуществляет всю работу по отображению графиков, переданных в объект ChartI.SeriesList[k]: строит и размечает оси, рисует координатную сетку, подписывает название осей и самого графика, отображает переданную таблицу в виде всевозможных графиков или диаграмм. При необходимости, с помощью встроенного редактора EditingChart компоненту TChart передаются данные о толщине, стиле и цвете линий, параметрах шрифта подписей, шагах разметки координатной сетки и другие настройки. В процессе работы программы изменение параметров возможно через обращение к соответствующим свойствам компонента TChart. Так, например, свойство Chartl.BottomAxis содержит значение максимального предела нижней оси графика. Перенести график в отчет можно через буфер обмена, используя процедуру ChartI.CopyToClipboardMetafile(True).
Примеры. Построить графики функций sin(x) и cos(x) с помощью компонента chart. Текст и форма проекта приведены ниже.
V Form 1 НЁМ

unit Unit1; Листинг 14.1
uses Windows,Messages,SysUtils,Variants,Classes, Graphics,Controls,Forms,Dialogs,StdCtrls,TeEngine, Series, ExtCtrls, TeeProcs, Chart, Buttons;
Series1: TLineSeries; Series2: TLineSeries; Button1: TButton; BitBtn1: TBitBtn;
procedure Button1Click(Sender: TObject); private
Form1: TForm1; f:file of extended; implementation
procedure TForml.ButtonlClick(Sender: TObject); var k:integer; // Нарисовать x,y,z:extended;
for k:=0 to l00 do
Вывести на форму некоторые простейшие фигуры и текст.

unit Unitl; Листинг l4.2
Windows,Messages,SysUtils,Variants,Classes,Graphics, Controls,Forms,Dialogs,StdCtrls,Buttons; type
График с помощью TChart
Можно сказать, что данная статья является продолжением статьи про закрашивание ячеек в TStringGrid. Конечно мы в данной статье будем говорить не совсем о закрашивании ячеек, но связь с этим есть. В данной статье, я хотел бы поговорить, как можно построить разноцветный график с помощью стандартного компонента TChart. В свое время, я делал курсовой проект, который предназначен для анализа ассортимента методом XYZ. Другими словами, товар поставщиков необходимо было рассортировать по группам X, Y или Z. В зависимости от качества и расчета определенных параметров необходимо было сделать рассортировку по этим группам. Все данные и расчеты я отображал в TStringGrid. Для того, чтобы пользователю было понятно какие данные попадают в какие группы, я сделал пометку, что красный цвет — группа X, например, желтый — группа Y, зеленый — группа Z. После этого, как и в прошлой статье, я закрашивал ячейки в определенный цвет, которые удовлетворяют условию группам. Все данные я отсортировал в порядке возрастания и получилось так, после того, как я раскрасил группы, что вначале идет группа X, потом Y, затем Z, а не в разнобой все группы были в TStringGrid. На основе этого мне было легко построить график, который отображал все значения этих групп нужным цветом.
Ниже я привожу скриншот, как выглядели мои данные в TStringGrid. 
Для того, чтобы получить что-то похожее, нам вначале необходимо будет отсортировать наши данные. На форме у меня следующие компоненты
- TStringGrid
- TChart
- TButton — 2 шт
- TCheckBox — 2 шт
TStringGrid я настроил следующим образом, в свойствах я указал:
- FixedCols — 0
- FixedRows — 0
- Options-goEditing — True
- Rowcount — 1
Теперь немного настроим TChart, необходимо для начала нам выбрать тип графика. Нажимаем двойным щелчком мыши по компоненту TChart и переходим во вкладку Series и в данной вкладке нажимаем на кнопку Add. После чего появится список всех доступных графиков, в нашем случае я выбрал самый первый тип графика (линейный) — Line. Если хотите сделать какие-то другие настройки, то пожалуйста, на остальных вкладках это можно сделать.
После того, как мы настроили наши 2 компонента, нам теперь необходимо придумать условие, по которому будут закрашиваться наши ячейки и строиться график. Как я уже говорил в программе XYZ, я делал определенные расчеты и относил их в нужные группы, перед этим сперва сортировал их. Пусть, значения от 1 до 10 закрашиваются в красный, от 11 до 20 в желтый цвет, а от 21 до бесконечности в зеленый цвет. Теперь, как и в прошлой статье, мы напишем условие, по которому будем закрашивать ячейки. На событие OnDrawCell напишем следующий код:
Все переменные, что используются в данном коде имеют тип integer
Данные у нас готовы, отсортированы, теперь нам необходимо просто-напросто построить по тем же данным график и на определенных промежутках закрасить график, удовлетворяющий определенному условию, в нужный нам цвет. Для этого мы организуем цикл, и в данном цикле мы также будем проверять наше условие, и устанавливать цвет графику, в итоге у меня получилось что-то похожее, весь код с сортировкой:
Тут можно было обойтись и без таких условий, а организовать нужные нам циклы. Вот весь код, который сперва сортирует данные, а затем по ним строит график.
Ну и в концовке, сделаем небольше настройки для TChart, для этого мы и устанавливали на форму TCheckBox. Один TCheckBox будет отвечать за 3D-график, а второй за наличие нашей легенды. Вот код, который отвечает за 3D-график:
А вот код, который отвечает за наличие легенды
Ну и в концовке скриншот, который у меня получился в курсовом проекте, при построении графика, что-то похожее и у нас получилось 
Построение графиков функций в Delphi
Компонент TChart может строить самые различные графики и диаграммы.
Рассмотрим задачу построения графика на примере синусоиды (y=sin(x)).
Данные для построения графика представляют собой набор точек (X,Y). Поэтому для того чтобы его сформировать необходимо вычислить значение функции для каждой точки того диапазона, в котором требуется построить график.
Местоположение промежуточных точек рассчитывается как положение предыдущей точки плюс некоторый интервал (шаг). Для первой промежуточной точки предыдущей точкой является граница диапазона.
Построим график синусоиды для диапазона от 0 до 2π.
Вначале создадим ряд данных компонента TChart, который, собственно, и будет отображать график, а также зададим нижнюю границу диапазона и шаг.