搬家第25天-citectVBA设置mschart画两条曲线

昨天的博客记录了使用citectVBA脚本如何设置mschart画一条曲线,很多情况下我们不只需要一条,可能要画多条曲线,今天的练习,使用citectVBA画两条曲线。数据源还是listview控件,为了让不同数据的曲线更加分明,我把两组数据差距设置的比较明显,如下图所示。

新建以下脚本
Sub Create2LinesMSChart()
Dim RowCount,i
RowCount=chart_AN4.listitems.count
'初始化chart控件
'.Axis坐标轴有两个参数,第一个axisId指坐标轴编号;第二个参数为保留参数,此处为1,可以不写
'坐标轴编号0,1,2,3,4
'0为x轴,1为y轴,2位第二y轴,3为z轴,4表示无坐标轴
chart_AN7.TitleText = "两个分厂产量"
chart_AN7.ColumnCount=2 '两条曲线 
 
'设置图线的外观
'设置XY轴
chart_AN7.Plot.Axis(0).ValueScale.Auto = 0  
chart_AN7.Plot.Axis(1).ValueScale.Auto = 0
'//  '设置最大值
chart_AN7.Plot.Axis(0).ValueScale.Maximum = RowCount '设置横轴标注最大值
chart_AN7.Plot.Axis(1).ValueScale.Maximum = 300 '设置纵轴标注最大值
'//  '设置最小值
chart_AN7.Plot.Axis(0).ValueScale.Minimum = 0
chart_AN7.Plot.Axis(1).ValueScale.Minimum = 0 
chart_AN7.RowCount =RowCount 
chart_AN7.Plot.Axis(0).AxisGrid.MajorPen.Style = 1
chart_AN7.Plot.Axis(1).AxisGrid.MajorPen.Style = 1
chart_AN7.Plot.AutoLayout = 1
chart_AN7.Plot.UniformAxis = 0
    '图表类型
chart_AN7.chartType = 3
    '横坐标轴标注
For i = 1 To RowCount
chart_AN7.Row = i
chart_AN7.RowLabel = "" '先清空标签 
Next
chart_AN7.Row=1
chart_AN7.RowLabel=chart_AN4.listItems(1).subitems(1)  
For i=1 To 5
chart_AN7.Row = i*4
chart_AN7.RowLabel = chart_AN4.listItems(i*4).subitems(1)
Next 
 
 '设置曲线1
chart_AN7.ShowLegend = 1  '显示图例
chart_AN7.Column=1
chart_AN7.ColumnLabel = "第一分厂产量"
chart_AN7.RandomFill=False
'填充数据
For i=1 To RowCount
chart_AN7.row = i
chart_AN7.data=chart_AN4.listItems(i).subitems(2)
Next
 
 '设置曲线2
chart_AN7.Column=2
chart_AN7.ColumnLabel = "第二分厂产量"
chart_AN7.RandomFill=False
 
'填充数据
For i=1 To RowCount
chart_AN7.row = i
chart_AN7.data=chart_AN4.listItems(i).subitems(3)
Next
End Sub
 
画面上放置一个按钮调用此脚本,保存编译运行,listview初始化后,点击生成曲线按钮,就能得到如下曲线
更多的曲线可以参考这个编程。
posted @ 2021-02-22 21:00  来自金沙江的小鱼  阅读(377)  评论(0编辑  收藏  举报