c# - 在 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>
解决方案
推荐阅读
- sql - 如何截断时间戳以重新调整 Oracle 中的日期?
- sql-server - 编写 TSQL 查询的最佳方式
- python - 如何在python中制作2种颜色?比较
- amazon-ec2 - Terraform 快照不适用于 ebs_block_device 的动态块
- reactjs - 使用 React Js 创建一个简单的 todolist。不知道为什么我的状态没有用新的 todo 项更新
- java - 分数简化
- java - 编辑字符串数组并将其转换为二维字符数组
- bash - 如何在终端中简单地将命令的所有控制台输出写入文件?
- c - 为什么不能使用指针更改字符?
- python-3.x - 在 python 中制作一个 1 位加法器,但是当我输入 (0,1,0) ,(0,1,1),(1,0,0),(1,0,1) 时,我要么没有得到总和或没有执行