python中每行具有不同子块数的子绘图
同样,我对python非常陌生。下面我提供了我的代码(用于特征选择的分类),而不是数据,因为它是高维的,但我相信问题与数据无关。我的问题有两个:我希望所有子地块都有轴标签,我想知道如何创建子地块,其中每行的子地块数量可以不同(我有14个子地块,目前分为三行):python中每行具有不同子块数的子绘图,python,plot,Python,Plot,同样,我对python非常陌生。下面我提供了我的代码(用于特征选择的分类),而不是数据,因为它是高维的,但我相信问题与数据无关。我的问题有两个:我希望所有子地块都有轴标签,我想知道如何创建子地块,其中每行的子地块数量可以不同(我有14个子地块,目前分为三行): 对于每个子批次的标签,可以首先创建包含这些标签的列表 xlabelList = [xlabel0, xlabel1 ....,xlabel13] ylabelList = [ylabel0, ylabel1,....,ylabel13]
对于每个子批次的标签,可以首先创建包含这些标签的列表
xlabelList = [xlabel0, xlabel1 ....,xlabel13]
ylabelList = [ylabel0, ylabel1,....,ylabel13]
此外,不需要为循环定义额外的变量n_subject。对于打印,我将进行以下更改:
for j in range(14):
#print("For Subject : ", j+1)
y = allData['labels']
X = allFeatures[j*120:(j+1)*120,:]
svc = SVC(kernel="linear",C=1)
rfecv = RFECV(estimator=svc, step=1, cv=StratifiedKFold(2),
scoring='accuracy')
rfecv.fit(X, y.ravel())
locInd = np.unravel_index(j, (3,5))
axs[locInd].plot(range(1, len(rfecv.grid_scores_) + 1), rfecv.grid_scores_)
axs[locInd].set_xlabel(xlabelList[j])
axs[locInd].set_ylabel(ylabelList[j])
plt.show()
非常感谢!x和y标签都是一样的,我怎么能在不手动输入的情况下将文本重复14次呢?此外,我尝试(只是为了测试)轴标签为:[a,a,a,a,a,a,a,a,a,a,a,a,a],但这似乎是无效的语法-为什么?标签必须是字符串。如果所有标签都相同,则只需执行以下操作:axs[locInd].set_xlabel(xlabel),无需列表。
for j in range(14):
#print("For Subject : ", j+1)
y = allData['labels']
X = allFeatures[j*120:(j+1)*120,:]
svc = SVC(kernel="linear",C=1)
rfecv = RFECV(estimator=svc, step=1, cv=StratifiedKFold(2),
scoring='accuracy')
rfecv.fit(X, y.ravel())
locInd = np.unravel_index(j, (3,5))
axs[locInd].plot(range(1, len(rfecv.grid_scores_) + 1), rfecv.grid_scores_)
axs[locInd].set_xlabel(xlabelList[j])
axs[locInd].set_ylabel(ylabelList[j])
plt.show()