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

现在的一个项目要用到动态图表,网上找到开源的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}"/>

效果图:

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);
}

效果图:






原文地址:https://www.cnblogs.com/WilliamJiang/p/2323117.html