Python 如何绘制条形图,使小于阈值的值的方向与大于阈值的值的方向相反?

Python 如何绘制条形图,使小于阈值的值的方向与大于阈值的值的方向相反?,python,matplotlib,data-visualization,seaborn,Python,Matplotlib,Data Visualization,Seaborn,这是有问题的图表: 作为参考,这是我试图实现的图形类型 在上面的参考图中,下面的条对应于负值,因此方向相反。因此,我尝试将所有值设置为相应的负值,以便于绘图。但是,作为输出,我得到了相同长度的所有条: 这是我用来在Seaborn中绘制图形的代码: 导入Unicode数据#打印磅符号 #设置要使用的打印样式和调色板(如果您来自英国,请记住拼写错误!) sns.set(style='whitegrid') sns.设置颜色代码(“静音”) sns.set(字体大小=2) #初始化matplot

这是有问题的图表:

作为参考,这是我试图实现的图形类型

在上面的参考图中,下面的条对应于负值,因此方向相反。因此,我尝试将所有值设置为相应的负值,以便于绘图。但是,作为输出,我得到了相同长度的所有条:

这是我用来在Seaborn中绘制图形的代码:

导入Unicode数据#打印磅符号
#设置要使用的打印样式和调色板(如果您来自英国,请记住拼写错误!)
sns.set(style='whitegrid')
sns.设置颜色代码(“静音”)
sns.set(字体大小=2)
#初始化matplotlib图形(f)和轴(ax),并设置绘图的宽度和高度
f、 ax=plt.子批次(figsize=(12,10))
#ax.set_xlim(-90103)
#ax.集合_xticks(范围(9103))
#创建绘图,选择每个轴的变量、数据源和颜色(b=蓝色)
#在_条上显示_值(ax,h_v=“v”,空格=0.4)
sns\u t=sns.barplot(x='最终团队价值',y='Name',
数据=最终银行价值,
调色板(光谱)
对于ax.patches中的p:
宽度=p.获取宽度()
ax.文本(宽度-0.7,
p、 获取y()+p。获取高度()/2.+0.2,
“{}{:1.2f}”。格式(unicodata.lookup(“磅符号”),宽度),ha=“left”)
#重命名轴,将y轴标签设置为空白
ax.set(ylabel='',xlabel='Team'的最终值)
#从绘图中删除边框
轻视(左=真,下=真)

为了在某个阈值下创建负数据,我们使用了以下方法我运行了代码,根据该数据绘制了图形,并附上了绘制的图形

import pandas as pd
import unicodedata

final_bank_value = pd.DataFrame({'Name':['nameA','nameB','nameC','nameD'],'Final Team Value':[250,289,55,15]}, index=[0,1,2,3])
final_bank_value['Final Team Value'] = final_bank_value['Final Team Value'].apply(lambda x: x * -1 if x <= 100 else x)
final_bank_value


Name    Final Team Value
0   nameA   250
1   nameB   289
2   nameC   -55
3   nameD   -15
将熊猫作为pd导入
导入Unicode数据
final_bank_value=pd.DataFrame({'Name':['nameA','nameB','nameC','nameD'],'final Team value':[250289,55,15]},索引=[0,1,2,3])

最终银行价值['final Team value']=最终银行价值['final Team value'],请申请(lambda x:x*-1如果x,我像你一样用负值绘制了图。但是,在我的图中,虽然条改变了方向,但当我用负值绘制时,所有条的长度都是相同的。我在我的原始问题中附上了生成的图。不仅仅是张贴的图中的三个负值是相近的数字,所以它们看起来一样?试着改变值怎么样?是的。这很有道理。谢谢你的帮助。