• <i id='lFjkx'><tr id='lFjkx'><dt id='lFjkx'><q id='lFjkx'><span id='lFjkx'><b id='lFjkx'><form id='lFjkx'><ins id='lFjkx'></ins><ul id='lFjkx'></ul><sub id='lFjkx'></sub></form><legend id='lFjkx'></legend><bdo id='lFjkx'><pre id='lFjkx'><center id='lFjkx'></center></pre></bdo></b><th id='lFjkx'></th></span></q></dt></tr></i><div id='lFjkx'><tfoot id='lFjkx'></tfoot><dl id='lFjkx'><fieldset id='lFjkx'></fieldset></dl></div>
    <legend id='lFjkx'><style id='lFjkx'><dir id='lFjkx'><q id='lFjkx'></q></dir></style></legend>

    <small id='lFjkx'></small><noframes id='lFjkx'>

    <tfoot id='lFjkx'></tfoot>

      • <bdo id='lFjkx'></bdo><ul id='lFjkx'></ul>

        当省略x或y参数时,swarmlot无法识别色调

        时间:2024-08-21

        <small id='M8To5'></small><noframes id='M8To5'>

              • <i id='M8To5'><tr id='M8To5'><dt id='M8To5'><q id='M8To5'><span id='M8To5'><b id='M8To5'><form id='M8To5'><ins id='M8To5'></ins><ul id='M8To5'></ul><sub id='M8To5'></sub></form><legend id='M8To5'></legend><bdo id='M8To5'><pre id='M8To5'><center id='M8To5'></center></pre></bdo></b><th id='M8To5'></th></span></q></dt></tr></i><div id='M8To5'><tfoot id='M8To5'></tfoot><dl id='M8To5'><fieldset id='M8To5'></fieldset></dl></div>
                  <tbody id='M8To5'></tbody>
                • <bdo id='M8To5'></bdo><ul id='M8To5'></ul>
                  <legend id='M8To5'><style id='M8To5'><dir id='M8To5'><q id='M8To5'></q></dir></style></legend><tfoot id='M8To5'></tfoot>
                • 本文介绍了当省略x或y参数时,swarmlot无法识别色调的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  data = {'name': ['A', 'B', 'C', 'D'],
                          'score': [-9.5, -8.3, -8.1, -7.0],
                          'color': [4, 3, 2, 1]}
                  
                  df = pd.DataFrame(data)
                  
                  我将我的数据放在类似于上面的数据框中,并且我正在将其绘制到如下所示的海运沼泽图中。这些点是根据它们的分数绘制的,根据它如何落在3条虚线之间,我想给这些点加上不同的颜色。我使用df的‘color’列根据‘Score’值所在的位置分配一个键,该键对应于颜色和字典。

                  colors = {1:'pink', 2:'orange', 3:'red', 4:'green'}
                  

                  然后我使用以下代码创建swarmlot,并将颜色字典映射到我的df的Colors列。

                  ax = sns.swarmplot(data=df, y='score', s=10, c=df['color'].map(colors))
                  

                  当我这样做时,我不会生成任何错误,但是没有应用任何颜色,并且这些点保持其默认的蓝色(下图,左图)。那么,如何根据我的df['color']列为海运地块中的点指定颜色?

                  最后注意:当我尝试使用palette=df['color'].map(colors)而不是c=df['color'].map(colors)时,图形只会将所有内容更改为colors词典中的最后一个颜色(下图,右侧)

                  编辑:感谢您的建议@Trenton McKinney。这在某种程度上是成功的,因为颜色确实正确映射,但是当我包括x的‘name’列(它的实际标题)时,如下所示,我的点像散点图一样绘制,而不是像群图一样绘制。但如果尝试从参数中删除x='Title',则会出错。

                  ax = sns.swarmplot(data=data, x='Title', y='score', s=10, hue='color', palette=colors)
                  

                  推荐答案

                  • 根据seaborn issue 941,这是预期行为。
                  • 如果只指定x或只指定y,接口似乎玩得不好。
                    • 根据数据帧的长度传递相同字符串的列表即可解决此问题:['']*len(df)['text']*len(df)
                  ax = sns.swarmplot(data=df, x=['']*len(df), y='score', hue='color', palette=colors)
                  

                  这篇关于当省略x或y参数时,swarmlot无法识别色调的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:如何为海运中的每个小情节取不同的标题 下一篇:如何在FaceGrid中不共享轴

                  相关文章

                    <tfoot id='Ef6qe'></tfoot>

                      <bdo id='Ef6qe'></bdo><ul id='Ef6qe'></ul>

                    1. <small id='Ef6qe'></small><noframes id='Ef6qe'>

                    2. <i id='Ef6qe'><tr id='Ef6qe'><dt id='Ef6qe'><q id='Ef6qe'><span id='Ef6qe'><b id='Ef6qe'><form id='Ef6qe'><ins id='Ef6qe'></ins><ul id='Ef6qe'></ul><sub id='Ef6qe'></sub></form><legend id='Ef6qe'></legend><bdo id='Ef6qe'><pre id='Ef6qe'><center id='Ef6qe'></center></pre></bdo></b><th id='Ef6qe'></th></span></q></dt></tr></i><div id='Ef6qe'><tfoot id='Ef6qe'></tfoot><dl id='Ef6qe'><fieldset id='Ef6qe'></fieldset></dl></div>
                      <legend id='Ef6qe'><style id='Ef6qe'><dir id='Ef6qe'><q id='Ef6qe'></q></dir></style></legend>