| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5186 人关注过本帖
标题:发现一个牛x的东西,不敢独享
取消只看楼主 加入收藏
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
结帖率:75.86%
收藏
已结贴  问题点数:16 回复次数:10 
发现一个牛x的东西,不敢独享
统计图表插件,免费开源, 自己改改就能使用,感觉VFP能干的活真多, 无私的大师也很多!感谢VFP

图片附件: 游客没有浏览图片的权限,请 登录注册


FoxCharts_1.20.zip (688.6 KB)
收到的鲜花
  • tlliqi2016-04-20 14:15 送鲜花  40朵   附言:很不错
搜索更多相关主题的帖子: 统计 
2016-04-20 11:23
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
回楼上:对对对

我很多图没贴出来,很眩的
2016-04-20 11:40
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
以下是引用tlliqi在2016-4-20 14:15:48的发言:

没用过呢,举例说说


就是类型excel里的图表啊,统计数据用的。
2016-04-20 15:52
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
有的朋友pm说不会用,其实也不一定要全部看懂,有些东西你看不懂没关系,你要知道它怎么个基本工作原理就是了,比如说图上线条就来源几个数据,你把你的数据导入就行,自己找找数据源不是难事吧? 一个表单就几页的代码? 里面都是容器的,这个容器拷贝回来就行了就也不担心布局问题了。

同时拷贝system.drawing.h 和System.app到你自己的表单目录下就可以用了。
2016-05-30 09:31
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
有些东西也不一定说读懂代码很重要,发现有很多人连电脑怎么一个工作原理都不太了解,其实“猜”很重要,多去“猜”多去证实自己的“猜”。
2016-05-30 09:35
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
举个例子说明: 以最简单的 chartssample_beginner.scx 表单为例,运行效果是3D的,但只有把 Depth = 10参数改成0就可以得到平面的,整个表单就只有一个容器,容器就只有init一叶代码,非常简单,所以把这个容器拷贝到你自己的表单里面就可以了,布局都可以不用再管了,然后,如果打开表单初始化时如果你的表单数据还没准备好,可以加个条件限制,避免打开表单时执行容器的init。

备注:源文件,你可以理解为类似vfp的库文件,没有这些东西就无法运行你要的这些统计图表工具,所以要拷贝到你的项目的目录下,然后包含到项目文件里去。

3d
图片附件: 游客没有浏览图片的权限,请 登录注册


平面
图片附件: 游客没有浏览图片的权限,请 登录注册


代码
图片附件: 游客没有浏览图片的权限,请 登录注册


源文件
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-05-30 10:06
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
项目:
图片附件: 游客没有浏览图片的权限,请 登录注册


我的一个应用修改成的代码:


If Type('ca_len')='U'=.F.     && 大写“U”
    If ca_len>=1
* Create a new empty form
* Drom an instance of FoxCharts to it
* Put the following code in the Init() event of the form

* Make sure the form and foxcharts are big enough so that the chart
* will appear well

* Create main cursor
        Create Cursor chart_1 (shuju N(8,2), x轴坐标 c(15))

* Populate cursor with data each column with the sales amount for each x轴坐标
* this will have 12 rows, one for each x轴坐标

        For i=Min(ca_len,12) To 1 Step -1
            ic=Alltrim(Str(i))
            Insert Into chart_1 Values(ca&ic,Iif(i=1,"本周"+Iif(yxca&ic=0,Chr(13)+Chr(10)+"(月未卖)",''),Alltrim(Str(i-1))+"周前"+Iif(yxca&ic=0,Chr(13)+Chr(10)+"(月未卖)",'')))
        Endfor


* Next step is to Setup FoxCharts
* Supposing you already dropped an instance of FoxCharts to any form
        Local loChart
        loChart = This

        With loChart As FoxCharts Of FoxCharts.Vcx

            .ChartType = 5 && Line

* Then, we need to tell the class that it will receive 3 fields of data
* Each field will represent one line
* Later you can try changing the value of the property "ChartType" with values from 1 to 14
* Be careful because we don't have Charttype #3 available yet :-)

            .ChartsCount = 1

* Then we tell FoxCharts the name of the cursor that contains the data needed
            .SourceAlias = "chart_1"
            .FieldAxis2 = "x轴坐标"

* Next step is to populate the collection object that will receive the information from the cursor

* Start with the first column - shuju
            .Fields(1).FieldValue = "shuju" && This is the name of the 1st column of the cursor
            .Fields(1).Legend = ""
            .Fields(1).Color  = Rgb(255,0,0) && Red

* Setting the title and subtitle
            .Title.Caption = "“库存天数”走势图"
            .SubTitle.Caption = ""
            .FontName = "Tahoma"

* Setting the Chart Depth ( 3d effect )
            .Depth = 0

* Set the backColor
            .BackColor = Rgb(255,255,225)

* Set the captions for the axis
            .XAxis.Caption = ""
            .YAxis.Caption = ""

* Draw the chart

            .DrawChart()

        Endwith
    Endi
Endi
2016-05-30 10:11
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
以下是引用wengjl在2016-5-30 12:42:38的发言:

8.0打不开的


这个我不知道,但是,我不知道你为什么还在用8.0,下载9.0不是更好用吗?我用9.0 sp2  汉化 王苏 任明汉
2016-05-31 09:41
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
你不用管自由表放什么位置,他会自动产生在默认位置


这是自己生成的表:
* Create main cursor
        Create Cursor chart_1 (shuju N(8,2), x轴坐标 c(15))

* Populate cursor with data each column with the sales amount for each x轴坐标
* this will have 12 rows, one for each x轴坐标


这是生成的表插入你想要插入的数据:
        For i=Min(ca_len,12) To 1 Step -1
            ic=Alltrim(Str(i))
            Insert Into chart_1 Values(ca&ic,Iif(i=1,"本周"+Iif(yxca&ic=0,Chr(13)+Chr(10)+"(月未卖)",''),Alltrim(Str(i-1))+"周前"+Iif(yxca&ic=0,Chr(13)+Chr(10)+"(月未卖)",'')))
        Endfor
2016-05-31 09:45
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
以下是引用sylknb在2016-5-31 12:47:37的发言:

上述表的代码有问题:找不到变量:ca_len



我,我忘交代了,在表单的init代码里有一句:public ca_len


这里涉及到一个问题,如我上面那个实例,以下这句在容器init代码解决的就是你说的这个问题:
If Type('ca_len')='U'=.F.     && 大写“U”

因为我估计是容器的init(初始化)比表单init(初始化)发生的更早,虽然我在表单里public了,但实际已经晚了,所以Type('ca_len')='U'就不执行容器init绘图的内容。
2016-06-09 23:13
快速回复:发现一个牛x的东西,不敢独享
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024459 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved