Foxtable(狐表)用户栏目专家坐堂 → 柱形图的颜色如何更改


  共有22608人关注过本帖树形打印复制链接

主题:柱形图的颜色如何更改

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47508 积分:251464 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/27 17:18:00 [显示全部帖子]

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart= e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.ChartType = ChartTypeEnum.Bar '设置图表类型
For n As integer = 0 To 1
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 10 '图系包括10个数据点
    For i As integer = 0 to 9 '指定每个数据点的位置
        Series.X(i) = i '指定水平坐标
        Series.Y(i) = i + n * 2 + Rand.Next(5) '垂直坐标用随机数生成
    Next
Next
Chart.SeriesList(0).FillColor= Color.Red
Chart.SeriesList(1).FillColor= Color.Green

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47508 积分:251464 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/27 20:05:00 [显示全部帖子]

Series不是凭空生成的,要用Add方法增加的

For i As integer = 0 to 7 '指定每个数据点的位置
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 8 '新增图系包括10个数据点
    .....
Next
[此贴子已经被作者于2009-8-27 20:05:28编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47508 积分:251464 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/27 21:52:00 [显示全部帖子]

同一个图系的颜色是相同的,不能单独指定图系某个点的颜色.
你只有一个图系,自然下面的代码要出错,因为图系1到7是不存在的,只有图系0

解决办法:

除非你增加8个图系,每个图系一个点


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47508 积分:251464 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/27 21:59:00 [显示全部帖子]

Dim lst As List(Of String)
lst.add("红")
lst.add("黑")
lst.add("白")

应该改为:

Dim lst As New List(Of String)
lst.add("红")
lst.add("黑")
lst.add("白")

其他自己研究
[此贴子已经被作者于2009-8-27 21:59:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47508 积分:251464 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/27 23:05:00 [显示全部帖子]

别做了,我测试过,不好看.

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47508 积分:251464 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/27 23:27:00 [显示全部帖子]

我也没办法,只能做到这样的:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目48.table


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47508 积分:251464 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/27 23:49:00 [显示全部帖子]

没有办法的

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47508 积分:251464 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/28 0:05:00 [显示全部帖子]

12楼的文件本来就只有几个坐标点的

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47508 积分:251464 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/28 12:57:00 [显示全部帖子]

以下是引用floor2在2009-8-28 12:26:00的发言:
 12楼的文件不止几个坐标点,是几个有值的坐标点,无值的还是很多的,

添加一个for语句,做出来的效果跟只有一个图系的效果一样.看不出你设置了几个图系


不明白,请贴个例子分享一下.


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47508 积分:251464 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/31 7:55:00 [显示全部帖子]

呵呵,这样就行了:

For n As integer = 1 To 8
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1
    Series.X(0) = 1 '指定水平坐标
    Series.Y(0) =5 + Rand.Next(1,3) '垂直坐标用随机数生成
Next

只是这样到了另一个极端

 回到顶部
总数 11 1 2 下一页