Seaborn barplot有2个酒吧,标签相同

时间:2016-01-15 23:16:04

标签: python python-3.x matplotlib seaborn

我正在使用seaborn和python3创建一个水平的条形图,如下所示:

library()

有时,两个条形将具有相同的标签(如上例所示),这导致seaborn将带有该标签的两个数据点绘制为一个条形,并带有额外的错误条:

seaborn barplot

我更希望seaborn不要合并这些值(即这个特定的图表应该有三个水平列,其中两个标记为Bob)。

我已尝试在#!/usr/bin/python3 import seaborn as sns import matplotlib.pyplot as plt if __name__ == '__main__': names = ['Alice', 'Bob', 'Bob'] values = [3, 2, 1] sns.barplot(x = values, y = names) plt.savefig('seaborn_figure.png') 来电中设置xerr = None,但它没有任何变化。

如果我没有标签重复会更好,但不幸的是,这些名字是由我的势力范围以外的人设定的。我当然可以通过重命名数据点来解决这个问题(例如" Bob 1"" Bob 2"),但这不是一个优雅的解决方案。

有没有办法强制seaborn绘制与标签/值一样多的条形图,即使某些标签相同?

1 个答案:

答案 0 :(得分:2)

可以使用以下内容执行此操作:

names  = ['a', 'b', 'c']
values = [3, 2, 1]

ax = sns.barplot(x = values, y = names)
ax.set_yticklabels(['Alice', 'Bob', 'Bob'])

应该你这样做?对于seaborn做你想要的事情没有任何意义,所以你可能最好只是导入seaborn以获得你想要的风格,然后用matplotlib进行绘图,这样你就可以准确地绘制你想要什么。