Rss & SiteMap

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

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

标题:图表柱子颜色

1楼
漂亮美眉vszh 发表于:2025/3/7 10:50:00

老师,想每条柱子的颜色不一样,
改成多图系后,能更改颜色,但柱子宽度又太窄
图片点击可在新窗口打开查看此主题相关图片如下:123456.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:23456.png
图片点击可在新窗口打开查看
    Dim Chart As WinForm.Chart '定义一个图表变量
    Dim Series As WinForm.ChartSeries '定义一个图系变量
    'Dim drs As List(Of DataRow)
    'drs = DataTables(e.Form.name & "_Table1").Select("[辅助列] < 10","辅助列 DESC")
    
    Chart= e.Form.Controls("Chart1")
    Chart.SeriesList.Clear() '清除图表原来的图系
    ' If drs.count > 0 Then
    ' Chart.VisualEffect = True
    Dim rb2 As WinForm.RadioButton = e.Form.Controls("RadioButton2")
    If rb2.Checked = True Then
        Chart.ChartType = ChartTypeEnum.Bar
        'Series = Chart.SeriesList.Add()
        'Series.Length = 5
        Dim sp4 As WinForm.SplitContainer = e.Form.Controls("SplitContainer4")
        sp4.Panel1.Collapsed = True
    Else
        Chart.ChartType = ChartTypeEnum.Pie
    End If
    
    Dim zts() As String = {"已完成(延期)","已完成(如期)","进行中(延期)","进行中(将延)","进行中(如期)"}
    
    
    
    For ri As Integer = 0 To 4  ' In drs
        If rb2.Checked = True Then

'For Each c As Col In t.Cols
    'If c.Name <> "产品" Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Text = zts(ri)  '设置图系的标题
        Series.Length = 1  ' t.Rows.Count '设置图系的长度
        'For r As Integer = 0 To t.Rows.Count - 1
            'Series.X(r) = r
            'Series.Y(r) = t.Rows(r)(c.Name)
        'Next
    'End If
'Next

            Series.X(0) = ri  '指定水平坐标
            Series.Y(0) = DataTables(e.Form.name & "_Table1").Compute("count(事项状态)","事项状态 = '" & zts(ri) & "'")
          '  Chart.AxisX.SetValueLabel(ri,zts(ri)) '指定字符表示
    
            If zts(ri) = "进行中(延期)" Then
            'Chart.SeriesList(ri).LineColor = Color.Red
Chart.SeriesList(ri).FillColor = Color.Red
            ElseIf zts(ri) = "已完成(延期)" Then
            'Chart.SeriesList(ri).LineColor = Color.Orange
            Chart.SeriesList(ri).FillColor = Color.Orange
            ElseIf zts(ri) = "进行中(将延)" Then
            'Chart.SeriesList(ri).LineColor = Color.Yellow
            Chart.SeriesList(ri).FillColor = Color.Yellow
            ElseIf zts(ri) = "进行中(如期)"
           ' Chart.SeriesList(ri).LineColor = Color.SpringGreen
            Chart.SeriesList(ri).FillColor = Color.SpringGreen
            ElseIf zts(ri) = "已完成(如期)" Then
           ' Chart.SeriesList(ri).LineColor = Color.Green
            Chart.SeriesList(ri).FillColor = Color.Green
            'ElseIf r("项目状态") = "停止执行项目" Then
            'Series.FillColor = Color.Gray
            End If
Chart.BarClusterWidth = 200
        Chart.AxisX.AnnoWithLabels = True '启用字符标示
        Chart.AxisX.AnnoRotation = - 45
Series.DataLabelText = "{#YVAL}"
2楼
有点蓝 发表于:2025/3/7 11:29:00
Chart.BarClusterWidth = 200
改为
Chart.BarClusterWidth = 20
3楼
漂亮美眉vszh 发表于:2025/3/7 13:42:00
柱子变的更细了,100-200-20等值我都试了,都不行

4楼
有点蓝 发表于:2025/3/7 14:20:00
Chart.BarClusterWidth = 80
5楼
漂亮美眉vszh 发表于:2025/3/7 14:36:00
试过,比100的稍微小一丢丢,基本目视看不出差异
6楼
漂亮美眉vszh 发表于:2025/3/7 14:36:00

图片点击可在新窗口打开查看此主题相关图片如下:567.png
图片点击可在新窗口打开查看
7楼
有点蓝 发表于:2025/3/7 15:13:00
请上传实例测试
8楼
漂亮美眉vszh 发表于:2025/3/7 15:55:00
111
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:求助柱子颜色.foxdb


9楼
有点蓝 发表于:2025/3/7 16:15:00
使用的是图示多列的方式,这种虽然不显示但是其它系列但是一样会占用同样的空间的,中间空出来的是其它图系的宽度

换种方式处理:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=66247
共9 条记录, 每页显示 10 条, 页签: [1]

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

Powered By Dvbbs Version 8.3.0
Processed in .02734 s, 3 queries.