首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Seaborn不接受Python中的x和y参数。

Seaborn不接受Python中的x和y参数。
EN

Stack Overflow用户
提问于 2017-11-29 07:29:23
回答 2查看 7.5K关注 0票数 2

我想用变量x绘制变量y的频率,为此,我使用了seaborn.countplot()方法。但是,我收到了一个错误消息。

关于一个可复制的示例,请参见下面的内容:

代码语言:javascript
代码运行次数:0
运行
复制
surveys_species_by_plot_sample

    plot_id taxa
0   1   Bird
1   1   Rabbit
2   1   Rodent
3   2   Bird
4   2   Rabbit
5   2   Reptile
6   2   Rodent
7   3   Bird
8   3   Rabbit
9   3   Rodent

现在的目的是用plot_id绘制分类群(鸟、兔等)的数量。我使用以下命令:

代码语言:javascript
代码运行次数:0
运行
复制
sn.countplot(x = "plot_id", y = "taxa", data = surveys_species_by_plot_sample,
             palette = sn.color_palette(palette = ["SteelBlue" , "Salmon"], n_colors = 4))

我收到以下错误消息:

代码语言:javascript
代码运行次数:0
运行
复制
TypeError: Cannot pass values for both `x` and `y`

我不明白,因为文档指出,x和y变量都可以传递给函数:

参数: x,y,hue :数据或矢量数据中变量的名称,用于绘制长格式数据的可选输入。有关解释,请参阅示例。 数据: DataFrame、数组或数组列表、用于绘图的可选数据集。如果x和y不存在,则解释为宽形式。否则,它将是长形式的。

您的建议将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-29 08:04:04

阅读文档中的示例,您只能传递x或y,而不能两者都传递。声明X或Y会改变图表的方向。你可能需要一个不同的图表类型。

票数 1
EN

Stack Overflow用户

发布于 2022-10-19 19:04:00

如果你想在你的绘图中同时使用x和y,你不能使用计数图,而应该使用sn.barplot :)

sn.barplot(x = "plot_id",y= "taxa",data = surveys_species_by_plot_sample,palette = sn.color_palette(palette = "SteelBlue“,"Salmon",n_colors = 4))

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

https://stackoverflow.com/questions/47547235

复制
相关文章

相似问题

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