Using windows charting chart
Блог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 , будет таким:
P.S. В более новой Studio 2019 пришлось сделать ^f1 вместо f1 и, соответственно, везде f1-> вместо f1.
Заменить фиксированные пределы и шаг на вводимые из формы — элементарно. Вот что вышло для теста:
Пример 5. Применение разрывов
На форму проекта помещена chart1 со свойством Dock = Fill , построение происходит по загрузке формы.
04.02.2014, 17:03; рейтинг: 42523
Не могу подключить Chart
Не могу подключить подключить геймпад Xbox 360 к компьютеру (windows 7)
Здравствуйте. Приобрёл себе геймпад от Xbox 360, но не могу его подключить. Компьютер начинает.
Два роутера в одну сеть через wifi (по кабелю могу подключить), возможно ли так подключить?
Здравствуйте, имею два роутера один tp-link другой dlink, возможно ли подключить их к одной сети по.
Не могу найти компонент Chart в Tool Palette
Судя по всяким сайтам с описанием компонент в Delphi 7 этот компонент существовал, вот даже есть.
Не могу подключить ТВ к ПК
подскажите пожалуйста не могу подключить аналоговый тв к пк, раньше все роботало. была видюха.
K0T,
добавьте в конструкторе Chart, после удалите и DataVisualization появится.
Или Project — Add reference. и на вкладке .NET найдите System.Windows.Forms.DataVisualization.
Не дочитал вопрос. Первый способ не подходит.
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Не могу подключить к wi-fi
Здравствуйте, ребята. Нужен ваш совет. Дома есть маршрутизатор D-Link DIR-615. Он раздает.
Не могу подключить LESS
Всем привет! Я в CSS чайник. Кто-нибудь, объясните по шагам четко и понятно, как на сайт подключить.
Не могу подключить к ПК
Скачал PC suite версия 7.1.72.0 >установил > настройка подключения> подключения спомощью кабеля>.
не могу подключить БД
Раньше стоял FB 1.5 IBE 2.0 Win XP регистрировалась БД без проблем и прекрасно работала, щас стоит.
Chart Area Класс
Определение
Представляет область диаграммы на изображении диаграммы. Represents a chart area on the chart image.
Комментарии
Внутри любой диаграммы Внутренняя позиция построения — это прямоугольная область внутри линий оси x и y, где рисуются точки данных. Within any given chart, the inner plot position is the rectangular area, inside the x and y-axis lines, where the data points are drawn. Место построения — это прямоугольная область, охватывающая внутреннюю и вертикальную части графика, деления и метки осей. The plot position is the rectangular area that encompasses the inner plot position, the tick marks, and the axis labels. Область диаграммы — это прямоугольная область, охватывающая расположение графика, деления, метки осей и заголовки осей на диаграмме. The chart area is the rectangular area that encompasses the plot position, the tick marks, the axis labels and the axis titles on the chart.
Область диаграммы представлена ChartArea классом; ChartArea объекты хранятся в ChartAreaCollection классе. A chart area is represented by a ChartArea class; ChartArea objects are stored in the ChartAreaCollection class.
Количество рядов диаграммы, которые могут быть отображены в области диаграммы, не ограничено. The number of chart series that can be plotted in a chart area is unlimited.
Использует одну отдельную внутреннюю область построения графика. Uses one distinct inner plotting area.
Используется для построения одного или нескольких рядов диаграммы. Is used to plot one or more chart series.
Имеет основные и вторичные оси x и y, за исключением круговых и кольцевых диаграмм. Has primary and secondary x and y-axes, except for pie and doughnut chart types.
При использовании типов фигурных диаграмм, в том числе круговых, кольцевых, воронок, пирамидальных, полярных и лепестковых диаграмм, в внутреннем положении графика определяется размер фигуры типа диаграммы. When you use Shape chart types, which includes pie, doughnut, funnel, pyramid, polar, and radar charts, the inner plotting position defines the size of the chart type shape. Например, при увеличении значения InnerPlotPosition Свойства на круговой диаграмме будет увеличен радиус круговой фигуры. For example, when you increase the value of the InnerPlotPosition property on a pie chart, you will increase the radius of the pie shape.
Для всех других типов диаграмм каждая область диаграммы имеет два набора осей X и Y, первичные и вторичные. For all other chart types, each chart area has two sets of X- and Y-axes, primary and secondary. Для доступа к свойствам, связанным с этими осями, используйте AxisX AxisX2 AxisY свойства, и AxisY2 . To access properties related to these axes, use the AxisX, AxisX2, AxisY and AxisY2 properties. Если необходимо задать свойство, которое влияет на все оси на диаграмме, используйте Axes свойство. If you need to set a property that affects all axes on the chart, use the Axes property.
Один или несколько рядов связаны с областью диаграммы. One or more series are associated with a chart area. У ряда есть ChartArea свойство, определяющее область диаграммы, к которой принадлежит каждый ряд. The series has a ChartArea property that determines the chart area that each series belongs to. По умолчанию ряд подключается к области диаграммы по умолчанию. By default, the series is connected to the default chart area. Чтобы отключить отображение ряда, задайте ChartArea для свойства этого ряда строку нулевой длины. To disable the display of a series, set the ChartArea property of that series to a zero-length string.
Если к диаграмме добавляется другая область диаграммы, можно связать любой ряд с новой областью диаграммы. If another chart area is added to the chart, you can associate any series with the new chart area. Во всех типах фигурных диаграмм, а также линейчатых диаграмм и линейчатых диаграммах с накоплением каждый ряд должен быть построен в отдельной области диаграммы. In all Shape chart types, as well as bar and stacked bar chart types, each series must be plotted in a separate chart area. Во всех остальных типах диаграмм несколько рядов можно объединить в одной области диаграммы. In all other chart types, multiple series can be combined in the same chart area.
Объемная диаграмма отображается на основе области диаграммы. A 3D chart is displayed on a chart area-by-chart area basis. Свойство можно использовать Area3DStyle для включения и настройки диаграммы в трехмерном виде. You can use the Area3DStyle property to enable and customize your chart in 3D.
При добавлении новых данных не будут автоматически пересчитываться минимальные и максимальные значения области диаграммы, поэтому диаграмма не будет автоматически изменять размеры осей. The chart area minimum and maximum will not be automatically recalculated if you add new data, so the chart will not automatically change axis sizes. Можно потребовать, чтобы область диаграммы пересчитала эти значения с помощью RecalculateAxesScale метода. You can require the chart area to recalculate these values by using the RecalculateAxesScale method.
Чтобы выравнивать несколько областей диаграммы по вертикали, установите AlignmentOrientation свойство. To align multiple chart areas vertically, set the AlignmentOrientation property. Чтобы выровнять несколько областей диаграммы по горизонтали, необходимо сначала разместить области диаграммы с помощью Position свойства, а затем задать AlignmentOrientation для свойства значение горизонтальное. To align multiple chart areas horizontally, you must first position the chart areas using the Position property, and then set the AlignmentOrientation property to Horizontal.
Чтобы отключить отображение ряда, задайте Series для свойства этого ряда строку нулевой длины. To suppress the display of a series, set the Series property of that series to a zero-length string.
Конструкторы
Инициализирует новый экземпляр класса ChartArea. Initializes a new instance of the ChartArea class.
Инициализирует новый экземпляр класса ChartArea указанным именем области диаграммы. Initializes a new instance of the ChartArea class with the specified chart area name.
Свойства
Получает или задает ориентацию выравнивания области диаграммы. Gets or sets the alignment orientation of a chart area.
Получает или задает стиль выравнивания объекта ChartArea. Gets or sets the alignment style of the ChartArea.
Получает или задает имя объекта ChartArea, относительно которого следует выровнять данную область диаграммы. Gets or sets the name of the ChartArea object to which this chart area should be aligned.
Получает или задает объект ChartArea3DStyle, используемый для реализации трехмерной графики во всех рядах области диаграммы. Gets or sets a ChartArea3DStyle object, which is used to implement three-dimensional (3D) for all series in a chart area.
Получает или задает массив, представляющий все оси области диаграммы. Gets or sets an array that represents all axes for a chart area.
Получает или задает объект Axis, представляющий основную ось X. Gets or sets an Axis object that represents the primary X-axis.
Получает или задает объект Axis, представляющий дополнительную ось X. Gets or sets an Axis object that represents the secondary X-axis.
Получает или задает объект Axis, представляющий основную ось Y. Gets or sets an Axis object that represents the primary Y-axis.
Получает или задает объект Axis, представляющий дополнительную ось Y. Gets or sets an Axis object that represents the secondary Y-axis.
Получает или задает цвет фона объекта ChartArea. Gets or sets the background color of a ChartArea object.
Получает или задает ориентацию градиента фона области диаграммы и определяет, используется ли градиент. Gets or sets the orientation for the background gradient of a chart area, and also determines whether or not a gradient is used.
Получает или задает стиль штриховки объекта ChartArea. Gets or sets the hatching style of a ChartArea object.
Получает или задает фоновое изображение для объекта ChartArea. Gets or sets the background image of a ChartArea object.
Получает или задает выравнивание фонового изображения ChartArea. Gets or sets the alignment of a ChartArea background image.
Получает или задает цвет фонового изображения объекта ChartArea, который будет заменен прозрачным. Gets or sets the color of a ChartArea object background image that will be drawn as transparent.
Получает или задает режим рисования для фонового изображения объекта ChartArea. Gets or sets the drawing mode for the background image of a ChartArea object.
Получает или задает дополнительный цвет фона объекта ChartArea. Gets or sets the secondary color for the background of a ChartArea object.
Возвращает или задает цвет границы объекта ChartArea. Gets or sets the border color of a ChartArea object.
Получает или задает стиль границы объекта ChartArea. Gets or sets the border style of a ChartArea object.
Получает или задает ширину границы объекта ChartArea. Gets or sets the border width of a ChartArea object.
Получает или задает объект Cursor, который используется для работы с курсором и выделением диапазонов вдоль оси X. Gets or sets a Cursor object that is used for cursors and selected ranges along the X-axis.
Получает или задает объект Cursor, который используется для работы с курсором и выделением диапазонов вдоль оси Y. Gets or sets a Cursor object that is used for cursors and selected ranges along the Y-axis.
Получает или задает объект ElementPosition, определяющий положение внутреннего графика объекта области диаграммы. Gets or sets an ElementPosition object, which defines the inner plot position of a chart area object.
Получает или задает флаг, который определяет, совпадают ли размеры подписей соответствующих осей области диаграммы. Gets or sets a flag that determines if the labels of the relevant chart area axes are of equal size.
Получает или задает уникальное имя объекта ChartArea. Gets or sets the unique name of a ChartArea object.
Получает или задает объект ElementPosition, определяющий положение объекта ChartArea в диаграмме Chart. Gets or sets an ElementPosition object that defines the position of a ChartArea object within the Chart.
Получает или задает цвет тени объекта ChartArea. Gets or sets the shadow color of a ChartArea object.
Получает или задает смещение тени объекта ChartArea (в пикселях). Gets or sets the shadow offset, in pixels, of a ChartArea object.
Получает или задает объект, связанный с данным элементом диаграммы. Gets or sets an object associated with this chart element.
(Унаследовано от ChartElement)
Получает или задает флаг, определяющий, видима ли область диаграммы. Gets or sets a flag that determines if a chart area is visible.
Методы
Освобождает ресурсы, используемые объектом ChartElement. Releases the resources used by the ChartElement.
(Унаследовано от ChartElement)
Освобождает неуправляемые и, при необходимости, управляемые ресурсы. Releases unmanaged and, optionally, managed resources.
Определяет, равен ли указанный экземпляр Object текущему экземпляру ChartElement. Determines whether the specified Object is equal to the current ChartElement.
(Унаследовано от ChartElement)
Возвращает хэш-функцию для определенного типа. Returns a hash function for a particular type.
(Унаследовано от ChartElement)
Возвращает глубину ряда Series в области диаграммы. Returns the depth of a Series in a chart area.
Возвращает положение ряда по оси Z. Это полезно при пользовательском рисовании. Returns the Z position of a series, which is useful for custom drawing.
Возвращает объект Type для текущего экземпляра. Gets the Type of the current instance.
(Унаследовано от Object)
Создает неполную копию текущего объекта Object. Creates a shallow copy of the current Object.
(Унаследовано от Object)
Пересчитывает свойства области диаграммы после изменения диаграммы в событии Customize. Recalculates the properties of the chart area after changes have been made to the chart in the Customize event.
Возвращает строку, которая представляет текущий объект Object. Returns a string that represents the current Object.
(Унаследовано от ChartElement)
Применяет к массиву трехмерных точек трехмерные преобразования, которые необходимо выполнить до вызова методов рисования GDI+. Applies 3D transformations to an array of 3D points, which must be done before GDI+ drawing methods can be called.