python – Seaborn BarPlot反转y轴并将x轴保持在图表区域的底部

在Excel中,我可以使用如下图形:
python  –  Seaborn BarPlot反转y轴并将x轴保持在图表区域的底部

并使它看起来像这样:

python  –  Seaborn BarPlot反转y轴并将x轴保持在图表区域的底部

通过反转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  –  Seaborn BarPlot反转y轴并将x轴保持在图表区域的底部

如何将条形从顶部开始移动到底部开始?

我使用的是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()

python  –  Seaborn BarPlot反转y轴并将x轴保持在图表区域的底部

上一篇:python – 为什么sns.lmplot和FacetGrid plt.scatter会从相同的数据创建不同的散点?


下一篇:python – 是否有可能用seaborn画出破碎的轴图?