我正在尝试做一个虚线条图(就像我在下面创建的那个),但是将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)
答案 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()
或者,如果使用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()
然而,为了看到分布,人们可能宁愿使用箱线图或小提琴图。