【问题标题】:Remove edges from matplotlib chart从 matplotlib 图表中删除边缘
【发布时间】: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


【解决方案1】:

只是在这里发布答案,以防它对某人有用。

正如 ImportanceOfBeingErnest 和 IMCoins 都指出的那样,实际上有一个调整数字的选项。我添加到代码中的唯一内容是以下行:

fig.subplots_adjust(top=1, bottom=0)

最好的问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 1970-01-01
    • 2014-03-08
    相关资源
    最近更新 更多