在WPF中使用实时图表时,如何在ScatterSeries中使用自定义笔画

时间:2019-07-01 09:13:33

标签: c# wpf livecharts

我在wpf中使用实时图表。 我想做的是为ScatterSeries图表创建自定义笔画。 我发现在datalabel上应用自定义图像的教程成功。 但是我不能一use而就。

下面是datalabel的代码。该测试有效。

<lvc:ScatterSeries.DataLabelsTemplate>
    <DataTemplate>
        <Path Data="M 10,10 L 30,10"
                Height="40" Width="40" 
                Stroke="Black"
                Fill="Gray"
                />
    </DataTemplate>
</lvc:ScatterSeries.DataLabelsTemplate>       

但是第二次尝试是失败的。我尝试使用几何图形进行绘制。 这是一个圆圈。但是我会在测试成功后更改它们。

<lvc:ScatterSeries.Stroke>
    <DrawingBrush>
        <DrawingBrush.Drawing>
            <GeometryDrawing>
                <GeometryDrawing.Geometry>
                    <EllipseGeometry Center="50,50" RadiusX="50"  RadiusY="50"/>
                </GeometryDrawing.Geometry>
            </GeometryDrawing>
        </DrawingBrush.Drawing>
    </DrawingBrush>
</lvc:ScatterSeries.Stroke>

应用自定义笔触需要做什么?

在根据建议进行一些测试之后,我找到了一种自定义笔画的方法。

<lvc:LineSeries  Name="referenceDataSeries2"
                 Values="{Binding Path=ReferenceValues, Mode=TwoWay}"
                 Stroke="transparent"
                 Fill="Transparent"
                 PointGeometrySize="50"
                 PointForeground="Black"
                 PointGeometry="m 25 70.36218 20 -28 -20 22 -8 -6 z"
                 >
</lvc:LineSeries>

但是由于我的知识不足,所以我无法按照自己的意愿制作几何图形。 我在想这是形状。然后申请划一条线。

感谢BenderBoy的帮助。

我几乎达到了想要的目标。所以我发布了这个分享。

这有效。但是我想做更细,更宽的线。现在,“厚度”可以使宽度稍宽一些,但结果是“较厚”。并且无法通过编辑Pointgeometry值使其更宽。

<lvc:ScatterSeries  Name="referenceDataSeries2"
                    Values="{Binding Path=ReferenceValues, Mode=TwoWay}"
                    Stroke="Black"
                    StrokeThickness="3"
                    Fill="Transparent"
                    PointGeometry="m 0,0 L 10,0 z"
                 >
</lvc:ScatterSeries>                                                

0 个答案:

没有答案