1. 程式人生 > >DynamicDataDisplay 不壓縮橫座標和圖例的修改

DynamicDataDisplay 不壓縮橫座標和圖例的修改

現在的一個專案要用到動態圖表,網上找到開源的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); }
複製程式碼

效果圖: