/ / Две линейни серии с една и съща ос в диаграмите на WPF Toolkit - графики, wpftoolkit, визуализация на данни

Две линейни серии с една и съща ос в диаграмите на WPF Toolkit - графики, wpftoolkit, визуализация на данни

Искам да направя следното с диаграмите на инструментариума на WPF:

Имам две линии, които трябва да използват същата y(т.е. искам и двете да бъдат в една и съща скала). Бих могъл да дам на всяка от тях една и съща дефиниция на оста, така че те да се припокриват (и след това да имат една от тях със сгъната видимост), но това не е най-добрият ми избор.

Това е решението, за което говоря:

<charts:LineSeries Name="ExternalMeasureSeries"
IndependentValueBinding="{Binding Time}"
DependentValueBinding="{Binding ExternalMeasure}">
<charts:LineSeries.DataPointStyle>
<Style TargetType="charts:LineDataPoint">
<Setter Property="Background" Value="Red"/>
<Setter Property="Opacity" Value="0" />
</Style>
</charts:LineSeries.DataPointStyle>
<!-- Vertical axis for external measure curve -->
<charts:LineSeries.DependentRangeAxis>
<charts:LinearAxis
Orientation="Y"
Title="Measurement"
Minimum="0"
Maximum="30"/>
</charts:LineSeries.DependentRangeAxis>
</charts:LineSeries>
<charts:LineSeries Name="InternalMeasureSeries"
IndependentValueBinding="{Binding Time}"
DependentValueBinding="{Binding InternalMeasure}">
<charts:LineSeries.DataPointStyle>
<Style TargetType="charts:LineDataPoint">
<Setter Property="Background" Value="Orange"/>
<Setter Property="Opacity" Value="0" />
</Style>
</charts:LineSeries.DataPointStyle>
<!-- Vertical axis for internal measure curve -->
<charts:LineSeries.DependentRangeAxis>
<charts:LinearAxis
Orientation="Y"
Minimum="0"
Maximum="30"
Visibility="Collapsed"/>
</charts:LineSeries.DependentRangeAxis>
</charts:LineSeries>

Има ли начин да се определят повече от една серии със същата ос Y?

Открих, че версията на инструментариума 3.5.0.0 има нещо наречено StackedLineSeries но тази версия 3.5.40128.1, която се инсталира във версията на инструментариума от февруари 2010 г., не е там. Дали се е преместило в друго clr-namespace?

Отговори:

2 за отговор № 1

Срещнах същия проблем и намерих следния начин. Можете да добавите двете серии към една и съща диаграма и да скриете втория сериен етикет на ос, като зададете ширината на 0;

<charts:LinearAxis
Orientation="Y"
Title="Measurement"
Minimum="0"
Maximum="30"
**Width = "0"**
/>

Надявам се това да помогне


2 за отговор № 2

Имам диаграма с 3 линейни серии. Първите две серии представляват относителната влажност, а третата представляват точката на оросяване.
Искам да изготвя първите 2 серии на една и съща Y ос. Създадох осите си в раздел "Ресурси". В моя пример това е в TabItem.

<TabItem Header="rH">
<TabItem.Resources>
<chartingToolkit:LinearAxis Orientation="Y" HorizontalAlignment="Left" Title="rH /%" x:Key="RHYAxis" />
<chartingToolkit:LinearAxis Orientation="Y" HorizontalAlignment="Right"  Title="Dew point /°C" x:Key="DewPointYAxis" />
</TabItem.Resources>
<chartingToolkit:Chart HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Title="Relative Humidity" IsEnabled="True">
<chartingToolkit:Chart.Series>
<chartingToolkit:LineSeries DependentRangeAxis="{StaticResource RHYAxis}" IsSelectionEnabled="False" ItemsSource="{Binding Path=RHCollection}" IndependentValuePath="TimeStamp" DependentValuePath="rH" Title="Measured rH" />
<chartingToolkit:LineSeries DependentRangeAxis="{StaticResource RHYAxis}" IsSelectionEnabled="False" ItemsSource="{Binding Path=CorrectedRHCollection}" IndependentValuePath="TimeStamp" DependentValuePath="CorrectedRH" Title="Corrected rH" />
<chartingToolkit:LineSeries DependentRangeAxis="{StaticResource DewPointYAxis}" IsSelectionEnabled="False" ItemsSource="{Binding Path=DewPointCollection}" IndependentValuePath="TimeStamp" DependentValuePath="DewPoint" Title="Dew point" />
</chartingToolkit:Chart.Series>
</chartingToolkit:Chart>