我尝试在python中更改我的宽高比。我知道在许多其他情况下已经讨论过这个问题(例如用figaspect),但是我不知道我想要它。如果我使用figaspect,我会收到错误:
'Figure' object is not callable
。
没有它,我有这个代码:
fig, ax = plt.subplots()
ax.plot(y_test1, linewidth=0.5, linestyle="-", label='Test1')
ax.plot(y_test2, linewidth=0.5, linestyle="-", label='Test2')
legend = ax.legend(loc='right center',prop={'size': 5}, shadow=True, fontsize='medium')
plt.xlabel('images')
plt.ylabel('error')
plt.grid()
plt.axis([0,100, 0, 20])
它有效,但我需要另一个宽高比。如何获得比高三倍宽的情节?
答案 0 :(得分:3)
有几个选择。正如评论中所建议的那样,您可以手动增加图形尺寸,确保宽度比高度大三倍。
fig, ax = plt.subplots(figsize=(height, height*3))
如果您想使用figaspect
,可以执行以下操作:
from matplotlib.figure import figaspect
w, h = figaspect(1/3)
fig, ax = plt.subplots(figsize=(w,h))
plt.show()
这会创建一个数字,它比它高3倍,并给出:
您还可以使用ax.set_aspect()
更改轴宽高比。这将不更改数字大小:
fig, ax = plt.subplots()
ax.set_aspect(1/3)
plt.show()
给出了:
答案 1 :(得分:1)
答案 2 :(得分:0)
您可以直接指定图形尺寸以根据需要生成各种尺寸。
fig, axs = plt.subplots(2, 3, figsize=(10, 3), sharex=True, sharey=True, constrained_layout=True)
希望这会有所帮助。