matplotlib subplots等长宽比

时间:2015-07-13 12:01:26

标签: python matplotlib

我之前已经问过这个问题(hereheremost comprehensive one),但没有一个解决方案适合我。

我的代码:

from matplotlib import pyplot as plt
import numpy as np

fig, ax = plt.subplots(ncols=3)

c1 = plt.cm.Blues(np.linspace(0.3,0.9,4))
c2 = plt.cm.Greens(np.linspace(0.3,0.9,4))
c3 = plt.cm.Reds(np.linspace(0.3,0.9,4))
marker = 4*('<',) + 4*('o',) + 4*('s',)
line = 4*(':',) + 4*('--',) + 4*('-',)
colors = np.vstack((c1,c2,c3))

for val in range(11):

    if val < 4:
        c = 0
    elif (val >=4) & (val>7):

        c = 1

    else:
        c = 2
    x = np.array([1,2,3,4,5])
    y = x + x*val
    ax[c].plot(x,y,\
             color=colors[val], marker = marker[val],\
             linewidth=1,alpha=0.8)
    ax[c].set_xlim(0,10)
    ax[c].set_ylim(0,20)
    plt.setp(ax[c], aspect='equal', adjustable='box-forced')

    for tick in ax[c].xaxis.get_major_ticks():
        tick.label.set_rotation(45)

产生

enter image description here

我该如何设置:

1)相等的宽高比

如果需要

2)强制图形保持其原始宽度(通过调整轴的高度)

我必须提到我的数字大小是在样式表中设置的。

0 个答案:

没有答案