Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python matplotlib子地块等长宽比_Python_Matplotlib - Fatal编程技术网

Python matplotlib子地块等长宽比

Python matplotlib子地块等长宽比,python,matplotlib,Python,Matplotlib,我知道以前有人问过这个问题,但没有一个解决方案对我有效 我的代码: 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))

我知道以前有人问过这个问题,但没有一个解决方案对我有效

我的代码:

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)
从matplotlib导入pyplot作为plt
将numpy作为np导入
图,ax=plt子批次(ncols=3)
c1=plt.cm.Blues(np.linspace(0.3,0.9,4))
c2=plt.cm.green(np.linspace(0.3,0.9,4))
c3=plt.cm.Reds(np.linspace(0.3,0.9,4))

marker=4*(“您是否尝试过设置
plt.setp(…,aspect=1.0,可调的class='box-forced')
?与
'equal'
的结果相同,所以设置
aspect=1
应该达到1),对吗?所以只有两个问题没有答案?原来的宽度是多少?似乎您指的是一个调整大小的步骤(我猜在设置
aspect=1
时会发生这种情况)。但为什么这很重要?你发布的数字似乎达到了你想要的效果,不是吗?不是,它确实给出了与使用
'equal'
相同的结果。在我看来,你的纵横比确实相当相等。你真的想要正方形的子图而不是相等的长宽比吗?