以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 图表X轴的标识值 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=195073) |
-- 作者:漂亮美眉vszh -- 发布时间:2025/2/19 15:34:00 -- 图表X轴的标识值 老师,我想标识出3条线的值,第一是值太往上偏,其次是小数位数太多,如何保留4位小数? Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Chart = Forms("测量数据录入").Controls("Chart4") \' 引用窗口中的图表 Chart.SeriesList.Clear() \'清除图表原来的图系 Chart.SeriesList2.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'给图表2增加一个图系 Chart.ChartType = ChartTypeEnum.Hilo \'设置图表类型 Series.LineThickNess = 2 \'设置线条宽度 Dim maxi As Double = 62 Dim mini As Double = 61.989 Dim yzdz As Double = 24 + 2 Dim yzdzx As Double = 24 - 2 Dim s As Row = Tables("主控图").current Series.Length = drs.Count \'图系包括10个数据点 For i As Integer = 0 To drs.Count - 1 \'指定每个数据点的位置 Series.X(i) = val(drs(i)("组6")) + (val(drs(i)("组6")) / (val(drs(i)("组2")) + val(drs(i)("组1")) ) * s("P平均") ) \'指定水平坐标 Series.Y(i) = yzdz - 1 \'指定垂直坐标 Series.Y1(i) = 0 \' Chart.AxisX.SetValueLabel(i,drs(i)("组6")) \'指定字符表示 \'Chart.AxisX.SetValueLabel(i,i + 1) \'指定字符表示 Next Chart.SeriesList(0).LineColor = Color.Red Chart.AxisX.Min = mini - s("P平均") \'指定Y轴的最小值 Chart.AxisX.Max = maxi + s("P平均") \'指定Y轴的最大值 \' Output.Show(mini & " " & maxi ) Series.DataLabelText = "{#XVAL}" Chart.Axisy.Max = yzdz \'指定Y轴的最大值 If yzdzx <= 0 Then Chart.Axisy.min = 0 Else Chart.Axisy.min = yzdzx End If Chart.AxisX.Major = s("P平均")*2 Chart.AxisX.AnnoWithLabels = True \'启用字符标示 \'MessageBox.Show(100) \' Return "" Chart.ChartType2 = ChartTypeEnum.Bar \'图表类型改为Bar(条形) Chart.SeriesList2.Clear() \'清除图表原来的图系 Series = Chart.SeriesList2.Add() \'增加一个图系 Series.Length = drs.Count \' + 1 \'设置图系的长度 Dim ss As String = "" Dim ddr As DataRow For r As Integer = 0 To drs.Count - 1 ss = drs(r)("状态") If drs(r)("组5") = -1 AndAlso ss.Contains("~") AndAlso drs(r)("组4") <> 0 Then \'Output.Show(drs(r)("组1") & " " & drs(r)("组3")) Series.X(r) = drs(r)("组2") Series.Y(r) = drs(r)("组3") Chart.AxisX.SetValueLabel(r,drs(r)("组1")) \'指定字符表示 End If Next Series.DataLabelText = "{#YVAL}" Chart.Axisy2.Max = yzdz \'指定Y轴的最大值 Chart.AxisX.AnnoWithLabels = True \'启用字符标示 \' MessageBox.Show(Chart.Axisy.min) Chart.Axisy2.min = Chart.Axisy.min \' Chart.AxisX.AnnoRotation = - 45 Chart.BarClusterWidth2 = 100 Chart.SeriesList2(0).LineColor = Color.LightSkyBlue Chart.AxisX.AnnoWithLabels = True \'启用字符标示 |
-- 作者:有点蓝 -- 发布时间:2025/2/19 16:05:00 -- 请上传实例测试 |