Python 何时使用'plt.subplot()'绘制'sns.swarmlot'的问题`

Python 何时使用'plt.subplot()'绘制'sns.swarmlot'的问题`,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,我想使用带有循环范围的plt.subplot()来绘制特征plate值不同时的swarmlot。 因此,我用一个简单的绘图对其进行编码,它绝对正确。 #I just use i = 5 to specify a value i = 5 sns.swarmplot(b[b['plate'] == 'BK0000' + str(i)]['plate'],\ b[b['plate'] == 'BK0000' + str(i)]['tradeMoney']) 但当我尝试将

我想使用带有循环范围的
plt.subplot()
来绘制特征
plate
值不同时的
swarmlot

因此,我用一个简单的绘图对其进行编码,它绝对正确。

#I just use i = 5 to specify a value
i = 5
sns.swarmplot(b[b['plate'] == 'BK0000' + str(i)]['plate'],\
              b[b['plate'] == 'BK0000' + str(i)]['tradeMoney'])

但当我尝试将其编码为以下代码时,出现了一些错误:

nrows, ncols = 64, 1
fig, ax = plt.subplots(nrows=nrows, ncols=ncols, figsize=(9, 72), dpi=120)

month_cnt = 1
for i in range(nrows):
    i_ = i    
    if (i < 10):
        i = '0' + str(i)

    if (i == 32 | i == 58):
        continue    

    sns.swarmplot(b[b['plate'] == 'BK000' + str(i)]['plate'],\
                b[b['plate'] == 'BK000' + str(i)]['tradeMoney'],\
                ax=ax[i_])

    ax[i_].set_xlabel('BK000' + str(i))
    ax[i_].set_ylabel('tradeMoney')
即使我以前搜索过它,也无法用错误消息修复它。
有人能帮我吗?

提前感谢。

在第一次迭代中,您试图在空数据帧上执行Swarmlot。检查以确保BK00000存在,或跳过打印该值。

是否存在BK00000?第一次迭代没有返回任何记录?@ScottBoston你说得对,先生。我犯了一个愚蠢的错误。将if语句的条件更改为
if((i==0)|(i==32)|(i==58)):
后,一切正常。
b['plate'].unique()

array(['BK00001', 'BK00002', 'BK00003', 'BK00004', 'BK00005', 'BK00006',
       'BK00007', 'BK00008', 'BK00009', 'BK00010', 'BK00011', 'BK00012',
       'BK00013', 'BK00014', 'BK00015', 'BK00016', 'BK00017', 'BK00018',
       'BK00019', 'BK00020', 'BK00021', 'BK00022', 'BK00023', 'BK00024',
       'BK00025', 'BK00026', 'BK00027', 'BK00028', 'BK00029', 'BK00030',
       'BK00031', 'BK00033', 'BK00034', 'BK00035', 'BK00036', 'BK00037',
       'BK00038', 'BK00039', 'BK00040', 'BK00041', 'BK00042', 'BK00043',
       'BK00044', 'BK00045', 'BK00046', 'BK00047', 'BK00048', 'BK00049',
       'BK00050', 'BK00051', 'BK00052', 'BK00053', 'BK00054', 'BK00055',
       'BK00056', 'BK00057', 'BK00059', 'BK00060', 'BK00061', 'BK00062',
       'BK00063', 'BK00064', 'BK00065', 'BK00066'], dtype=object)