Rss & SiteMap

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

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

标题:[求助]图表标志线

1楼
azlm100 发表于:2025/2/13 13:29:00
图片点击可在新窗口打开查看
单元格图表有这个标志线代码。想在chart图表中也添加这个标志线,不知道有没有代码可以实现?

图片点击可在新窗口打开查看
使用了堆积柱状图,然后再添加了一个线状图来当标志线。但是线状图的刻度除了问题,无法跟第一图系的对其。有办法可以取消右边刻度然后这个28能采用左边的刻度来显示?


附上代码

Chart = e.Form.Controls("Chart2") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '设置图表类型
Chart.ChartType2 = ChartTypeEnum.XYPlot '图表2类型该为线形
Chart.SeriesList.Clear() '清除图表原来的图系
chart.AxisX.ClearValueLabel
chart.AxisY.ClearValueLabel
Series = Chart.SeriesList.Add() '增加一个图系
Dim b As Integer = b
Series.Length = lst4.Count '图系的数据点数等于表的行数
Series.Text = "平日加班"
For k As Integer = 0 To lst4.Count - 1 '指定每个数据点的位置
    Series.X(k) = k '指定水平坐标
    Dim dttr As DataRow
    'dttr = dtt.Find("cus_xi = '" & lst3(k) & "' and bd >= '" & dt3 & "' And bd <= '" & dt4 & "'")
    dttr = dt.Find("empname = '" & lst4(k) & "' and bd = '" & dt3 & "'") '=====个人平均加班
    If dttr IsNot Nothing Then
        Series.Y(k) = CInt(Format(dttr("平时加班"), "0")) 
    Else
        Series.Y(k) = 0
    End If
    Chart.AxisX.SetValueLabel(k, lst4(k)) '指定字符表示
Next
Series.FillColor = Color.Green
series.MarkShape = MarkShapeEnum.None
Series.TooltipText = "{#YVAL}"
Series.DataLabelText = "{#YVAL}"
series.DataLabelForeColor = Color.blue
Series.DataLabelCompass = LabelCompassEnum.North
Series = Chart.SeriesList.Add() '给图表2增加一个图系
Series.Length = lst4.Count '图系的数据点数等于表的行数
Series.Text = "休出加班"
For ii As Integer = 0 To lst4.Count - 1 '指定每个数据点的位置
    Series.X(ii) = ii '指定水平坐标
    Dim dttr As DataRow
    dttr = dt.Find("empname = '" & lst4(ii) & "' and bd = '" & dt3 & "'") '=====个人平均加班
    If dttr IsNot Nothing Then
        Series.Y(ii) = CInt(Format(dttr("休出加班") , "0"))
    Else
        Series.Y(ii) = 0
    End If
    Chart.AxisX.SetValueLabel(ii, lst4(ii)) '指定字符表示
Next
Series.FillColor = Color.LightBlue
Chart.Stacked = True
Series.TooltipText = "{#YVAL}"
Series.DataLabelText = "{#YVAL}"
Series.DataLabelCompass = LabelCompassEnum.North
Dim mm As Integer = Chart.AxisY.Max
Chart.SeriesList2.Clear() '清除图表原来的图系
Series = Chart.SeriesList2.Add() '给图表2增加一个图系
Series.Length = lst4.Count '图系的数据点数等于表的行数
Series.Text = "加班标志线"
For iii As Integer = 0 To lst4.Count - 1 '指定每个数据点的位置
        Series.X(iii) = iii '指定水平坐标
        Series.Y(iii) = 28
Next

Chart.AxisY.MinorTick = False 'Y轴不显示副刻度
Chart.AxisX.AnnoRotation = - 45
Chart.LegendVisible = True '显示图列
Chart.LegendCompass = CompassEnum.South '图列显示在南方(底端)
Chart.AxisX.AnnoWithLabels = True '启用字符标示


这个28是不固定

[此贴子已经被作者于2025/2/13 13:32:49编辑过]
2楼
有点蓝 发表于:2025/2/13 13:34:00
参考|:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=55270
3楼
azlm100 发表于:2025/2/13 13:54:00
图片点击可在新窗口打开查看
下载的文件打开就提示这个啊

是我电脑问题吗

[此贴子已经被作者于2025/2/13 14:41:22编辑过]
4楼
有点蓝 发表于:2025/2/13 15:10:00
应该是吧。我下载可以正常打开。换台电脑安装商业版打开试试
共4 条记录, 每页显示 10 条, 页签: [1]

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

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