Foxtable(狐表)用户栏目专家坐堂 → 图表数据标示---示例+疑问


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

主题:图表数据标示---示例+疑问

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


加好友 发短信
等级:童狐 帖子:274 积分:2451 威望:0 精华:1 注册:2010/9/14 13:18:00
图表数据标示---示例+疑问  发帖心情 Post By:2011/8/17 16:11:00 [只看该作者]

示例中2011的数据标示.

那么2010或更多条曲线数据标示怎么标?

每条曲线的线型和标示点大小怎么设置呢?

 

Dim Chart As WinForm.Chart
Dim Series As WinForm.ChartSeries
Chart= e.Form.Controls("Chart1")
Chart.SeriesList.Clear()
Dim nms() As Integer ={ "1","2","3","4","5","6","7","8","8","10","11","12"}
For Each r As Row In Tables("foxtext").Rows
    Series = Chart.SeriesList.Add()
    series.Text = r("年份")
    Series.Length = nms.length
    For i As Integer = 0 To nms.Length - 1
        Series.X(i) = i
        Series.Y(i) = r(nms(i))
    Next
Next
For i As Integer = 0 To nms.Length - 1
    Chart.AxisX.SetValueLabel(i,nms(i))
Next
Chart.AxisX.AnnoRotation =  25
Series.TooltipText = "Y = {#YVAL}"   ' 此处的数据标示,只标出2011的标示,2010或由动态生成的曲线怎么标示呢?
Series.MarkShape = MarkShapeEnum.Dot
Chart.AxisX.AnnoWithLabels = True
Chart.LegendVisible = True
Chart.VisualEffect = True
Chart.SeriesList(0).FitType = FitTypeEnum.Spline
Chart.SeriesList(1).FitType = FitTypeEnum.Spline ' 假如有多条曲线,而且是动态生成.那线型应该怎么定义呢?
Chart.LegendVisible = True
series.marksize= 3
Chart.LegendCompass= CompassEnum.South
MainTable = Tables("foxtext")
MainTable.Font = New Font("宋体",10,FontStyle.Regular)

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:foxtext.zip


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/17 16:50:00 [只看该作者]

1、不管多少条线都一样的。

2、修改表示点大小:

http://www.foxtable.com/help/topics/1044.htm

 


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


加好友 发短信
等级:童狐 帖子:274 积分:2451 威望:0 精华:1 注册:2010/9/14 13:18:00
  发帖心情 Post By:2011/8/17 16:59:00 [只看该作者]

以下是引用狐狸爸爸在2011-8-17 16:50:00的发言:

1、不管多少条线都一样的。

2、修改表示点大小:

http://www.foxtable.com/help/topics/1044.htm

 

series.marksize= 3  已经在代码中体现了,实际显出来的曲线只有一条有变化.其它的曲线没有变化.

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/17 17:05:00 [只看该作者]

Dim Chart As WinForm.Chart
Dim Series As WinForm.ChartSeries
Chart= e.Form.Controls("Chart1")
Chart.SeriesList.Clear()
Dim nms() As Integer ={ "1","2","3","4","5","6","7","8","8","10","11","12"}
For Each r As Row In Tables("foxtext").Rows
    Series = Chart.SeriesList.Add()
    series.marksize= 3
    series.Text = r("年份")
    Series.Length = nms.length
    For i As Integer = 0 To nms.Length - 1
        Series.X(i) = i
        Series.Y(i) = r(nms(i))
    Next
Next
For i As Integer = 0 To nms.Length - 1
    Chart.AxisX.SetValueLabel(i,nms(i))
Next
Chart.AxisX.AnnoRotation =  25
Series.TooltipText = "Y = {#YVAL}"   ' 此处的数据标示,只标出2011的标示,2010或由动态生成的曲线怎么标示呢?
Series.MarkShape = MarkShapeEnum.Dot
Chart.AxisX.AnnoWithLabels = True
Chart.LegendVisible = True
Chart.VisualEffect = True
Chart.SeriesList(0).FitType = FitTypeEnum.Spline
Chart.SeriesList(1).FitType = FitTypeEnum.Spline ' 假如有多条曲线,而且是动态生成.那线型应该怎么定义呢?
Chart.LegendVisible = True
Chart.LegendCompass= CompassEnum.South
MainTable = Tables("foxtext")
MainTable.Font = New Font("宋体",10,FontStyle.Regular)

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


加好友 发短信
等级:童狐 帖子:274 积分:2451 威望:0 精华:1 注册:2010/9/14 13:18:00
  发帖心情 Post By:2011/8/17 18:10:00 [只看该作者]

Series.TooltipText = "Y = {#YVAL}"   ' 此处的数据标示,只标出2011的标示,2010或由动态生成的曲线怎么标示呢?
Chart.SeriesList(0).FitType = FitTypeEnum.Spline
Chart.SeriesList(1).FitType = FitTypeEnum.Spline ' 假如有多条曲线,而且是动态生成.那线型应该怎么定义呢?

 

2010年的曲线还是没有标示...


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/17 21:19:00 [只看该作者]

Dim Chart As WinForm.Chart
Dim Series As WinForm.ChartSeries
Chart= e.Form.Controls("Chart1")
Chart.SeriesList.Clear()
Dim nms() As Integer ={ "1","2","3","4","5","6","7","8","8","10","11","12"}
For Each r As Row In Tables("foxtext").Rows
    Series = Chart.SeriesList.Add()
    series.marksize= 3
    Series.FitType = FitTypeEnum.Spline
    Series.TooltipText = "Y = {#YVAL}"
    series.Text = r("年份")
    Series.Length = nms.length
    For i As Integer = 0 To nms.Length - 1
        Series.X(i) = i
        Series.Y(i) = r(nms(i))
    Next
Next
For i As Integer = 0 To nms.Length - 1
    Chart.AxisX.SetValueLabel(i,nms(i))
Next
Chart.AxisX.AnnoRotation =  25
Series.TooltipText = "Y = {#YVAL}"   ' 此处的数据标示,只标出2011的标示,2010或由动态生成的曲线怎么标示呢?
Series.MarkShape = MarkShapeEnum.Dot
Chart.AxisX.AnnoWithLabels = True
Chart.LegendVisible = True
Chart.VisualEffect = True
Chart.LegendVisible = True
Chart.LegendCompass= CompassEnum.South
MainTable = Tables("foxtext")
MainTable.Font = New Font("宋体",10,FontStyle.Regular)

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


加好友 发短信
等级:童狐 帖子:274 积分:2451 威望:0 精华:1 注册:2010/9/14 13:18:00
  发帖心情 Post By:2011/8/18 9:30:00 [只看该作者]

谢谢,
源数据有小数位的时候,数据标示失真(有的被四舍五入了).

 回到顶部