并使它看起来像这样:
通过反转Y轴并将“水平轴交叉”设置为“最大”.
我想在Seaborn做同样的事情.我可以使用.invert_yaxis()来翻转y_axis但是我无法像在Excel中那样将条形保留在图表的底部.
import seaborn as sns
barplot = sns.barplot(x='abc'
,y='def'
,data=df
,ci=None
)
barplot.invert_yaxis()
barplot.figure
如何将条形从顶部开始移动到底部开始?
我使用的是Python 3.6和seaborn 0.7.1
我的问题似乎与此类似,但这个问题不清楚,没有答案:
Pyplot – Invert Y labels without inverting bar chart
解决方法:
seaborn.barplot是pyplot.bar的包装器,您可以使用pyplot.bar创建具有倒y轴和条形图的图,范围从图表的底部到y轴的较低值:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame({"x":range(5), "y": [1,1.2,1.4,1.6,1.8]})
plt.bar(df.x, 2*np.ones(len(df))-df.y, bottom= df.y )
plt.gca().invert_yaxis()
plt.ylim(2,0)
plt.show()