DynamicDataDisplay 不壓縮橫座標和圖例的修改
阿新 • • 發佈:2019-01-25
現在的一個專案要用到動態圖表,網上找到開源的DynamicDataDisplay,有些小地方不滿足需求,圖例是斜線,客戶要求要求橫線,原來的程式橫座標是壓縮的,客戶要求直線固定區間的曲線圖,
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); }
效果圖: