社区
VFP
帖子详情
如何在VF环境中实现动态的柱状图显示
guhong138
2007-12-06 07:17:41
如何在VF环境中实现动态的柱状图显示:
歌手编号 票数
1 242
2 23
3 354
4 23
5 369
6 23
7 889
8 245
9 7882
10 2334
11 343
12 897
13 1000
14 2423
15 675
16 479
17 7900
18 6900
19 3545
20 8900
票数是动态变化的,怎么样才能让动态变化的过程在图行化的界面上显示出来?
急!!!
忘高手都予帮助,在此先谢谢了
...全文
352
3
打赏
收藏
如何在VF环境中实现动态的柱状图显示
如何在VF环境中实现动态的柱状图显示: 歌手编号票数 1242 223 3354 423 5369 623 7889 8245 97882 102334 11343 12897 131000 142423 15675 16479 177900 186900 193545 208900 票数是动态变化的,怎么样才能让动态变化的过程在图行化的界面上显示出来? 急!!! 忘高手都予帮助,在此先谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
guhong138
2007-12-09
打赏
举报
回复
好象不行啊,
不过我用数字的方式把这个做出来了
WWWWA
2007-12-07
打赏
举报
回复
转:
原创]采用MSGraph控件作统计图表一例
在论坛有一些狐友对VFP中用MSgraph作图的存在困惑,为了共同提高这一目的,我特写这一示例,希望对狐友有帮助。
我的示例运行的环境:WIN98,VFP6,必需装有MSGRAPH9或OFFICE2000。
我的示例中加有XP按扭控件,解压后须对其注册,否则会出错!!!
示例主要描述一些简单的图表格式控制方法,主要有:
1.怎样控制图表的数据源的使用方法。
2.怎样控制图表的标题、(X)轴即分类轴、(Y)轴即数值轴、(X)轴即系列轴及例尺的格式的使用方法。
3.怎样控制图表上翻、下翻、左翻、右翻及透视的使用方法。
4.怎样控制图表有无数据表等。
但由于时间关系没有对原码作详细注释和说明,请见谅。
例子封面:
VFPMSGRAPH示例
在VFP中实现图形统计报表
本文介绍采用OLE技术,实现图形统计报表功能。
VFP提供了一种称为“通用类型(General)”的字段,可以用于存储OLE对象的引用。而OLE绑定型控件则可以在表单(Form)或报表(Report)中,显示数据库表General字段对应的OLE对象的内容。在VFP的表单设计器和报表设计器中都可以使用OLE绑定型控件。
图形统计报表的实现
要实现图形统计报表,需要一个支持OLE的图形软件绘制图形。由于Microsoft Graph(以下简称MsGraph)支持OLE技术,并且支持的图表类型众多,因此,我们选用MsGraph进行图形的显示输出。
MsGraph支持的图表类型主要有柱形图、条形图、折线图、饼图、XY(散点)图等等。MsGraph对各种图表类型都给出了相应的常量定义,如三维簇状柱形图(xl3DclumnClustered)、三维簇状条形图(xl3DbarClustered)、折线图(xlLine)、折线散点图(xlXYScatterLines)等等,在程序中需要确定图表类型时可方便地加以引用。
MsGraph采用面向对象技术,对MsGraph对象提供了清晰的对象层次,用于程序中对图表的各个部分(如分类轴、数据轴、标题、图例等等)进行控制。利用MsGraph所提供的各个对象,可以通过程序对MsGraph图表对象的各个部分进行精细的控制,下面的例子列举了如何对MsGraph图表对象施加控制。
为叙述方便,这里假设有一个需要统计的数据库表,名为Details,其中的两个字段定义如下:Date(日期型)和Value(数值型,假设为某一设备的电气参数,如绝缘电阻)。现在需要统计出该设备电气参数从某一年以来(nFirstYear)的历年变化趋势。另外定义了一个统计数据库表(名为Statistics),其中的一个字段定义为GraphRec,字段类型为General。
将统计数据送入临时表中:
Close Tables All
Select Date,Value From Details Where Year(Date)>=nFirstYear;
Order by Date Into Cursor MyTemp
生成数据串:
MsGraph可以根据字符串数据生成图形,但要求字符串数据具有表格型式(实际上字符串数据就是按这种格式填入MsGraph数据表中的),在本例中,字符串数据格式如下表所示:
1990 1991 … 1999
绝缘电阻(mΩ) 123456.234 654321.432 … 654321.432
实现代码为:
Local lcData,lcYear
Select MyTemp
lcYear=′′
lcData=′绝缘电阻(MΩ)′
Scan
lcYear=lcYear+TAB+AllTrim(Str(Year(Date)))
lcData=lcData+TAB+AllTrim(Str(Value,16,3))
EndScan
lcData=lcYear+CRLF+lcData
Use
数据串传递给MsGraph:
Use Statistics
Append Blank
Append General GraphRec Data lcData Class ″MsGraph.Chart″
Use
修改图形类型
上面生成的图形类型是MsGraph的默认类型,并不总是能满足要求,因此需要软件对它加以修改。本文的例子是将MsGraph的图表类型设置为折线散点图(xlXYScatterLines),并分别设置它的分类轴(xlCategory)与数值轴(xlValue)的标题与字体大小。方法如下:
(1) 新建表单Form1,在上面放置OLE绑定型控件,名为Ole1,设置Ole1的ControlSource属性为Statistics.GraphRec。
(2) 在Form1.Init方法程序中添加如下代码:
#define xlXYScatterLines 74
#define xlCategory 1
#define xlValue 2
#define xlTickLabelOrientationUpward -4171
#define xlUpward -4171
#define xlTickLabelOrientationHorizontal -4128
If Not Used('Statistics')
Use Statistics
EndIf
Select Statistics
Scan
ThisForm.Refresh
With This.Ole1
.hasTitle=.F. &&没有标题
.hasLegend=.F. &&没有图例
.chartType=xlXYScatterLines
With .Axes(xlValue) &&设置数值轴
.hasTitle=.T.
.AxisTitle.Caption=′绝缘电阻(MΩ)′
.AxisTitle.Font.size=9
.AxisTitle.Orientation=xlUpward
.TickLabels.Font.size=9
EndWith
With .Axes(xlCategory) &&设置分类轴
.hasTitle=.T.
.AxisTitle.Caption=′年份′
.AxisTitle.Font.size=9
.TickLabels.Font.size=9
.TickLabels.Orientation=;
xlTickLabelOrientationHorizontal
EndWith
EndScan
(3) 以上步骤已经完成了图形的生成与图形类型的设定,并保存在Statistics表中的GraphRec字段中。要输出图形统计报表,只需在报表(数据环境设为Statistics.Dbf)相应位置放置一个图片/OLE绑定型控件,设置它的字段属性为Statistics.GraphRec即可。
WWWWA
2007-12-07
打赏
举报
回复
加入MS CHART,在INIT事件中:
oconnection = CREATEOBJECT("adodb.connection")
oconnection.connectionstring = 'Provider=VFPOLEDB.1;Data Source=d:\temp;Password="";Collating Sequence=MACHINE'
oconnection.open
qq=oconnection.execute('select * from tt')
this.DataSource=qq
微软图形控件安装使用[转]
下了它的示例程序后,运行了一下,非常的强大,可以支持各种各样的图形
显示
,常见的:点状图、饼图、
柱状图
、曲线图、面积图、排列图等等,同时也支持3D样式的图表
显示
,不过我觉得最有用的功能还是 支持图形上...
MPB:
中
科院微生物所蔡磊组-基于扩增子数据的系统发育树的构建和展示
为进一步提高《微生物组实验手册》稿件质量,本项目新增大众评审环节。文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见。公众号格式
显示
略有问题,建议电脑端点击文末...
视频滤镜参数
在配置编译FFmpeg时可以通过--disable-filters来禁止所有滤镜的编译。也可以配置编译脚本来输出所有包含进编译的滤镜信息。下面是当前可用的视频滤镜介绍。 alphaextract 把输入视频作为灰度视频来提取透明...
Python 接口并发测试详解
通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。性能...
常用电子元器件简介
一、电阻器 电阻器(一般情况下也称电阻)是一种阻碍电流在电路
中
流动的线性元件,也是组成电子电路的主要元件之一。 1.电阻器的作用及电路图形符号 (1)电阻器的作用 电阻器主要用于控制电路
中
的电压和电流,...
VFP
2,727
社区成员
29,114
社区内容
发帖
与我相关
我的任务
VFP
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
复制链接
扫一扫
分享
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章