gpt4 book ai didi

python - 在 python ggplot 中访问轴或图形

转载 作者:太空狗 更新时间:2023-10-29 22:26:40 25 4
gpt4 key购买 nike

python ggplot 很棒,但仍然很新,我发现需要回退到传统的 matplotlib 技术来修改我的绘图。但我不确定如何将轴实例传递给 ggplot,或从中取回一个实例。

假设我像这样构建了一个图:

import ggplot as gp

(显式导入)

p = gp.ggplot(gp.aes(x='basesalary', y='compensation'), data = df)
p + gp.geom_histogram(binwidth = 10000)

到目前为止没有问题。但现在假设我想要对数刻度的 y 轴。我希望能够做到这一点:

plt.gca().set_yscale('log')

不幸的是,plt.gca() 无法访问由 ggplot 创建的轴。我最终得到了两个数字:ggplot 的线性比例直方图,以及一个带有对数比例 y 轴的空图。

我尝试了一些 gca()gcf() 的变体,但都没有成功。

最佳答案

自 2013 年提出此问题以来,可能已经发生了一些变化。从 ggplot 生成 matplotlib 图的方法是

g.make()

之后,可以通过以下方式获取图形和坐标轴

fig = plt.gcf()
ax = plt.gca()

或者,如果有更多轴,axes = fig.axes

然后,可以在 matplotlib 中添加其他功能,如 this question 中所示。的答案。

最后,可以使用常用的 savefig 命令保存绘图。

完整示例:

import ggplot as gp
import matplotlib.pyplot as plt

# produce ggplot
g = gp.ggplot(gp.aes(x='carat', y='price'), data=gp.diamonds)
g = g + gp.geom_point()
g = g + gp.ylab(' ')+ gp.xlab(' ')
# Make
g.make()

# obtain figure from ggplot
fig = plt.gcf()
ax = plt.gca()
# adjust some of the ggplot axes' parameters
ax.set_title("ggplot plot")
ax.set_xlabel("Some x label")
plt.savefig(__file__+".png")
plt.show()

关于python - 在 python ggplot 中访问轴或图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19665939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com