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'
相同的结果。在我看来,你的纵横比确实相当相等。你真的想要正方形的子图而不是相等的长宽比吗?