Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.141.162] |
|
Сообщ.
#1
,
|
|
|
Всем хай! Сходу к делу!
Разбираюсь поглубже с элементом отображения диаграмм Chart. Прикладываю картинку, на которой показаны некоторые настройки диаграммы. Все настройки прописаны кодом. В конструкторе ничего не настраиваю. Мне нужно ТОЛЬКО кодом. Прикреплённый файлchart_x_2.png (32,25 Кбайт, скачиваний: 399) ВОПРОС №1: есть ли возможность вывести на область диаграммы ТАБЛИЦУ ДАННЫХ? Такая таблица автоматически строится в Excel. Должна же быть какая-то опция где-то. Не могу найти. ВОПРОС №2: не вижу опций, где можно задать размер, настройки шрифта, местоположение ЛЕГЕНДЫ. В подсказке есть "LegendText", "IsVisibleLegend", "LegendToolTip". Все! Первые две использую. Но где LegendFont и пр.? ВОПРОС №3: используя код: this.chr.Series[0].Label = "Т"; можно вывести подписи данных на графике (рядом с круглишком). Но, как видно, для всех точек графика (правда я их вывожу через 1, поэтому есть пропуски, опция "MarkerStep = 2") печатается ТУПО одно и то же, а именно буква 'T'. А хотелось бы, чтобы выводились координаты точек. В принципе, я вроде понимаю, как это можно закодить, но неужели нет опции, которая автоматом их подставляет. Вроде была. Не могу найти... ВОПРОС №4: не могу понять, как изменить ЦВЕТ самой линии графика (тип у меня СПЛАЙН). Да, есть выбора ПАЛИТРЫ (пастель, брайт, берри и пр.), но не вижу, как задать это программно. Спс. за любые наводки! |
Сообщ.
#2
,
|
|
|
Цитата ВОПРОС №1: есть ли возможность вывести на область диаграммы ТАБЛИЦУ ДАННЫХ? Такая таблица автоматически строится в Excel. Должна же быть какая-то опция где-то. Не могу найти. нет, реализуй отдельным DataGrid или ListVewie Цитата ВОПРОС №2: не вижу опций, где можно задать размер, настройки шрифта, местоположение ЛЕГЕНДЫ. В подсказке есть "LegendText", "IsVisibleLegend", "LegendToolTip". Все! Первые две использую. Но где LegendFont и пр.? ЛЕГЕНДА это отдельный объект и у него есть свои атрибуты, которые можно редактировать из кода Цитата this.chr.Series[0].Label = "Т"; можно вывести подписи данных на графике (рядом с круглишком). Но, как видно, для всех точек графика (правда я их вывожу через 1, поэтому есть пропуски, опция "MarkerStep = 2") печатается ТУПО одно и то же, а именно буква 'T'. А хотелось бы, чтобы выводились координаты точек. В принципе, я вроде понимаю, как это можно закодить, но неужели нет опции, которая автоматом их подставляет. Вроде была. Не могу найти... тут не понятно что вам надо, поясните другими словами Цитата ВОПРОС №4: не могу понять, как изменить ЦВЕТ самой линии графика (тип у меня СПЛАЙН). Да, есть выбора ПАЛИТРЫ (пастель, брайт, берри и пр.), но не вижу, как задать это программно. цвет графика задается при создании объекта Series series.Color = Color.Red; Добавлено и еще в догонку, в студии есть оочень полезный инструмент, под названием ObjectBrowser. Он поможет вам разобраться с возможностями классов и элементов управления. |
Сообщ.
#3
,
|
|
|
Цитата Pit-Bul @ нет, реализуй отдельным DataGrid или ListVewie ясно. жаль! очень странно, что не встроили эту возможность по дефалту... Цитата Pit-Bul @ ЛЕГЕНДА это отдельный объект и у него есть свои атрибуты, которые можно редактировать из кода с этим уже сам разобрался еще на той неделе Цитата Pit-Bul @ тут не понятно что вам надо, поясните другими словами с этим уже сам ЧАСТИЧНО разобрался еще на той неделе Цитата Pit-Bul @ цвет графика задается при создании объекта Series а вот с этим вроде ДО СИХ пор не разобрался. Не подскажешь конкретно свойство? вроде все там перепробовал, а цвет не менялся... Цитата Pit-Bul @ и еще в догонку, в студии есть оочень полезный инструмент, под названием ObjectBrowser. Он поможет вам разобраться с возможностями классов и элементов управления. ага думал, что раздел ИЗДОХ окончательно! но все-таки еще тлеет еле-еле-еле-еле... Pit-Bul, спс и на этом) |
Сообщ.
#4
,
|
|
|
Цитата FasterHarder @ Цитата Pit-Bul @ 22 апреля, 08:37 цвет графика задается при создании объекта Series а вот с этим вроде ДО СИХ пор не разобрался. Не подскажешь конкретно свойство? вроде все там перепробовал, а цвет не менялся... я же показал в первом посте series.Color = Color.Red; |
Сообщ.
#5
,
|
|
|
Цитата Pit-Bul @ я же показал в первом посте ага, понял, правда чуток не так нужно, а с указанием индекса серии данных, типа: this.Chart1.Series[0].Color = ... ну я понял, что ты упростил код, чтоб долгА не писать кстати, еще такой прикол с этим цветом, что IntelleSence не встает на него)) приходится вручную пробивать слово "Color". Слушай, у меня еще вопросы появились, подсоби, если хочешь/можешь: 1. не могу вывести подписи к сетке вторичной (MinorGrid). Не вижу в подсказке там ничего про Label вот нету ничего: // настройка вспомогательных линий сетки для оси Oy this.chart1.ChartAreas[0].AxisY.MinorGrid.Enabled = true; this.chart1.ChartAreas[0].AxisY.MinorGrid.Interval = 1; this.chart1.ChartAreas[0].AxisY.MinorGrid.LineWidth = 1; this.chart1.ChartAreas[0].AxisY.MinorGrid.LineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Dot; this.chart1.ChartAreas[0].AxisY.MinorGrid.LineColor = Color.Gray; // подпись фамилий под каждым столбиком можно наклонить на любой заданный угол // this.chart1.ChartAreas[0].AxisX.LabelStyle.Angle = 90; т е к примеру строю график ф-ции f(x) = x^2 и основная сетка имеет шаг 10, а малая сетка шаг = 2. Выводятся лишь метки 0, 10, 20, а малых меток нет. 2. я чегот не пойму, ведь можно выбрать разный тип диаграммы: столбиковая, японские свечи, лепестковая, пузырьковая и пр. пр. Свойства динамически меняются в подсказке? или общие на все случаи диаграмм? На некоторых типах диаграмм опции, которые влияли на др.тип не оказывают никакого влияния. |
Сообщ.
#6
,
|
|
|
Цитата FasterHarder @ ну я понял, что ты упростил код, чтоб долгА не писать нет не понял var series = new Series(); series.Color = Color.Red; //тут все остальное настраиваешь this.Chart1.Series.Add(series); вот почему коротко написано Добавлено Цитата FasterHarder @ 1. не могу вывести подписи к сетке вторичной (MinorGrid). Не вижу в подсказке там ничего про Label Тут поковыряй Цитата FasterHarder @ 2. я чегот не пойму, ведь можно выбрать разный тип диаграммы: столбиковая, японские свечи, лепестковая, пузырьковая и пр. пр. Свойства динамически меняются в подсказке? или общие на все случаи диаграмм? На некоторых типах диаграмм опции, которые влияли на др.тип не оказывают никакого влияния. а что мешает тебе задавать свойства при смене диаграммы ? Цитата FasterHarder @ На некоторых типах диаграмм опции, которые влияли на др.тип не оказывают никакого влияния. тут пример бы не помешал. |
Сообщ.
#7
,
|
|
|
Перевожу код настройки диаграммы с C# на С++.НЕТ и все идет хорошо, кроме этого Font:
this.chart1.Titles[0].Font = new Font("Verdana", 18, FontStyle.Bold | FontStyle.Italic); заменяю на: this->chart1->Titles[0]->Font = new Font("Verdana", 18, FontStyle::Bold | FontStyle::Italic); и получаю сообщение: syntax error : identifier 'Font' ничего не понимаю , куда фонт подевался. И в интелисенс нет такой подсказки. В чем проблема может быть? (кроме того, что я слабак в С++ и C#, разумеется) Добавлено т е вот это прекрасно преобразовалось все на С++.НЕТ: this->chart1->Titles->Clear(); this->chart1->Titles->Add("Текст какой-то"); // this->chart1->Titles[0]->Font = new Font("Verdana", 18, FontStyle::Bold | FontStyle::Italic); // <<<--- not compile... // настраиваем цвет шрифта заголовка this->chart1->Titles[0]->ForeColor = Color::Blue; // настраиваем цвет фона шрифта заголовка this->chart1->Titles[0]->BackColor = Color::Beige; |
Сообщ.
#8
,
|
|
|
Цитата Pit-Bul @ вот почему коротко написано ну я понял уже, что обычно так и поступают, создают item, настраивают, а затем добавляют в коллекцию. ну в общем, да, наверное, так проще, меньше писать, хотя с такими подсказками как у С# прогать одно удовольствие)) Цитата Pit-Bul @ Тут поковыряй покурил я тот пример, почти до бычка вот, что там строят: Прикреплённый файл______________.png (28,64 Кбайт, скачиваний: 359) но там нет того, что мне было очень нужно. из этого примера можно посмотреть как настраивают праймеры и секондари оси, но про подписи миноров там нету) + bindXY прикольно привязывается (обычно по точкам добавлял) кстати, подкинь еще что-нибудь покурить по ЧАРТАМ. Пример нашел хороший в принципе, много чего строится (правда все почти знакомо было). Нужны еще БОЛЬШЕ примеры, где 300-400 свойств затрагивается) было бы харашо... в сети, лазаю, нахожу какие-то статьи про чарт, так там 5-6 свойств показывают и ВСЕ)) причем свойства типа Title, Name. Я вот хочу разобраться с аннотациями и коллокейшенами, т к воотбще не понимаю, что они делают. Хорошо понимаешь их? |
Сообщ.
#9
,
|
|
|
FasterHarder
Есть пример с исходным кодом от Microsoft, демонстрирующий почти все возможности chart. Собирается без проблем (в vs2012 и выше). Произвольные подписи пользователя к осям, подписи со значениями к каждой точке серии, установка шрифтов, цветов, скрытие меток, осей, заголовки чата, легенда, подписи к основным и дополнительным осям, аннотации и тд. Samples Environments for Microsoft Chart Controls.zip |