【发布时间】:2015-08-19 04:49:43
【问题描述】:
我想可视化 matplotlibs 颜色图(类似于 http://matplotlib.org/examples/color/colormaps_reference.html)并将其用作 PyQt 小部件中的 QPixmaps。这个想法是在 matplotlib 中创建绘图而不实际显示它(或将其保存到文件中)并将其转换为 QPixmap。这里提供的解决方案 (Python - matplotlib - PyQT: Copy image to clipboard) 似乎不起作用,可能是因为我不想显示 matplotlib 图。
【问题讨论】:
-
您应该使用上下文代码 - 您链接的问题的答案应该可以正常工作,并且根本不需要显示 matplotlib 图,因此您应该澄清“不起作用”的意思。 "
-
在我抓取像素图后,它的大小为 0x0
-
最后,我换了一种方式:我没有使用matplotlib创建渐变,而是使用了QImage的setPixel方法
-
这正是 QtAgg 后端所做的。如果您真的不想使用 mpl 提供的 QT 小部件,请使用
Agg后端并获取原始 RGBA 缓冲区。请参阅 github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/… 了解我们如何在内部进行操作。 -
@tcaswell 我相信您对原始 RGBA 缓冲区了解很多,但我不知道。我可以在 matplotlib.org 上找到的唯一参考资料在这里:matplotlib.org/examples/pylab_examples/agg_buffer_to_array.html
标签: python matplotlib plot pyqt