Два LineSeries с одинаковой осью Y в диаграммах WPF Toolkit - PullRequest
2 голосов
/ 05 сентября 2010

Я хочу сделать следующее с диаграммами инструментария 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?

Ответы [ 2 ]

2 голосов
/ 24 октября 2012

У меня есть диаграмма с 3 рядами линий.Первые 2 серии представляют относительную влажность, а третья представляет точку росы.
Я хочу нарисовать первые 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>

2 голосов
/ 27 июня 2012

Я столкнулся с той же проблемой и нашел следующий способ. Вы можете добавить две серии к одному и тому же графику и скрыть метку оси второй серии, установив для Width значение 0;

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

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...