Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
1 / 1 / 0
Регистрация: 05.12.2014
Сообщений: 58
1
.NET 4.x

Как построить график по нужным колонкам dataGrid

03.05.2015, 23:14. Показов 2869. Ответов 31
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Знает ли кто-нибудь, как построить график по колонкам. Кодом или через Binding?
Если имеется пример, поделитесь пожалуйста!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2015, 23:14
Ответы с готовыми решениями:

Генерация колонок DataGrid с нужным содержимым
Доброго времени суток. Имеется список, где хранятся экземпляры класса public List<Student>...

Как построить оси координат на picturebox и на этих осях построить график функции
Здравствуйте, в общем не могу разобраться как построить оси координат на picturebox и на этих осях...

Как построить график?
Подскажите как построить такой график

Как построить график?
Помогите, пожалуйста, построить общий график для трех случаев. Я немного запуталась. Файл...

31
Заблокирован
04.05.2015, 01:10 2
Serikbay, опишите задачу более подробно.
0
1 / 1 / 0
Регистрация: 05.12.2014
Сообщений: 58
04.05.2015, 12:42  [ТС] 3
Ev_Hyper. Имеется dataGridView с двумя колонками .Column[0](Time) и .Colimn[1](Value). Как по этим двум колонкам построить график с помощью toolkit:Chart?
0
11 / 11 / 2
Регистрация: 23.08.2014
Сообщений: 48
04.05.2015, 12:50 4
Serikbay, Сделайте коллекцию с объектами, в каждом объекте по два свойства, ваши значения, и прибиндите как и Grid к ним, так и Chart; Это не WinForms, где просто тулится в грид, в WPF легче на привязках.
XML
1
Имя_вашей_серии_графика.ItemsSource = Ваша_коллекция;
Если юзаете обычную коллекцию, не ObservableCollection, так же не заюывайте после каждых изменений рефрешить.
XML
1
Имя_вашей_серии_графика.Refresh();
0
1 / 1 / 0
Регистрация: 05.12.2014
Сообщений: 58
04.05.2015, 13:09  [ТС] 5
Ev_Hyper. Имеется dataGridView с двумя колонками .Column[0](Time) и .Colimn[1](Value). Как по этим двум колонкам построить график с помощью toolkit:Chart?
Цитата Сообщение от Mor1L Посмотреть сообщение
Это не WinForms, где просто тулится в грид, в WPF легче на привязках.
Это понятно, поэтому я и обратился. Я 7 день изучаю WPF. И пока ещё не совсем разобрался, как правильно работать с Binding.
Цитата Сообщение от Mor1L Посмотреть сообщение
Сделайте коллекцию с объектами, в каждом объекте по два свойства, ваши значения, и прибиндите как и Grid к ним
Я понял, как применить биндинг к dataGrid, а вот как указать свойства для осей - не понятно.
0
11 / 11 / 2
Регистрация: 23.08.2014
Сообщений: 48
04.05.2015, 13:23 6
Ну вот Вам пример.
XML
1
2
3
<charting:Chart  Name="Charts" Margin="403,-222,38,542"   FontFamily="Script MT Bold"  FontSize="16"  BorderBrush="{x:Null}" Foreground="Black" >
                    <charting:PieSeries  Name="Имя_вашей_серии"  DependentValuePath="Value" IndependentValuePath="Name"   Margin="102,310,-82,-290"/>
                </charting:Chart>
Свойства зависимые и независимые, должны быть такими же как в объекте, которые в коллекции. Серию выбирайте какую хотите, столбики, круговую, что душе угодно.
1
1 / 1 / 0
Регистрация: 05.12.2014
Сообщений: 58
04.05.2015, 13:43  [ТС] 7
Цитата Сообщение от Mor1L Посмотреть сообщение
Свойства зависимые и независимые, должны быть такими же как в объекте, которые в коллекции. Серию выбирайте какую хотите, столбики, круговую, что душе угодно.
А как в серии указать свойства?
0
11 / 11 / 2
Регистрация: 23.08.2014
Сообщений: 48
04.05.2015, 13:47 8
Serikbay, Я в примере уже указал, в моем случае зависимые - по каким значениям будут сравниваться в процентном отношении Value, а не зависимые - Name. Эти же свойства соответствуют Ваши свойствам, которые в объекте.
1
1 / 1 / 0
Регистрация: 05.12.2014
Сообщений: 58
04.05.2015, 14:07  [ТС] 9
Mor1L,
XML
1
2
3
4
<chartingToolkit:LineSeries Grid.Column="1" HorizontalAlignment="Left" Margin="71,50,0,0" Grid.Row="2" Title="Chart Title" VerticalAlignment="Top" Height="238" Width="292">
 
            <chartingToolkit:LineSeries DependentValuePath="Time" IndependentValuePath="Value" ItemsSource="{Binding Source={StaticResource myDataGrid}}"/>
        </chartingToolkit:LineSeries>
Что тут не так? Я никак не разберусь(
0
11 / 11 / 2
Регистрация: 23.08.2014
Сообщений: 48
04.05.2015, 14:13 10
Serikbay,
XML
1
2
3
4
5
<chartingToolkit:Chart Grid.Column="1" HorizontalAlignment="Left" Margin="71,50,0,0" Grid.Row="2" Title="Chart Title" VerticalAlignment="Top" Height="238" Width="292">
 
            <chartingToolkit:LineSeries DependentValuePath="Time" IndependentValuePath="Value" ItemsSource="{Binding Source={StaticResource myDataGrid}}"/>
        </chartingToolkit:LineSeries>
 </charting:Chart>
1
1 / 1 / 0
Регистрация: 05.12.2014
Сообщений: 58
04.05.2015, 14:51  [ТС] 11
Mor1L, теперь не загружается проект. При загрузке данных в dataGrid. Что объект должен иметь тип Double.

Добавлено через 2 минуты
А как можно прописать, чтоб строил на кнопку?
0
11 / 11 / 2
Регистрация: 23.08.2014
Сообщений: 48
04.05.2015, 14:56 12
Serikbay, В смысле строил на кнопку? По событию нажатия по кнопке?
0
1 / 1 / 0
Регистрация: 05.12.2014
Сообщений: 58
04.05.2015, 15:02  [ТС] 13
Mor1L, Да
0
11 / 11 / 2
Регистрация: 23.08.2014
Сообщений: 48
04.05.2015, 15:15 14
Он привязан или к коллекции, или к таблице, поэтому всегда будет показывать состояние чего либо, и зависеть от них. Это можно манипулировать, к примеру привязывать к коллекции, и по нажатию по кнопке можно эту коллекцию заполнить из грида, или как угодно, тогда она отобразится, по другой кнопке, можно к примеру отчистить коллекцию, следовательно и график отчиститься, вообщем как угодно, но все манипуляции нужно делать с коллекцией, или гридом.
0
1 / 1 / 0
Регистрация: 05.12.2014
Сообщений: 58
04.05.2015, 15:22  [ТС] 15
А можно на примере?
0
11 / 11 / 2
Регистрация: 23.08.2014
Сообщений: 48
04.05.2015, 15:27 16
Serikbay, Что именно? Как привязать к коллекции, и как в нее добавлять, и чистить?
0
1 / 1 / 0
Регистрация: 05.12.2014
Сообщений: 58
04.05.2015, 15:28  [ТС] 17
Как на событие клик строить график по данным из dataGrid?
0
11 / 11 / 2
Регистрация: 23.08.2014
Сообщений: 48
04.05.2015, 15:31 18
В обработчике по кнопке в пустую коллекцию, перенесите все ваши элементы из дата грида, и сделайте источник на график вашу коллекцию, я в первых сообщениях привел пример. Изначально коллекция будет пустой, график соответственно тоже, при нажатии перенесите в него все элементы, и обновите график, элементы появятся. Посмотрите сообщения выше.
0
1 / 1 / 0
Регистрация: 05.12.2014
Сообщений: 58
04.05.2015, 15:53  [ТС] 19
Mor1L, я наверное не совсем правильно Вас понял.
Делаю так: это в событии клик по кнопке
C#
1
2
3
4
mySeries.ItemsSource = @"{Binding Source={StaticResource myDataGrid}}";
            mySeries.DependentValuePath = "Time";
            mySeries.IndependentValuePath = "Value";
            mySeries.Refresh();
это в серии
XML
1
<chartingToolkit:LineSeries Name="mySeries"/>
0
11 / 11 / 2
Регистрация: 23.08.2014
Сообщений: 48
04.05.2015, 16:14 20
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  public class Diagr: 
    {
        public int Value{get;set;}
        public string Name { get; set; }
 
       
    }
public List<Diagr> list; 
list = new List<Diagr>()
            {
                new Diagr{ Value = 12, Name =  "Михаил" },
                new Diagr { Value = 15, Name =  "Александр" }
                
            };
 
            ChartOne.ItemsSource = list;
 ChartOne.Refresh();
Используйте коллекцию, а не грид. Я вам описал пример коллекции, и как его привязывать, манипулируйте нею, хотите перезапишите в нее при событии, хотите отчистите, что угодно. И график будет отображать ее состояние. А уже эта коллекция биндится к чему угодно.

Добавлено через 5 минут
XML
1
2
3
4
<chartingToolkit:LineSeries Grid.Column="1" HorizontalAlignment="Left" Margin="71,50,0,0" Grid.Row="2" Title="Chart Title" VerticalAlignment="Top" Height="238" Width="292">
 
            <chartingToolkit:LineSeries  Name="ChartOne" DependentValuePath="Time" IndependentValuePath="Value" />
        </chartingToolkit:LineSeries>
Так же можете удалять, сортировать, чистить все что угодно.

Добавлено через 8 минут
Только поставьте параметры какие вам нужно, и измените свойства, я описал для примера Name и Value.
1
04.05.2015, 16:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2015, 16:14
Помогаю со студенческими работами здесь

Как построить 3D график
Здравствуйте. Помогите пожалуйста построить график следующей функции: (x^2+y^2+x^2)^2=(a^3)*z

Как построить график?
Есть массив результатов, надо вывести график только части. Например есть вектор А , а построить...

Как построить график
вот мне построили график http://i061.***********/1112/b3/24c177e693b7.jpg как мне самому такой...

Как построить график
Здравствуйте, у меня есть массив данных X,Y,Z, по которым нужно построить график, где X,Y, -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru