我想总结一下可视化+数据列的统计信息。
我想将两个或多个子图与一个描述性表结合起来,然后将图形保存在本地。
但是,在保存图时,表的一部分会被裁剪。
当我执行以下操作时
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
column=np.random.normal(size=10000)
df=pd.DataFrame(column, columns=["Price"])
summary = (
df.describe()
.append((df.isnull().sum()/len(df)*100)
.rename('nans %'))
.iloc[:,0].to_frame()
)
fig, (ax_distplot) = plt.subplots(1, 1, figsize=(25, 12))
#Distplot with summarizing table
sns.distplot(df.loc[:,"Price"], hist=True, bins=30, kde=False, ax=ax_distplot)
ax_distplot.set(ylabel='Count')
tab = ax_distplot.table(cellText=np.around(summary.values, decimals=2),
rowLabels=summary.index,
colLabels=summary.columns, loc="right",
bbox=[1.15, .2, 0.25, 0.8])
我得到:
使用以下命令在本地保存时
plt.savefig("Price.pdf", bbox_inches="tight")
产量:
我试过了
plt.subplots_adjust(right=0.85)
没有任何运气。
最佳答案
一种解决方法是在图形周围添加一些填充物。我试过了,pad_inches=1
在您的示例中效果很好
plt.savefig("Price.pdf", bbox_inches="tight", pad_inches=1)
关于python - Matplotlib savefig切断pyplot表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56328353/