搬家第五天-122.Wincc V7.3 MSChart控件初步使用1-簡單外觀設置,使用數組畫一條曲線


前面的博客中,介紹了如何將數據表內容導出到excel生成曲線圖表,實際上wincc自身提供了微軟的MSChart曲線控件,用這個空控件可以做出統計圖表--雖然功能不像excel那樣強大和豐富。

    在畫面上放置一個ListView控件,作為曲線數據來源,名字叫做LV,假設已經裝入了一批數據,是這個樣子的:

本文只是介紹功能,所以只采集了20個數據。再放置一個Microsoft Chart control 控件,名字修改為Chart,畫面上放置一個按鈕,用於生成曲線。按鈕的是表點擊事件中添加以下代碼:

Sub OnClick(ByVal Item)                                                                                                                       
Dim LV,Chart,flow(),mytime(),RowCount,i
Set LV=ScreenItems("LV")
Set Chart=ScreenItems("Chart")
RowCount=LV.listitems.count
Redim flow(RowCount),MyTime(RowCount)
For i=1 To RowCount
 flow(i)=CInt(LV.listItems.item(i).listsubitems.item(4).text)
 MyTime(i)=CStr(LV.listItems.item(i).listsubitems.item(3).text)
Next

'初始化chart控件
'.Axis坐標軸有兩個參數,第一個axisId指坐標軸編號;第二個參數為保留參數,此處為1,可以不寫
'坐標軸編號0,1,2,3,4
'0為x軸,1為y軸,2位第二y軸,3為z軸,4表示無坐標軸
With Chart
 .TitleText = "流量"
 .Column = 1
 .ColumnLabel = "流量1"
 .ColumnCount=1 '只有一個曲線

 .RandomFill=False '不是用隨機數填充
'   '設置圖線的外觀
'   '設置XY軸
   .Plot.Axis(0).ValueScale.Auto = 0   
   .Plot.Axis(1).ValueScale.Auto = 0
'//  '設置最大值
   .Plot.Axis(0).ValueScale.Maximum = RowCount '設置橫軸標注最大值
   .Plot.Axis(1).ValueScale.Maximum = 200 '設置縱軸標注最大值
'//  '設置最小值
   .Plot.Axis(0).ValueScale.Minimum = 0
   .Plot.Axis(1).ValueScale.Minimum = 0 
 .RowCount =RowCount 
   .Plot.Axis(0).AxisGrid.MajorPen.Style = 1
   .Plot.Axis(1).AxisGrid.MajorPen.Style = 1
   .Plot.AutoLayout = 1
   .Plot.UniformAxis = 0
    .chartType = 3 
    .ShowLegend = 1  '顯示圖例
    For i = 1 To RowCount
 .Row = i
 .RowLabel = "" '先清空標簽
 .data=flow(i)
 Next
    .Row=1
   .RowLabel=CStr(MyTime(1))
    For i=1 To 5
 .Row = i*4
 .RowLabel = CStr(MyTime(i*4))
   Next 
End With
End Sub

 

保存運行,最終是這個效果,可以看出這是一個很簡潔的界面,右面的博客會豐富功能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM