[OWC] 雙 Y 軸的小範例

請開新的網頁,貼入下列網址,這是要配合的網頁:
 
首先點上方範例網頁中的繪圖按鈕,這是一個示範 3 個 Chart 的同時繪製,股票圖也常會這樣畫,所以雖然有 3 個 Y 軸,但是各自有各自的 Y 軸。
本篇的範例是將這張圖的中間水庫水位與下方水庫進水量合併成 1 個 Chart,所以一張圖內會需要兩個 Y 軸,將下方的範例文字貼入文字盒,按下繪圖,即可展示合併後的結果。
 
說明主要的程式碼片段:
For i = 3 To 4 : arrSeries(i).UnGroup True : Next ‘ 將最後兩條線解除群組放到新座標系統
For i = 4 To 4 : arrSeries(3).Group arrSeries(i) : Next ‘ 將最後兩條線組成一個新群組
Set newY = .Axes.Add(arrSeries(3).Scalings(chConst.chDimYValues)) ‘ 依最後兩條線群組建立一個新 Y 軸
newY.Position = chConst.chAxisPositionRight ‘ 將新 Y 軸放到圖的右邊
Set newXScaling = arrSeries(3).Scalings(chConst.chDimXValues) ‘ 設定 X 軸繪圖範圍與原 X 軸相同
 

[MultiChart_Config]
‘ 項目=名稱,寬,高
Item1=運轉, 100%, 25%
 
[MultiChart_SetObject]
.ChartLayout = chConst.chChartLayoutVertical
.ChartWrapCount = 1
.HasChartSpaceLegend = True
.Charts(0).HeightRatio = 100
 
[運轉_Config]
GraphType=XY
YAxisTitle=流量 (cms)
 
[運轉_Data]
觀測進水量=37150.3333333333, 37150.375, 37150.4166666667, 37150.4583333333, 37150.5, 37150.5416666667, 37150.5833333333, 37150.625, 37150.6666666667, 37150.7083333333, 37150.75, 37150.7916666667, 37150.8333333333, 37150.875, 37150.9166666667, 37150.9583333333, 37151, 37151.0416666667, 37151.0833333333, 37151.125, 37151.1666666667, 37151.2083333333, 37151.25, 37151.2916666667, 37151.3333333333, 37151.375, 37151.4166666667, 37151.4583333333, 37151.5, 37151.5416666667, 37151.5833333333, 37151.625, 37151.6666666667, 37151.7083333333, 37151.75, 37151.7916666667, 37151.8333333333, 37151.875, 37151.9166666667, 37151.9583333333, 37152, 37152.0416666667, 37152.0833333333, 37152.125, 37152.1666666667, 37152.2083333333, 37152.25, 37152.2916666667, 37152.3333333333, 37152.375
觀測進水量=50, 0, 50, 12.78, 10, 60, 50, 0.01, 62.78, 10, 10, 10, 12.78, 60, 60, 10, 12.78, 60, 47.78, 62.78, 62.78, 112.78, 162.78, 210, 334.56, 415.56, 810, 832.78, 800, 752.78, 752.78, 1641.67, 2091.67, 1839.44, 1797.22, 1450.44, 1050, 900, 950, 1544.44, 3352.78, 3421.78, 3325, 2308.11, 1550, 1752.78, 2663.89, 2151.56, 1407.22, 1656.78
預測進水量=37152.375, 37152.4166666667, 37152.4583333333, 37152.5, 37152.5416666667, 37152.5833333333, 37152.625, 37152.6666666667, 37152.7083333333, 37152.75, 37152.7916666667, 37152.8333333333, 37152.875, 37152.9166666667, 37152.9583333333, 37153, 37153.0416666667, 37153.0833333333, 37153.125, 37153.1666666667, 37153.2083333333, 37153.25, 37153.2916666667, 37153.3333333333, 37153.375, 37153.4166666667, 37153.4583333333, 37153.5, 37153.5416666667, 37153.5833333333, 37153.625, 37153.6666666667, 37153.7083333333, 37153.75, 37153.7916666667, 37153.8333333333, 37153.875, 37153.9166666667, 37153.9583333333, 37154
預測進水量=1656.78, 2516.67, 2416.67, 3368.22, 3809, 3238.11, 3291, 3447, 3250.22, 2367.89, 1797.89, 1697.89, 1200.67, 947.44, 847.44, 701.22, 594.44, 594.44, 544.44, 547.22, 441.67, 544.44, 494.44, 391.67, 344.44, 441.67, 429.44, 294.44, 347.22, 344.44, 344.44, 347.22, 344.44, 347.22, 294.44, 302, 247.22, 250, 247.22, 250
無害流量=37150.2916666667,37154
無害流量=2250,2250
觀測水位=37150.3333333333, 37150.375, 37150.4166666667, 37150.4583333333, 37150.5, 37150.5416666667, 37150.5833333333, 37150.625, 37150.6666666667, 37150.7083333333, 37150.75, 37150.7916666667, 37150.8333333333, 37150.875, 37150.9166666667, 37150.9583333333, 37151, 37151.0416666667, 37151.0833333333, 37151.125, 37151.1666666667, 37151.2083333333, 37151.25, 37151.2916666667, 37151.3333333333, 37151.375, 37151.4166666667, 37151.4583333333, 37151.5, 37151.5416666667, 37151.5833333333, 37151.625, 37151.6666666667, 37151.7083333333, 37151.75, 37151.7916666667, 37151.8333333333, 37151.875, 37151.9166666667, 37151.9583333333, 37152, 37152.0416666667, 37152.0833333333, 37152.125, 37152.1666666667, 37152.2083333333, 37152.25, 37152.2916666667, 37152.3333333333, 37152.375
觀測水位=226.92, 226.91, 226.91, 226.89, 226.87, 226.86, 226.86, 226.84, 226.83, 226.81, 226.79, 226.77, 226.75, 226.74, 226.73, 226.71, 226.69, 226.68, 226.61, 226.54, 226.47, 226.41, 226.36, 226.32, 226.2, 226.08, 226.04, 226.01, 225.98, 225.94, 225.9, 226.04, 226.27, 226.39, 226.5, 226.6, 226.62, 226.61, 226.61, 226.73, 227.21, 227.64, 228.05, 228.2, 228.2, 228.24, 228.46, 228.55, 228.48, 228.56
預測水位=37152.375, 37152.4166666667, 37152.4583333333, 37152.5, 37152.5416666667, 37152.5833333333, 37152.625, 37152.6666666667, 37152.7083333333, 37152.75, 37152.7916666667, 37152.8333333333, 37152.875, 37152.9166666667, 37152.9583333333, 37153, 37153.0416666667, 37153.0833333333, 37153.125, 37153.1666666667, 37153.2083333333, 37153.25, 37153.2916666667, 37153.3333333333, 37153.375, 37153.4166666667, 37153.4583333333, 37153.5, 37153.5416666667, 37153.5833333333, 37153.625, 37153.6666666667, 37153.7083333333, 37153.75, 37153.7916666667, 37153.8333333333, 37153.875, 37153.9166666667, 37153.9583333333, 37154
預測水位=228.56, 228.81, 229.04, 229.4, 229.77, 229.95, 229.97, 229.96, 229.93, 229.75, 229.56, 229.41, 229.28, 229.16, 229.08, 229.03, 228.96, 228.89, 228.81, 228.73, 228.63, 228.55, 228.46, 228.35, 228.23, 228.13, 228.05, 227.97, 227.9, 227.83, 227.76, 227.69, 227.62, 227.55, 227.47, 227.46, 227.44, 227.42, 227.4, 227.38
 
[運轉_SetObject]
.HasLegend = False
.PlotArea.Interior.Color = chConst.chColorNone
Set OldY = .Axes(0)
Set OldX = .Axes(1)
OldY.MajorTickMarks = chConst.chTickMarkCross
OldY.MinorTickMarks = chConst.chTickMarkInside
OldX.MajorTickMarks = chConst.chTickMarkCross
OldX.NumberFormat = “dd-hh"
OldX.Scaling.Minimum = 37150
OldX.Scaling.Maximum = 37154
OldX.MajorUnit = 0.5
OldX.MinorUnit = 1/24
arrSeries = Array(.SeriesCollection(0), .SeriesCollection(1), .SeriesCollection(2), .SeriesCollection(3), .SeriesCollection(4))
For i = 3 To 4 : arrSeries(i).UnGroup True : Next
For i = 4 To 4 : arrSeries(3).Group arrSeries(i) : Next
For i = 3 To 4 : arrSeries(i).Line.DashStyle = chConst.chLineDash : Next
Set newY = .Axes.Add(arrSeries(3).Scalings(chConst.chDimYValues))
newY.Position = chConst.chAxisPositionRight
newY.HasTitle = True
newY.Title.Caption = “水位 (El.M)"
newY.MajorTickMarks = chConst.chTickMarkCross
newY.MinorTickMarks = chConst.chTickMarkInside
newY.Scaling.Minimum = 224
newY.Scaling.Maximum = 232
Set newXScaling = arrSeries(3).Scalings(chConst.chDimXValues)
newXScaling.Minimum = OldX.Scaling.Minimum
newXScaling.Maximum = OldX.Scaling.Maximum

廣告
Categories: 技術分享 | 發表留言

文章分頁導航

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

在 WordPress.com 建立免費網站或網誌.

%d 位部落客按了讚: