【发布时间】:2018-02-26 11:25:32
【问题描述】:
我有一个关于从使用matplotlib for Python 生成的图表中删除边缘的问题。我想要创建的是水平条形图,其中只能看到条形图。为了生成图表,我使用以下代码:
fig, ax = plt.subplots(figsize=(5, 5))
top_10.plot(kind="barh", ax=ax, color=["#dd4937"])
ax.axis("off")
ax.legend().set_visible(False)
ax.invert_yaxis()
ax.invert_xaxis()
ax.set_facecolor('red')
fig.savefig(template_dir + "/top_10_chart.png", transparent=True)
它几乎创造了我需要的原因,但是在导出的 .png 边缘和第一个栏之间有一个空格(下图 - 添加边缘框只是为了显示我想要实现的目标)。我想要实现的是第一个栏在图片的边缘。我认为原因是轴嵌套在图中 - 可以更改或例如删除轴(因为目前它们只是不可见的)?
谢谢你和最好的问候
【问题讨论】:
-
您可以使用
fig.subplots_adjust(right=1)使轴的右侧紧靠图形边界。 -
@ImportanceOfBeingErnest 因为他只希望顶栏靠近上边缘,使用
top参数不是更正确吗? -
“第一个条在图片的边缘” 可以表示任何东西;所以是的,也许他们的意思是
top=1,但问题并不清楚。 -
成功了,并没有避免可能的子图调整。非常感谢您的帮助!
标签: python matplotlib plot