我认为下面给出的两个片段应该会导致相同的行为,因为我们没有使用' i'计算无花果和斧头的价值,但我得到了两个不同的图表,用于下面的代码。
对于第一个代码,我得到了7 * 2网格中的子图,而对于第二个代码,我得到了1 * 2网格,其中有重叠的数字。
for i in range(n_rows):
fg,ax = plt.subplots(nrows=1,ncols=n_cols,figsize=(12, 8))
for j in range(n_cols):
sns.violinplot(y=cols[i*n_cols+j], data=dataset, ax=ax[j])
或
fg,ax = plt.subplots(nrows=1,ncols=n_cols,figsize=(12, 8))
for i in range(n_rows):
for j in range(n_cols):
sns.violinplot(y=cols[i*n_cols+j], data=dataset, ax=ax[j])
答案 0 :(得分:2)
当你将fg,ax = plt.subplots(nrows=1,ncols=n_cols,figsize=(12, 8))
置于循环中时,它将在每次迭代中执行,从而产生7个不同的子图。
根据您的逻辑,以下程序只会打印“Hello world!”一次(因为i
的值未在print-statement中使用),实际上它会打印10次。
for i in range(10):
print("Hello world!")