首页 文章

指定matplotlib图的确切大小

提问于
浏览
2

我很难让我的论文中的一些数字恰当地对齐 .

这是问题所在 . 我有两个数字,我想使用相同的x轴 . 我分别绘制了两个数字,并将它们作为Latex中的两个子图 . 问题是:第二张图的yticklabels占用了更多的空间,这使得它看起来比第一张图小 .

enter image description here

我使用以下代码将figsize指定为相同

fig, ax = plt.subplots(figsize=(6,4))

但显然当 Headers ,标签,刻度标签等其他东西占用更多空间时,“主要情节”看起来更小,使得两个子图未对齐 . 有没有办法指定忽略其他标签, Headers 等的“主要情节”的大小?

P.S . :我没有使用matplotlib的子图函数,因为我注意到pandas或matplotlib中的一个错误:每当我使用一个插入轴时,xlabel和xticklabels都不会显示 . 因此,我必须分别绘制两个数字并将它们包含在乳胶中的两个子图中来解决这个问题 .

2 回答

  • 1

    当我遇到这种情况时,我只是硬编码图上的轴位置,然后事情会排成一行......

    import matplotlib.pyplot as plt
    
    ax = plt.axes([0.15, 0.65, 0.8, 0.3])
    ax.plot(range(100), range(100))
    
    ax2 = plt.axes([0.15, 0.15, 0.8, 0.3])
    ax2.plot(range(100), range(10000, 110000,  1000))
    

    enter image description here

  • 0

    如果将 fig.subplots_adjustleft 值设置为两个图的常量,则左边应位于同一位置,例如:

    fig.subplots_adjust(left = 0.12) # you might need to adjust 0.12 to your needs
    

    把它放在你的脚本中,用于你的数字,这应该很好地对齐它们 .

相关问题