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

Bee*_*Gee 5 python matplotlib python-3.x seaborn

在Excel中,我可以采用如下所示的图形: 在此处输入图片说明

并使其如下所示:

在此处输入图片说明

通过反转Y轴并将“水平轴交叉”设置为“最大”。

我想在Seaborn中做同样的事情。我可以使用翻转y_axis,.invert_yaxis()但无法像在Excel中那样将条形图保持在图表底部。

import seaborn as sns
barplot = sns.barplot(x='abc'
                      ,y='def'
                      ,data=df
                      ,ci=None
                      )
barplot.invert_yaxis()
barplot.figure
Run Code Online (Sandbox Code Playgroud)

产生这样的东西: 在此处输入图片说明

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

我正在使用Python 3.6和seaborn 0.7.1

我的问题似乎与此类似,但这个问题尚不清楚,没有答案: Pyplot-反转Y标签而不反转条形图

Imp*_*est 6

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()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Tan*_*hat 6

我发现你可以简单地这样做:

plt.ylim(reversed(plt.ylim()))
Run Code Online (Sandbox Code Playgroud)

这允许您继续使用 Seaborn。