2012-05-22 3 views
1

У меня есть диаграмма динамического отображения данных. Я использую ChartPlotter. Он имеет оси X и Y по умолчанию. Мне нужно добавить дополнительную ось X и еще две оси Y. Как я могу достичь этого в XAML и динамически в коде?WPF D3 Динамический дисплей данных Несколько осей

Данные могут быть прикреплены к любой из этих осей разработчиками, использующими эти диаграммы, путем предоставления перечисления для номера оси, например Y1, Y2, Y3 и т. Д. Или X1, X2. В настоящее время я хотел бы иметь указанное выше количество осей.

Может ли кто-нибудь помочь мне с решением этого? Я знаю, чтобы добавить Injected Plotter, но должен ли я добавить несколько инъецированных плоттеров? И если количество осей увеличивается, сколько еще я должен добавить? Это кажется немного неэффективным, поэтому вопрос о добавлении осей в один ChartPlotter.

ответ

5

В динамическом отображении данных каждый ChartPlotter имеет MainHorizontalAxis и MainVerticalAxis. Кроме того, вы можете добавлять новые оси. Вы можете создать новый объект Axis и легко добавить его в свой плоттер. Вы бы добавить оси к плоттеры детей так:

plotter.Children.Add(axis); 

Вы бы создать объект оси заранее, чтобы соответствовать поведение вы хотите, а затем добавить ось сюжета.

EDIT

Она смотрит на меня, как это возможно, чтобы создать несколько объектов Graph и добавить их к плоттеры детей, а также. Похоже, вы можете назначить, какие оси применяются к объекту графа, а затем сопоставить их соответствующим образом. Информация взята из обсуждения this и код, размещенный там.

+1

Как я мог бы обрабатывать такие вещи, как присвоение линейного графика для построения одной конкретной оси? Я не нашел для этого никакого решения. Я уже знал о добавлении объекта оси. Проблема заключается в том, что строка-график (который добавляется динамически через код) указывает, что он должен настроить свои данные против второй оси Y и первой оси X. Как я могу справиться с этой проблемой? – Harsha

+0

Справедливости ради, я никогда не делал этого сам, но я уточню свой ответ с дополнительной информацией. :) –

+0

Спасибо. В настоящее время используют решение с несколькими инъекциями плоттеров. Чрезвычайно громоздкий и имеет ужасную производительность. : | – Harsha

Смежные вопросы