以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]图表中数据值在鼠标指针定位时显示值是能否将日期格式的时分秒去除?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84002)

--  作者:happy_gile
--  发布时间:2016/4/21 8:13:00
--  [求助]图表中数据值在鼠标指针定位时显示值是能否将日期格式的时分秒去除?

图片点击可在新窗口打开查看此主题相关图片如下:未命名.bmp
图片点击可在新窗口打开查看
如何设置才可以在鼠标定位时显示“日期:2016-2-5 销量:857”

--  作者:Hyphen
--  发布时间:2016/4/21 8:45:00
--  
赋值X轴标题的时候就要先设置好日期的格式
--  作者:happy_gile
--  发布时间:2016/4/21 8:59:00
--  

Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("商品日销售汇总_Table1") \'定义一个变量t引用数据表
Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.SeriesList.Clear() \'清除图表原来的图系
Chart.AxisX.DateType = True \'X轴是日期型
Chart.AxisX.AnnoFormatString = "yyyy-MM-dd" \'设置X轴格式
\'Chart.AxisX.Major = 1 \'逐个显示
\'Chart.AxisX.MinorTick = False \'逐个显示
Series = Chart.SeriesList.Add() \'增加一个图系
Series.TooltipText = "日期: {#XVAL},销量: {#YVAL}"
Series.Length = t.Rows.Count \'图系的数据点数等于表的行数
For i As Integer = 0 To t.Rows.Count - 1 \'指定每个数据点的位置
    Series.X(i) = t.Rows(i)("销售日期") \'指定水平坐标
    Series.Y(i) = t.Rows(i)("销售数量") \'指定垂直坐标
Next
是这样吗?可还是显示为2016-2-5 0:00:00

--  作者:Hyphen
--  发布时间:2016/4/21 9:00:00
--  
Series.X(i) = format(t.Rows(i)("销售日期"),"yyyy-MM-dd") \'指定水平坐标
--  作者:happy_gile
--  发布时间:2016/4/21 9:59:00
--  
以下是引用Hyphen在2016/4/21 9:00:00的发言:
Series.X(i) = format(t.Rows(i)("销售日期"),"yyyy-MM-dd") \'指定水平坐标

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


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

测试了一下,没有方法满足你的要求.......

 

最多这样

 

Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("商品日销售汇总_Table1") \'定义一个变量t引用数据表
Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.SeriesList.Clear() \'清除图表原来的图系
\'Chart.AxisX.Major = 1 \'逐个显示
\'Chart.AxisX.MinorTick = False \'逐个显示
Series = Chart.SeriesList.Add() \'增加一个图系
Series.TooltipText = "日期: {#XVAL},销量: {#YVAL}"
Series.Length = t.Rows.Count \'图系的数据点数等于表的行数
For i As Integer = 0 To t.Rows.Count - 1 \'指定每个数据点的位置
    Dim idx As Integer = Cint(Format(t.Rows(i)("销售日期"), "yyyyMMdd"))
    Series.X(i) = Cint(Format(t.Rows(i)("销售日期"), "yyyyMMdd")) \'指定水平坐标
    Series.Y(i) = t.Rows(i)("销售数量") \'指定垂直坐标
    Chart.AxisX.SetValueLabel(idx, t.Rows(i)("销售日期")) \'指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True \'启用字符标示


--  作者:天若千颖
--  发布时间:2016/8/24 20:57:00
--  
 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=89448&skin=0

我当时问红袍老师:3.如果要把鼠标放在数据点上,显示当前点的时间和产量,也就是X、Y值,Y值是数值,可以用YVAL显示,时间如何显示呢? 红袍老师说不行啊。

这个帖子中1楼的时间显示是如何做到的?

加一句 Chart.AxisX.DateType = True \'X轴是日期型 就可以了吗?

--  作者:大红袍
--  发布时间:2016/8/24 21:17:00
--  
 只有日期类型和数值类型两种,而且格式不能指定的