gpt4 book ai didi

python - 在seaborn中,如何增加图形并另存为图像?

转载 作者:行者123 更新时间:2023-12-02 20:11:47 26 4
gpt4 key购买 nike

在 python3 和 pandas 中,我有这个数据框:

gastos_anuais.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 5 entries, 0 to 4
Data columns (total 2 columns):
ano 5 non-null int64
valor_pago 5 non-null float64
dtypes: float64(1), int64(1)
memory usage: 280.0 bytes

gastos_anuais.reset_index()
index ano valor_pago
0 0 2014 13,082,008,854.37
1 3 2017 9,412,069,205.73
2 2 2016 7,617,420,559.22
3 1 2015 7,470,391,492.24
4 4 2018 7,099,199,179.11

我做了一个点图:

import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline

sns.pointplot(x='ano', y='valor_pago', data=gastos_anuais)

plt.xticks(rotation=65)
plt.grid(True, linestyle="--")
plt.title("Gastos Destinados pelo Governo Federal (2014-2018)\n")
plt.xlabel("Anos")
plt.ylabel("Em bilhões de R$")
plt.show()

它成功了。但我想:

  • 增加屏幕上显示的图表的大小

  • 可以保存图像格式,例如.jpeg文件

  • 我不明白为什么图表标题下方会出现“1e10”

请问有人知道我该怎么做吗?

最佳答案

增加屏幕上显示的图表的大小

在绘图之前添加 sns.set(rc={'figure.figsize':(w, h)}) 。例如:

sns.set(rc={'figure.figsize':(20, 5)})

另存为jpg

保留对绘图的引用,获取图形并保存:

p = sns.pointplot(x='ano', y='valor_pago', data=gastos_anuais)

plt.xticks(rotation=65)
#...
# All your editions with `plt`
#...

fig = p.get_figure()
fig.savefig("gastos_anuais.jpg")

角落里的 1e10 是什么?

这是规模。这意味着 y 轴中显示的值应乘以 10^10 才能恢复数据的实际值。

如果你想删除它,可以使用:

plt.ticklabel_format(style='plain', axis='y')

但是您需要对这些值进行一些处理,因为它们会扭曲图像。

关于python - 在seaborn中,如何增加图形并另存为图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53437656/

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