找回密码
 加入
搜索
查看: 6343|回复: 15

[AU3基础] 请教:au3有没有堆积柱状图的样例?

    [复制链接]
发表于 2017-7-12 18:53:36 | 显示全部楼层 |阅读模式
本帖最后由 joint 于 2017-7-12 19:31 编辑

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

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

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


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2017-7-12 19:05:24 | 显示全部楼层
本人需要绘制的基础图形实际上只有两类,为描述的尽量完整起见,把前面的贴图和描述复制如下:



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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2017-7-12 19:20:39 | 显示全部楼层
从我很少的一点经验里有这样的一种感觉:
95%以上想实现的功能可能都已经有人做过了,只是还没有找到而已;
每一种麻烦的需求,可能早就存在着一个牛逼的函数,只是还没有找到而已。
 楼主| 发表于 2017-7-12 19:22:38 | 显示全部楼层
本帖最后由 joint 于 2017-7-12 19:24 编辑

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2017-7-12 22:11:03 | 显示全部楼层
python做不是更好么?
发表于 2017-7-13 07:23:13 | 显示全部楼层
回复 5# heroxianf


    坐等大神出手
发表于 2017-7-13 07:54:48 | 显示全部楼层
回复 6# haijie1223


发哥,你不整下!GDI+
 楼主| 发表于 2017-7-13 07:57:29 | 显示全部楼层
本帖最后由 joint 于 2017-7-13 08:01 编辑

回复 5# heroxianf

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

感谢hai大光临支持。
发表于 2017-7-13 11:09:03 | 显示全部楼层
回复 8# joint


    我最最近也在了解pyqt自带的帮助文件应该可以了!自带的示例也行,不过au3的gdi不错,我整不来。
发表于 2017-7-13 22:13:05 | 显示全部楼层
那些图都好做。。。怎么响应点击才是关键。。。。
 楼主| 发表于 2017-7-13 22:27:00 | 显示全部楼层
本帖最后由 joint 于 2017-7-13 22:29 编辑
那些图都好做。。。怎么响应点击才是关键。。。。
yamakawa 发表于 2017-7-13 22:13


是的,要能响应点击信号。
看看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, 使用当前鼠标位置
 楼主| 发表于 2017-7-13 22:37:11 | 显示全部楼层
回复 11# yamakawa

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2017-7-14 21:32:06 | 显示全部楼层
发表于 2017-7-14 21:35:25 | 显示全部楼层
回复 14# lpxx


    主要是,他要求交互,,就是点击某个色块能激活某个函数
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-23 16:22 , Processed in 0.098957 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表