2016-10-12 6 views
0

У меня есть приложение MVVM wpf с картплоттером. У меня есть 2 вертикальные оси и 2 графика (например, ток и напряжение во времени на одной диаграмме).Динамическое отображение данных с несколькими осями

<d3:ChartPlotter> 
     <d3:ChartPlotter.Children> 
      <d3:VerticalIntegerAxis/> 
      <d3:LineGraph DataSource="{Binding GraphOneDataSource}" Stroke="Blue"/> 
      <d3:LineGraph DataSource="{Binding GraphTwoDataSource}" Stroke="Red"/> 
     </d3:ChartPlotter.Children> 
    </d3:ChartPlotter> 

2 графика масштабируются по-разному. Я сделал один граф масштабируемого с другой, регулируя его отображение, как так

GraphTwoDataSource.SetXYMapping(p=>new Point(p.X+1,((p.Y)*(GraphOneMax-GraphOneMin)/(GraphTwoMax-GraphTwoMin)))); 

Графики масштабироваться друг с другом. Первые значения графа составляют от 1000 до 5000, а значения второго - 10-50.

Мне нужно настроить вторую вертикальную ось картплоттера соответственно. Как вы можете изменить поведение генерации тика оси так, чтобы оно масштабировалось с первой осью так же, как графики масштабировались друг с другом?

ответ

0

решил эту проблему с контролем DependentPlotter введенного в «Будущее D3» библиотеки

0

как описано here и here вы можете использовать InjectedPlotter. here Я нашел пример.

+0

Как я уже говорил, у меня уже есть несколько осей. Ссылки и пример показывают, как добавить несколько осей, а не как изменить их поведение. В этом примере тики жестко закодированы, а элементы управления были изменены значительно –

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

  • Нет связанных вопросов^_^