joint 发表于 2017-7-12 18:53:36

请教:au3有没有堆积柱状图的样例?

本帖最后由 joint 于 2017-7-12 19:31 编辑

堆积柱状图是日常工作中使用最广泛的图形,也是Excel的基础图形,所以很多软件都有绘制这种图形的模块和样例。按说au3的帮助文件还是很不错的,但对我来说有个很大的麻烦,就是字体太小了,选择最大的字体后还是有很多地方看不清,要拿个放大镜去看,非常不方便。所以,每次看文档找样例都坚持不了多长时间,也一直没找到au3关于绘制堆积柱状图方面的样例。

所以想先找样例,一是零起点新手,水平不行,所以希望能找个参照样例以方便学习,二是前面走了很多弯路,想比较清楚的了解下是否满足我的需要。
一开始是想用python的matplotlib模块来绘制的,这个模块绘制堆积柱状图非常简单,引入模块后,实际上关键的代码只有一行。
比如:

绘制色块也比较简单,比如:


但对我来说,有两个问题:
1、绘制速度慢,尤其是数据量比较大的时候,因为这软件注重的是印刷级的绘图质量而不是绘图速度。
2、实时交互方面有点弱。
所以后来只好放弃,想用pyqt来绘制,但折腾了一段时间后,发现,网上的样例主要是python2环境下的,而python2对汉字的处理不太好,就只好用python3,但python3与2并不兼容,相应的绘图方面也存在很多不一致的地方,搞的比较头疼。此外,相对于我很轻型的需求来说,pyqt也有点太重型了。
前些天偶然发现了au3,感觉比较合适,比较轻型,效率比较高,也有比较强的界面编程功能。但是,我是基础比较差的初学者,加上眼睛容易疲劳模糊,所以,如果完全按部就班从幼儿园开始学期,可能周期太长,眼睛也受不了。所以还是想尽量找些参考样例,以便缩短些时间也少走些弯路,毕竟我也只是为了满足一些自己零碎的需求,并没有什么长远和高深的打算。
所以,希望这里看过路过的各位大神们,朋友们,多提意见,多多帮助,本人不胜感谢。
如果有些帮助需要付费的话,也请直接告知,本人亦愿意支付合理的费用。谢谢大家。

joint 发表于 2017-7-12 19:05:24

本人需要绘制的基础图形实际上只有两类,为描述的尽量完整起见,把前面的贴图和描述复制如下:



第一个为柱状堆积图,但是需要实时显示和交互。
第二张图为可交互的色块图,想通过在ListView上添加控件实现,从这个帖子看ListView上添加控件应该没问题:
http://www.autoitx.com/forum.php?mod=viewthread&tid=3028&from=favorites
所以又找了些绘制圆和长方块的源码,希望能把绘图部分的函数提取出来,然后在ListView绘制。
但是这对我来说比较难,所以发了个求助帖:http://www.autoitx.com/thread-55549-1-1.html
但是好像没什么人回复,感觉这个可能也比较难。

因为要绘制的图形都是比较简单的标准图形,所以,后来又想是不是可以直接用字符图案代替图形的绘制?
见:各种字符图案代码:http://www.360doc.com/content/14/0105/15/9708896_342803932.shtml

joint 发表于 2017-7-12 19:20:39

从我很少的一点经验里有这样的一种感觉:
95%以上想实现的功能可能都已经有人做过了,只是还没有找到而已;
每一种麻烦的需求,可能早就存在着一个牛逼的函数,只是还没有找到而已。

joint 发表于 2017-7-12 19:22:38

本帖最后由 joint 于 2017-7-12 19:24 编辑

网上看到的这个样例绘制了颜色和对应的名称。

heroxianf 发表于 2017-7-12 22:11:03

python做不是更好么?

haijie1223 发表于 2017-7-13 07:23:13

回复 5# heroxianf


    坐等大神出手{:1_303:}

heroxianf 发表于 2017-7-13 07:54:48

回复 6# haijie1223


发哥,你不整下!GDI+

joint 发表于 2017-7-13 07:57:29

本帖最后由 joint 于 2017-7-13 08:01 编辑

回复 5# heroxianf

python的图形开发界面的库其实挺多的,自带的是Tkinter,另外除了PyQt外还有和这个差不多的wxPython,都有点麻烦和笨重的感觉。就我的需求——秒级响应的处理和动态交互而言,应该是vispy和pyqtgraph比较合适,但这两个的资料和样例都非常少,另外的麻烦是基于OpenGL的,对我这种零基础的基本上是完全看不懂。

joint 发表于 2017-7-13 07:58:21

回复 6# haijie1223

感谢hai大光临支持。

heroxianf 发表于 2017-7-13 11:09:03

回复 8# joint


    我最最近也在了解pyqt自带的帮助文件应该可以了!自带的示例也行,不过au3的gdi不错,我整不来。

yamakawa 发表于 2017-7-13 22:13:05

那些图都好做。。。怎么响应点击才是关键。。。。

joint 发表于 2017-7-13 22:27:00

本帖最后由 joint 于 2017-7-13 22:29 编辑

那些图都好做。。。怎么响应点击才是关键。。。。
yamakawa 发表于 2017-7-13 22:13 http://www.autoitx.com/images/common/back.gif

是的,要能响应点击信号。
看看UDF的这类函数是否可以:
_GUICtrlListView_SubItemHitTest
确定哪些列表视图项目或子项目在控件的给定位置
#include <GuiListView.au3>
_GUICtrlListView_SubItemHitTest ( $hWnd [, $iX = -1 [, $iY = -1]] )
参 数
$hWnd        控件 ID 或句柄.
$iX        [可选] 测试位置的 X 值, 或 -1, 使用当前的鼠标位置
$iY        [可选] 测试位置的 Y 值, 或 -1, 使用当前的鼠标位置


_GUICtrlListView_HitTest
确定列表视图指定位置的项目.
#include <GuiListView.au3>
_GUICtrlListView_HitTest ( $hWnd [, $iX = -1 [, $iY = -1]] )
参 数
$hWnd        控件 ID 或句柄.
$iX        [可选] 客户端测试点 X 坐标位. 或 -1, 使用当前鼠标位置
$iY        [可选] 客户端测试点 Y 坐标位. 或 -1, 使用当前鼠标位置

joint 发表于 2017-7-13 22:37:11

回复 11# yamakawa

看看这类处理方式有没有参考价值:

lpxx 发表于 2017-7-14 21:32:06

https://www.autoitscript.com/forum/files/file/443-excelchart/
好像官网有类似例子

yamakawa 发表于 2017-7-14 21:35:25

回复 14# lpxx


    主要是,他要求交互,,就是点击某个色块能激活某个函数
页: [1] 2
查看完整版本: 请教:au3有没有堆积柱状图的样例?