我是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
所定义的比率将丢失:子图将在图的左上四分之一处重画(第三个子图将消失)。
您能解释发生了什么吗?如何在不损失比率的情况下获得对子图的引用?
谢谢!
答案 0 :(得分:1)
通过调用plt.subplot(221)
,您可以在2x2网格(221)的左上位置创建一个新的子图。
如plt.subplot()
的注释中所述:
Creating a subplot will delete any pre-existing subplot that overlaps
with it beyond sharing a boundary
我不确定您的确切意思
我如何获得对子图的引用
如代码段所示,您可以通过ax[i, j]
访问相应的轴。