您的位置:首页 > 其它

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

2016-03-13 15:28 387 查看


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




效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: