【问题标题】:Hide area outside of axis in Matplotlib在 Matplotlib 中隐藏轴外的区域
【发布时间】:2015-04-20 01:26:23
【问题描述】:

如何扩展绘图区域以占据整个画布并从根本上消除图像中的灰色区域?我环顾四周,并没有找到任何解决方案,虽然可能是因为我不知道该区域的名称,所以搜索具有挑战性。

使用fig.tight_layout() 会减少灰色但不会将其移除。

from matplotlib import pyplot as plt

y = [1,3,5,6,7,8,12,13,15,15,16,25,26,28,29,36]
x = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
fig, ax = plt.subplots(figsize=(8,4), dpi=85)

ax.stackplot(x, y, color='w', colors=('#ededed',))

ax.xaxis.set_visible(False)
ax.yaxis.set_visible(False)
ax.set_ylim([0,max(y)*1.2])
ax.set_xlim([0,30])

plt.show()

【问题讨论】:

  • 我相信如果你保存文件(如 .png 或 .pdf),它们的灰色就全部消失了。使用 plt.savefig('output_name.pdf') 来做。
  • @TravisJ。你是对的,但我不是想从中获取文件,而是将其转储到 Tkinter 窗口中。

标签: python python-2.7 matplotlib


【解决方案1】:

创建Axes时指定Axes占据整个Figure --

fig = plt.figure()
ax = fig.add_axes((0,0,1,1), frameon=False)
ax.plot([2,5,4])

现在,已经没有更多空间了,例如外部刻度标签;并且 Tkinter 本身可能正在做一些填充;但这与您可以制作Axes 一样大。 ((0,0,1,1) 是图形坐标中的范围。)

【讨论】:

    猜你喜欢
    • 2011-01-11
    • 2022-07-04
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多