Foxtable(狐表)用户栏目专家坐堂 → [求助]图表显示调整及高清另存需求


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

主题:[求助]图表显示调整及高清另存需求

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


加好友 发短信
等级:二尾狐 帖子:550 积分:5021 威望:0 精华:0 注册:2017/4/20 11:08:00
[求助]图表显示调整及高清另存需求  发帖心情 Post By:2019/1/27 14:04:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:图表显示调整及图表另存为图片.foxdb


老师好,关于图表设计,现在在老师的指导和帮助文件下,有些收获。但是还不能按实际需求意图进行展现。现有几个需求,请老师帮完善下,谢谢!
1.不同图系如何指定宽度(如:销售数量要求图状宽度为30mm,销售金额宽度20mm,销售次数宽度为10mm)
2.不同区域之间固定宽度,并随区域的增加而能自动滚动(区域之间固定宽度9mm)
3.如何让各个图系图形图状(柱状图形)不要显示边框
4.生成显示的图表如何另存高清图片,并能在按钮(生成图片)代码指定固定文件夹,但是点击“生成图片”时弹出窗口,可以对图片名重新进行按需求修改命名
再次谢谢!
[此贴子已经被作者于2019/1/27 14:06:39编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/27 14:20:00 [只看该作者]

1、图系宽度是固定无法调整的;

 

2、参考 http://www.foxtable.com/webhelp/scr/0989.htm

 

3、不可以;

 

4、

 


Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "文件|*.jpg" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim Chart As WinForm.Chart
    Chart= Forms("图表").Controls("Chart1")
    Chart.SaveImage(dlg.FileName)
End If

 


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


加好友 发短信
等级:二尾狐 帖子:550 积分:5021 威望:0 精华:0 注册:2017/4/20 11:08:00
  发帖心情 Post By:2019/1/27 14:49:00 [只看该作者]

谢谢有点甜老师,第4个问题解决了。第1和第2问题可能我没描述情况,现附图,请再帮看看。(第2我按帮助设置图形的宽度,好像不起作用)
Series = Chart.SeriesList.Add() '增加第一个图系
Series.Text = "销售数量"
Series.X.DataField = "区域" 'X轴绑定到产品列
Series.Y.DataField = "销售数量" 'Y轴绑定到数量列
Series.DataLabelText = "{#YVAL}"  '数据标示
Series.DataLabelCompass = LabelCompassEnum.North '标示显示位置
Series.FillColor = Color.Blue '图状颜色填充
Chart.BarClusterWidth =400 '图形宽度


图片点击可在新窗口打开查看此主题相关图片如下:图表调整需求补充.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/27 15:01:00 [只看该作者]

比如

 

Chart.BarClusterWidth = 50

 

比如

 

Chart.BarClusterWidth = 50
Dim gd As C1Chart.C1Chart = Chart.BaseControl
gd.ChartArea.AxisX.ScrollBar.min = 0
gd.ChartArea.AxisX.ScrollBar.max = Tables("表A").Rows.count
gd.ChartArea.AxisX.ScrollBar.Scale = 10 / Tables("表A").Rows.count
gd.ChartArea.AxisX.ScrollBar.Visible = True            '图表加滚动条


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


加好友 发短信
等级:二尾狐 帖子:550 积分:5021 威望:0 精华:0 注册:2017/4/20 11:08:00
  发帖心情 Post By:2019/1/27 15:44:00 [只看该作者]

谢谢有点甜老师,基本符合需求了,遗憾的是有了滚动条能显示完整后,另存的图片却是只有部分图形,请再帮看看,如何导出完整的图表,万分感谢!

图片点击可在新窗口打开查看此主题相关图片如下:导出图表不完整.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/27 16:06:00 [只看该作者]

试试

 

Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "文件|*.jpg" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim Chart As WinForm.Chart
    Chart= Forms("图表").Controls("Chart1")
    Dim gd = Chart.basecontrol
    gd.ChartArea.AxisX.ScrollBar.Scale = 1
    gd.ChartArea.AxisX.ScrollBar.Visible = False            '图表加滚动条
    'Dim temp = Chart.Width
    'Chart.Width = Tables("表A").Rows.count * 300
    chart.SaveImage(dlg.FileName)
    'Chart.Width = temp
End If


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


加好友 发短信
等级:二尾狐 帖子:550 积分:5021 威望:0 精华:0 注册:2017/4/20 11:08:00
  发帖心情 Post By:2019/1/27 16:45:00 [只看该作者]

非常感谢有点甜老师,现在2种导出效果都实现了,虽然用了半天时间,不过这个功能很有意义!再次感谢!

 回到顶部