现在的一个项目要用到动态图表,网上找到开源的DynamicDataDisplay,有些小地方不满足需求,图例是斜线,客户要求要求横线,原来的程序横坐标是压缩的,客户要求直线固定区间的曲线图,

DynamicDataDisplay DynamicDataDisplay v0.3 Source 源码下载地址

1.修改图列,这个是在XAML中写死的,只有一个字"改"!

  找到\DynamicDataDisplay v0.3 Source\src\DynamicDataDisplay\Charts\LineLegendItem.xaml文件,找到第11行,

 <Line X1="3" X2="20" Y1="10" Y2="5" 
Stroke
="{Binding Pen.Brush}"
StrokeThickness
="{Binding Pen.Thickness}"/>

大家可以看到,这就是图例的绘制,修改y2=10,或者修改y1也行,只要纵坐标相同就行了.例如:

<Line X1="3" X2="20" Y1="10" Y2="10" 
Stroke
="{Binding Pen.Brush}"
StrokeThickness
="{Binding Pen.Thickness}"/>

效果图:

DynamicDataDisplay 不压缩横坐标和图例的修改

2.保持固定的显示区间,这个也修改源代码,作简单修改就行了.

找到\DynamicDataDisplay v0.3 Source\src\DynamicDataDisplay\Viewport2D.cs,定位到165行,

原始代码:

if (!bounds.IsEmpty)
{
bounds = bounds.DataToViewport(transform);
}

修改后的代码为(始终保持10个单位的区间):

                if (!bounds.IsEmpty)
{
bounds.X = bounds.Right - 10;
bounds.Width = 10;
bounds = bounds.DataToViewport(transform);
//bounds = bounds.DataToViewport(transform);
}

效果图:

DynamicDataDisplay 不压缩横坐标和图例的修改






相关文章:

  • 2021-06-05
  • 2022-12-23
  • 2021-06-15
  • 2021-09-19
  • 2022-12-23
  • 2021-04-19
  • 2022-12-23
  • 2021-09-27
猜你喜欢
  • 2021-11-02
  • 2022-12-23
  • 2022-12-23
  • 2021-08-31
  • 2022-12-23
  • 2022-03-05
  • 2021-10-29
相关资源
相似解决方案