如何保存整个图表而不被切断? [复制]
Posted
技术标签:
【中文标题】如何保存整个图表而不被切断? [复制]【英文标题】:How do I save the entire graph without it being cut off? [duplicate] 【发布时间】:2019-09-20 09:35:42 【问题描述】:我正在尝试使用 myplotlib 绘制饼图,并且我能够设置间距,而使用 plt.show()
的最终结果正是我想要的。但是,每当我尝试使用 plt.savefig("file path name here.png")
保存我的图时,标签的标题和部分都会被切断。
我尝试过使用plt.tight_layout()
,但是这完全消除了我事先设置的所有间距。我还尝试了plt.savefig("file path name.png", dpi=...)
,但这只会增加保存的 png 的大小,创建一个更大的图像,其标题和标签被截断。
Dict_July=dict(Apps["July"].value_counts())
Dict_Aug=dict(Apps["August"].value_counts())
Dict_Sept=dict(Apps["September"].value_counts())
Dict_Oct=dict(Apps["October"].value_counts())
Dict_Nov=dict(Apps["November"].value_counts())
Dict_Jan=dict(Apps["January"].value_counts())
Dict_Feb=dict(Apps["Feb/Mar"].value_counts())
Dict_April=dict(Apps["April"].value_counts())
App_Errors=[Dict_July, Dict_Aug, Dict_Sept, Dict_Oct, Dict_Nov, Dict_Jan, Dict_Feb, Dict_April]
App_Names=["None","2020","CRM","Other","3C Logic","Outlook","Act-on","Foxit"]
colors=["c","orangered","lime","gold","mediumorchid","mediumslateblue","fuchsia","mediumspringgreen"]
july_leg_values=[]
july_legend=[]
for x in range(len(App_Names)):
try:
july_leg_values.append(App_Errors[0][App_Names[x]])
july_legend.append(App_Names[x])
except:
"test"
plt.pie(july_leg_values, labels=july_legend,shadow=True,colors=colors, autopct="%1.1f%%", radius=1.6, explode=(.1,0,0,0,0,0,0,0))
plt.title("July 2017 App Errors",y=1.3,fontsize=14, fontweight="bold")
plt.savefig("./Images/July_App.png")
我创建的内容与保存的内容的示例是 here。
【问题讨论】:
radius=1.6 会创建一个比图形大的饼图,因此会被切掉。使用 radius =1 或类似方法在图中拥有完整的饼图。 那么有没有办法把图片原样保存呢?我将其设置为半径 1.6 以获得更多可见性,这就是为什么我避免使用 plt.tight_layout() 因为它将半径设置为 1。 如果您想要更大的数字,请使用plt.figure(figsize=(8,7))
或您需要的任何数字。
【参考方案1】:
使用 bbox_inches='tight'
plt.savefig('file_name.png', bbox_inches='tight')
【讨论】:
以上是关于如何保存整个图表而不被切断? [复制]的主要内容,如果未能解决你的问题,请参考以下文章