首页 > 解决方案 > 在 wpf 中使用实时图表时,如何在 ScatterSeries 中使用自定义笔画

问题描述

我在 wpf 中使用实时图表。我想做的是为 ScatterSeries Chart 制作自定义笔画。我发现一个在 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。

我几乎达到了我想要的效果。所以我发这个来分享。

这行得通。但我想做更细更宽的线。目前,Thickness 使描边更宽但更粗。并且不能通过编辑 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>                                                

标签: c#wpflivecharts

解决方案


推荐阅读