在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')
但你需要对这些值做些什么,因为它们会扭曲图像。