以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助][原创]关于图表的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=114852)

--  作者:km007
--  发布时间:2018/2/24 1:45:00
--  [求助][原创]关于图表的问题


以下内容是专门发给狐狸爸爸,有点蓝,有点甜,逛逛,lsy,bin浏览

[此贴子已经被作者于2018/2/24 1:49:06编辑过]

--  作者:有点蓝
--  发布时间:2018/2/24 9:13:00
--  
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("表A") \'定义一个变量t引用数据表
Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.SeriesList.Clear() \'清除图表原来的图系
Chart.AxisX.DateType = True 
Chart.AxisX.AnnoFormatString = "yyyy-MM-dd"
Dim i As Integer = 0
For Each c As Col In t.Cols
    If c.Name <> "日期" Then
        Series = Chart.SeriesList.Add() \'增加一个图系
        Series.Text = c.Name \'设置图系的标题
        Series.Length = t.Rows.Count \'设置图系的长度
        Series.LineColor = Color.Red \'线条颜色
        Series.MarkShape = MarkShapeEnum.Dot \'标识点形状-圆点
        Series.MarkColor = Color.Green \'标识点颜色-绿色
        Chart.SeriesList(i).FitType = FitTypeEnum.Spline \'波浪形
        Series.DataLabelText = "{#YVAL} 元"
        Series.DataLabelCompass = LabelCompassEnum.NorthEast
        For r As Integer = 0 To t.Rows.Count - 1
            Series.X(r) = t.Rows(r)("日期")
            Series.Y(r) = t.Rows(r)(c.Name)
            Series.TooltipText = "产品: " & c.Name & vbcrlf & "日期: {#XVAL:yyyy-MM-dd}"  & vbcrlf & "金额: {#YVAL} 元"
        Next
        i = i + 1
    End If
Next
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)
Dim a As C1Chart.C1Chart = Chart.BaseControl
a.ChartArea.AxisX.ScrollBar.Scale = 0.2
a.ChartArea.AxisX.ScrollBar.Visible = True
[此贴子已经被作者于2018/2/24 9:13:20编辑过]

--  作者:km007
--  发布时间:2018/2/24 12:24:00
--  

问题1:点击“生成图形”按钮生成图形后,再点击“生成图形2”,图形生成不了,如果先点击的是“生成图形2”能生成图形,再点击“生成图形”按钮则生成不了图形,,请问这是什么问题?((如图一)

问题2:X抽绑定的是字符型列,动态提示中的“#XVAL”值显示的是坐标位置,而不是其值,请问这个如何处理?(如图二)

 


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

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


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


--  作者:有点蓝
--  发布时间:2018/2/24 14:29:00
--  
1、去掉这句就可以了:a.ChartArea.AxisX.ScrollBar.Visible = True

2、请仔细看2楼红字部分内容

--  作者:km007
--  发布时间:2018/2/24 14:46:00
--  
以下是引用有点蓝在2018/2/24 14:29:00的发言:
1、去掉这句就可以了:a.ChartArea.AxisX.ScrollBar.Visible = True

2、请仔细看2楼红字部分内容

2楼用的是代码标示XY坐标数据,我现在改成的是XY都绑定了数据表列的,而且是字符型,并非日期形了。


--  作者:有点蓝
--  发布时间:2018/2/24 15:16:00
--  
没有办法,还是用回日期型列吧
--  作者:km007
--  发布时间:2018/2/24 16:01:00
--  
X轴绑定的那个列,将其看成是产品,这样去看待,因为是字符型,那么我要动态显示 其 #XVAL”值 应该也是显示 其X轴的数据标识才对吧