Seaborn改变x轴值

时间:2018-03-20 00:29:34

标签: python-3.x plot seaborn

我正在尝试做一个虚线条图(就像我在下面创建的那个),但是将x轴标签更改为类别(a和b)的名称而不是数字0-1。我喜欢能够一目了然地看到分布的想法(橙色与蓝点)。

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns


d = {'vote': [100, 50,1,23,55,67,89,44], 
     'ballot': ['a','b','a','a','b','a','a','b'],
     'whichballot':[1,2,1,1,2,1,1,2]}
dfwl=pd.DataFrame(d)

dfwl['whichballot'] = dfwl['whichballot'].astype('category')
dfwl['ballot'] = dfwl['ballot'].astype('category').cat.codes
dfwl=pd.DataFrame(dfwl.reset_index())

fig=sns.pairplot(x_vars=pd.Categorical(['ballot']), y_vars=['vote'], data=dfwl, hue="whichballot", size=5)

plt.show(fig)

enter image description here

1 个答案:

答案 0 :(得分:0)

正常的散点图似乎足以产生所需的图。

import matplotlib.pyplot as plt
import pandas as pd

d = {'vote': [100, 50,1,23,55,67,89,44], 
     'ballot': ['a','b','a','a','b','a','a','b'],
     'whichballot':[1,2,1,1,2,1,1,2]}
df=pd.DataFrame(d)

plt.scatter(df.ballot, df.vote, c=df.whichballot)
plt.margins(x=0.8)
plt.show()

enter image description here

或者,如果使用seaborn,stripplot会有意义。

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

d = {'vote': [100, 50,1,23,55,67,89,44], 
     'ballot': ['a','b','a','a','b','a','a','b'],
     'whichballot':[1,2,1,1,2,1,1,2]}
df=pd.DataFrame(d)

ax = sns.stripplot(x='ballot', y='vote', data=df, jitter=False)
plt.show()

enter image description here

然而,为了看到分布,人们可能宁愿使用箱线图或小提琴图。