调用 plt.subplot() 重置子图大小
Call to plt.subplot() resets subplot size
我是 matplotlib 的新手,所以请原谅我的菜鸟问题。这段代码很好用:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(2, 2,
gridspec_kw={
'width_ratios': [2, 1],
'height_ratios': [1, 2]})
ax[0][0].plot(range(5), range(5, 10))
ax[0][1].plot(range(5), range(10, 5, -1))
ax[1][0].plot(range(5), range(5, 10))
ax[1][1].plot(range(5), range(10, 5, -1))
但是,如果我调用 plt.subplot(221)
,用 gridspec_kw
定义的比率将丢失:子图在图的左上四分之一处重新绘制(第三个子图消失)。
你能解释一下发生了什么吗?我如何才能在不丢失比率的情况下获得对子图的引用?
谢谢!
通过调用 plt.subplot(221)
,您可以在 2x2 网格 (221) 的左上角位置创建一个新的子图。
如plt.subplot()
:
的注释中指定
Creating a subplot will delete any pre-existing subplot that overlaps
with it beyond sharing a boundary
我不确定你的意思
how I can get a reference to the subplots
您可以通过 ax[i, j]
访问相应的坐标轴,就像在您的代码片段中一样。
我是 matplotlib 的新手,所以请原谅我的菜鸟问题。这段代码很好用:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(2, 2,
gridspec_kw={
'width_ratios': [2, 1],
'height_ratios': [1, 2]})
ax[0][0].plot(range(5), range(5, 10))
ax[0][1].plot(range(5), range(10, 5, -1))
ax[1][0].plot(range(5), range(5, 10))
ax[1][1].plot(range(5), range(10, 5, -1))
但是,如果我调用 plt.subplot(221)
,用 gridspec_kw
定义的比率将丢失:子图在图的左上四分之一处重新绘制(第三个子图消失)。
你能解释一下发生了什么吗?我如何才能在不丢失比率的情况下获得对子图的引用?
谢谢!
通过调用 plt.subplot(221)
,您可以在 2x2 网格 (221) 的左上角位置创建一个新的子图。
如plt.subplot()
:
Creating a subplot will delete any pre-existing subplot that overlaps
with it beyond sharing a boundary
我不确定你的意思
how I can get a reference to the subplots
您可以通过 ax[i, j]
访问相应的坐标轴,就像在您的代码片段中一样。