Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共2 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:图表X轴的标识值

1楼
漂亮美眉vszh 发表于:2025/2/19 15:34:00
老师,我想标识出3条线的值,第一是值太往上偏,其次是小数位数太多,如何保留4位小数?

图片点击可在新窗口打开查看此主题相关图片如下:123456.png
图片点击可在新窗口打开查看
Dim drs As List(Of DataRow) = DataTables("表A").Select(条件)

    
    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 '启用字符标示

2楼
有点蓝 发表于:2025/2/19 16:05:00
请上传实例测试
共2 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.