Foxtable(狐表)用户栏目专家坐堂 → 如何让绘图功能会出更多专业的图


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

主题:如何让绘图功能会出更多专业的图

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


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
如何让绘图功能会出更多专业的图  发帖心情 Post By:2014/6/28 17:35:00 [只看该作者]

 如题,虽然Foxtable能够自动的绘图种类很多,不过,有的时候,由于专业需要,有一些专业图还需要在图中加一些元素。

 

 如下图,是一张简单的专业图,数据点用XYPLOT就可以绘制出来,但是,该图上除了点之后,还有一些分类的线条和文字。如果用Foxtable来实现的的话,只需要有这么一个功能就可以生成这样的图,那就是在XYPlot图中加一张背景图片,可以再图上把线条和文字画好,再和XYPlot图叠合起来即可。问题是:如何设置背景图片?


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

 

  另外,关于坐标轴,一些专业的图还可能涉及到如下问题,不知咱们Foxtable能否实现:

 

  1.设置坐标轴的刻度步长

 

  2.绘制三个坐标轴的图形,如图:

 

 


 


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

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


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2014/6/28 22:17:00 [只看该作者]

  尝试了使用图表+绘图板,绘图板使用GDI+方法绘图

 


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

 

 

  绘图按钮代码如下:

 

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.DataSource = "含气量统计表" '设置绑定表
Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add() '增加一个图系
Series.X.DataField = "井名" 'X轴绑定到产品列
Series.Y.DataField = "收到基总含气量" 'Y轴绑定到数量列

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim g As Graphics = p.Graphics
g.DrawImage(getImage("E:\cnooclogo.png"),10,10)
p.Repaint()

 

 

 使用的图片PNG格式本身是透明的,但是绘图框有颜色,把后面的图给覆盖了。如何让这部分透明?

 

 

  


 


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

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


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2014/6/28 22:58:00 [只看该作者]

       试了很多方法,都不行,包括把图片设置成为面板,但是图表背景是白色的,也不能叠合在一起啊。

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


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

图标无法设置背景图片,也不能灵活的绘制想要的东西的。


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


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2014/6/29 9:14:00 [只看该作者]

 问问版主,狐表的很多核心都是用的葡萄城的控件,比如绘图的控件,用的就是葡萄城的C1控件,葡萄城的C1控件本来能绘80多种图的,狐表是没有买这么多授权,还是也能绘这么多种图,只是说明书上没有写出来而已?

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


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

回复5楼,能画,但是foxtable没有集成那么多。

 

如果画,要自己编写代码,比如,你参考 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=41918&replyID=&skin=1

 


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


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2014/6/29 10:07:00 [只看该作者]

     那我是不是可以这么理解,C1控件功能是很强大的,只要自己写代码,比如说我一楼说的那些图都可以画出来。我看过您上一楼贴出来的3D窗体的代码,不难啊,也是直接使用的c1控件,定义几个属性就可以了。

     那么,FOXtabl能用C1的哪些属性呢?葡萄城官方介绍的都能用吗?我在帮助中没有看到关于C1的任何介绍啊。

Dim a As C1Chart.C1Chart = e.Form.Controls("Chart1").BaseControl
Dim b As C1Chart.ChartGroup = a.ChartGroups.Group0
'b.Use3D = True
a.ChartArea.Inverted = False  
a.ChartArea.PlotArea.View3D.Depth = 40  
a.ChartArea.PlotArea.View3D.Elevation = 20 
a.ChartArea.PlotArea.View3D.Rotation = 8 
a.ChartArea.PlotArea.View3D.Shading = 2
b.Bar.Appearance = 0
b.Bar.MultiRow = True
b.Use3D = True
b.Stacked = False

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


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

  你可以去看c1控件的文档,如果可以画,就可以画。


 回到顶部