使用Python绘图时,每一个绘图命令都会显示一个GUI窗格并挂起执行(“交互式绘图”)。但我想:
dev.off()命令的Python,该命令关闭图形用户界面进行绘图。示例:
print ggplot(data, aes('Age', 'Weight')) + geom_point(colour='steelblue') 当我执行此操作时,它将打开一个新的GUI (如下面所示),以显示该图。

发布于 2015-09-06 17:39:45
由于绘图是由__repr__方法触发的,因此显然的方法是避免在调用它时出现这种情况。由于您希望在其他地方使用此绘图,因此没有理由调用print,甚至没有理由执行将被丢弃的语句:
ggplot(data, aes('Age', 'Weight')) + geom_point(colour='steelblue') 相反,可以简单地将其赋值给变量。
p = ggplot(data, aes('Age', 'Weight')) + geom_point(colour='steelblue') 一个人在R中所做的事情是完全一样的,使用图形设备重定向输出并丢弃它是没有意义的。
如果出于某些原因,这还不够,您切换到非交互式matplotlib后端:
import matplotlib
matplotlib.use('Agg')
from ggplot import *
ggplot(aes(x='date', y='beef'), data=meat)
<ggplot: (...)>发布于 2015-09-07 20:02:42
您可以执行以下操作,这将返回matplotlib图:
g = ggplot(...) + geom_xxx(...)
fig = g.draw()__repr__()方法( print(g)所称的基本是self.draw(),然后使用matplotlibs plt.show()来显示图.
您还可以使用ggsave(g)将情节保存在某个地方。
https://stackoverflow.com/questions/31933084
复制相似问题