首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用`plt.subplots()`绘制`sns.swarmplot`时的一个问题

使用`plt.subplots()`绘制`sns.swarmplot`时的一个问题
EN

Stack Overflow用户
提问于 2019-05-20 12:53:00
回答 1查看 1.1K关注 0票数 2

当特性plt.subplots()的值不同时,我想使用带循环范围的swarmplot来绘制plate

所以我用一个简单的图来编码它,它肯定是正确的。

代码语言:javascript
复制
#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'])

但是,当我试图将其编码如下时,出现了一些错误:

代码语言:javascript
复制
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')

错误信息又让我困惑了。

ValueError跟踪(最近一次调用) 12 sns.swarmplot(bb['plate'] == 'BK000‘+ str(i),\ 13 bb[‘板块’] == 'BK000‘+ str(i),\ -> 14 ax=axi_) 15 16 ~\Anaconda3\lib\site-packages\seaborn\categorical.py (‘BK000’+ str(i)) 29752976绘图仪=_SwarmPlotter= _SwarmPlotter(x,y,色调,数据,顺序,hue_order,道奇,方位,颜色,调色板,尺寸,edgecolor,线宽,ax,**kwargs)29752976绘图仪=_SwarmPlotter(x,y,色调,数据,顺序,hue_order, -> 2977回避,方向,颜色,调色板)2978<(如果ax为None:2979 ax = plt.gca() ~\Anaconda3\lib\site-packages\seaborn\categorical.py in init(self,x,y,hue,data,order,hue_order,dodge,orient,色彩,调色板) “1213”“初始化绘图仪”“1214” self.establish_variables(x,y,色调,数据,方位,顺序,hue_order) -> 1215 self.establish_colors(颜色,调色板,1)12161217 #设置对象属性 ~\Anaconda3\lib\site-packages\seaborn\categorical.py in establish_colors(自我、颜色、调色板、饱和度) 313 #确定用于绘制情节的线条的灰色颜色 314 light_vals = [colorsys.rgb_to_hls(*c)1 for c in rgb_colors] -315lum= min(light_vals) * .6 316灰色= mpl.colors.rgb2hex((lum,lum,lum)) 317 ValueError: min() arg是一个空序列

所有情节都是空白的。

代码语言:javascript
复制
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)

即使我以前搜索过它,也无法用错误消息修复它。

有人能帮我吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-20 14:43:15

在第一次迭代过程中,您似乎试图在一个空的dataframe上做一个群集图。检查以确保BK00000存在或跳过绘制该值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56221432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档