【发布时间】:2014-02-17 21:37:29
【问题描述】:
我已经使用 pandas 和 ggplot 在 ipython 中完成了我的数据分析,但现在我想将其移至 gui 并考虑使用 pyqt。
要在 pyqt 中创建图形,我通常会使用 matplotlib,类似这些线的东西..
import matplotlib.pyplot as plt
figure = plt.figure()
figure.add_subplot(111)
ax.plot(data, '*-')
但我想使用 pandas 和 ggplot 之间的集成。但这不起作用
p = ggplot(mtcars, aes('mpg', 'qsec')) + geom_point(colour='steelblue')
ax.plot(p)
如何在 pyqt 程序中绘制 python ggplot 图?
【问题讨论】:
-
ggplot下面仍然是 matplotlib,但是 iirc 他们广泛使用 pyplot 接口状态机并且每次都创建一个新图形。这可能是可行的,但可能涉及挖掘/重写ggplot的内容。见github.com/yhat/ggplot/blob/master/ggplot/ggplot.py#L136 -
你是在找
p.draw()吗? -
感谢您的回复。 p.draw() 打开一个新窗口,我希望绘制到一个子图。这可能吗?
-
在上面的
p.draw()将返回一个matplotlib 图形。您可以使用此图添加子图,然后将此轴传递给 pandas 绘图函数或直接使用 matplotlibs 绘图。目前无法将两个 ggplot 图(或任何现有的图与一个新的 ggplot 图)结合起来(参见github.com/yhat/ggplot/issues/160 和github.com/yhat/ggplot/issues/181)。 -
@Jasc 你能把它作为答案发布吗?
标签: python python-2.7 matplotlib python-ggplot