1
我正在学习seaborn,并且出现了一些意想不到的行为。Python中的seaborn:barplot倒过来
这重复的例子,使用surveys.csv数据集可以在这个环节发现:http://www.datacarpentry.org/python-ecology-lesson/setup/
我的代码如下:
import pandas as pd
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="whitegrid", color_codes=True)
surveys_df = pd.read_csv("surveys.csv")
avg_weight = surveys_df.groupby("plot_id")["weight"].mean().to_frame()
avg_weight
weight
plot_id
1 51.822911
2 52.251688
3 32.654386
4 47.928189
5 40.947802
6 36.738893
7 20.663009
8 47.758001
9 51.432358
10 18.541219
11 43.451757
12 49.496169
13 40.445660
14 46.277199
15 27.042578
16 24.585417
17 47.889593
18 40.005922
19 21.105166
20 48.665303
21 24.627794
22 54.146379
23 19.634146
24 43.679167
sns.barplot(x = avg_weight.index.values, y = "weight",
data = avg_weight, palette = sns.palplot(sns.diverging_palette(150, 275, s=80, l=55, n=9)))
plt.xlabel('Animal id')
plt.ylabel('Average Weight')
plt.title('Average Weight by Animal')
的barplot出现倒挂。
为什么会发生这种情况,我该如何纠正它?
您的建议将不胜感激。
PS:不知何故,这个问题与传递给调色板参数的值有关,因为它在我选择palette = sns.color_palette("coolwarm", 7)
时得到解决。不过,我不明白为什么。
正如你不会叫'sns.distplot(X = sns.barplot(X))'左右,你不应该把一个“palplot”变成“barplot”的参数。 – ImportanceOfBeingErnest