以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于数据标示显示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79248)

--  作者:lgj716330
--  发布时间:2015/12/27 18:15:00
--  关于数据标示显示
在图示多列情况下,以下代码中用于显示数据标示的代码,为什么不会对所有列显示呢

Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t2 As Table = Tables("费用占比2(类别)") \'定义一个变量t引用数据表
Chart = e.Form.Controls("后台费用率") \' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar \'图表类型改为Bar(条形)
Chart.SeriesList.Clear() \'清除图表原来的图系
chart.AxisX.ClearValueLabel
chart.AxisY.ClearValueLabel
For Each c As Col In t2.Cols
        If c.Name <> "年" Then
        Series = Chart.SeriesList.Add() \'增加一个图系
        Series.Text = c.Name \'设置图系的标题
        Series.Length = t2.Rows.Count \'设置图系的长度
        For r2 As Integer = 0 To t2.Rows.Count - 1
            Series.X(r2) = r2
            Series.Y(r2) = t2.Rows(r2)(c.Name)
        Next
    End If
Next
For r2 As Integer = 0 To t2.Rows.Count - 1 
    Chart.AxisX.SetValueLabel(r2, t2.Rows(r2)("年")) \'指定字符表示
Next
Chart.TopMost = True
Chart.AxisX.AnnoWithLabels = True \'启用字符标示
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Series.DataLabelText = "{#YVAL}"
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)


图片点击可在新窗口打开查看此主题相关图片如下:22.jpg
图片点击可在新窗口打开查看


--  作者:lgj716330
--  发布时间:2015/12/27 18:44:00
--  
知道问题在哪里了

im Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t2 As Table = Tables("费用占比2(类别)") \'定义一个变量t引用数据表
Chart = e.Form.Controls("后台费用率") \' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar \'图表类型改为Bar(条形)
Chart.SeriesList.Clear() \'清除图表原来的图系
chart.AxisX.ClearValueLabel
chart.AxisY.ClearValueLabel
For Each c As Col In t2.Cols
        If c.Name <> "年" Then
        Series = Chart.SeriesList.Add() \'增加一个图系
        Series.Text = c.Name \'设置图系的标题
  Series.DataLabelText = "{#YVAL}"
        Series.Length = t2.Rows.Count \'设置图系的长度
        For r2 As Integer = 0 To t2.Rows.Count - 1
            Series.X(r2) = r2
            Series.Y(r2) = t2.Rows(r2)(c.Name)
        Next
    End If
Next
For r2 As Integer = 0 To t2.Rows.Count - 1 
    Chart.AxisX.SetValueLabel(r2, t2.Rows(r2)("年")) \'指定字符表示
Next
Chart.TopMost = True
Chart.AxisX.AnnoWithLabels = True \'启用字符标示
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)

--  作者:lgj716330
--  发布时间:2016/3/24 13:57:00
--  
图表表的数据标示如何格式化,下在这样好象不行
Series.Y(Month) = Format(r("收入")/10000,"0.00") 

--  作者:大红袍
--  发布时间:2016/3/24 14:14:00
--  

 你赋值的是多少,数据标示就是多少

 

Series.Y(Month) = val(Format(r("收入")/10000,"0.00"))

--  作者:lgj716330
--  发布时间:2016/3/24 14:15:00
--  
好的
--  作者:lgj716330
--  发布时间:2016/4/1 10:33:00
--  
如何将下图中柱形图后的折线图的数据点显示出来

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160401103335.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/4/1 10:42:00
--  

方法一:图系1和图系2换一个位置;

 

方法二:控制图系1/2纵坐标值,让其不重叠。


--  作者:lgj716330
--  发布时间:2016/4/1 11:05:00
--  
好的