ms chart controls 確實不錯,需求是實現柱狀圖與線分別使用不同的y軸。因為線的值是累加當月到10號的實筆法產油總量,弄了好久,終於實現此效果,但似乎不是很完美。也很麻煩。下面是實現**:
ids = rule.getnscdata(txt_rq.text);
//年生產動態
chart1.datasource = ids.tables["ncl"];
chart1.series["series1"].xvaluemember = "rq";
chart1.series["series1"].yvaluemembers = "yjh";
chart1.series["series2"].xvaluemember = "rq";
chart1.series["series2"].yvaluemembers = "yl";
chart1.series["series3"].yvaluemembers = "otheryl";
chart1.databind();
//調整區域位置
chart1.chartareas["chartarea1"].position = new elementposition(20, 9, 80, 85);
chart1.chartareas["chartarea1"].innerplotposition = new elementposition(7, 0, 90, 90);
//建立第3個series的額外y軸
createyaxis(chart1, chart1.chartareas["chartarea1"], chart1.series["series3"], 16,8);
//月生產動態
///
/// 建立y軸
///
///
///
///
///
///
public void createyaxis(chart chart, chartarea area, series series, float axisoffset, float labelssize)
// 隱藏副本 series
seriescopy.isvisibleinlegend = false;
seriescopy.color = color.transparent;
seriescopy.bordercolor = color.transparent;
seriescopy.chartarea = areaaxis.name;
// 禁用drid線及tickmarks
areaaxis.axisx.linewidth = 0;
areaaxis.axisx.majorgrid.enabled = false;
areaaxis.axisx.majortickmark.enabled = false;
areaaxis.axisx.labelstyle.enabled = false;
areaaxis.axisy.majorgrid.enabled = false;
areaaxis.axisy.isstartedfromzero = area.axisy.isstartedfromzero;
areaaxis.axisy.labelstyle.font = area.axisy.labelstyle.font;
// 調整區域位置
areaaxis.position.x -= axisoffset;
areaaxis.innerplotposition.x += labelssize;
效果是出來了,下面就是重構了,後來終於找到乙個即高效又簡單的方法,那就是通過資料來源來控制。在資料來源中將線的值除10。這樣另外的y軸就可以滿足需要了。如下圖:
注意:上述方法必須在tooltip中將顯示的值在乘以10要不結果是錯的,還有就是將右側的y軸屬性設定為true
計算Y軸端值
來自fusion 1.分別計算兩個邊界值相對10的對數 取下限值 2.計算間隔值y interval a.取兩個對數的最大值為powten b.間隔值y interval 為10的powten次冪 c.如果邊界值分別除於y interval小於2的話,y interval y interval 10...
tChart X軸時間顯示以及Y軸自動範圍
使用tchart有一段時間了,一直想用x軸顯示時間,查了很多資料才實現,下面是具體步驟。初始化設定 設定x軸為時間座標 this tchart1 dock dockstyle fill this tchart1 aspect view3d false 取消3d this tchart1 axes l...
echarts 上下雙座標軸Y軸對齊
1.問題 不同的資料來源用同乙個布局頁面來顯示會導致對齊乙個頁面另外的頁面y軸對不齊,如下圖 圖1 圖2 後來經過觀察發現,圖1和圖二的下半部分的y軸數量座標位數不一樣,導致了長度不同,這樣的話就不行,不能夠適配其他的資料。所以就必須把上下兩個軸的y軸的數量的寬度固定下來,然後讓它們左對齊或右對齊,...