我想对matplotlib条标签中的only 1 bar label个应用不同的格式.

Example Code

import pandas as pd
import seaborn as sns
sns.set_style('white')
    
s = pd.Series({'John': 10000, 'Amy': 5000, 'Elizabeth': 2000, 'James': 3000, 'Roy': 4000})
color1 = ['orange', 'lightgrey', 'lightgrey','lightgrey','lightgrey']

ax1 = s.plot(kind='barh', color=color1, figsize=(6, 3), width=.8)

labels = ax1.bar_label(ax1.containers[0], padding=-10, color='black', fontsize=10)
for label in labels:
    label.set_ha('right')

ax1.set_xticks([])
sns.despine(bottom=True, left=True)

enter image description here

我想将John ' swine 吧标签改为20号,粗体,白色.

也想利用s.index来瞄准约翰.

我应该使用哪个代码?

感谢您的帮助!

推荐答案

您可以更改循环来检测要更改的值:

labels = ax1.bar_label(ax1.containers[0], padding=-10, color='black', fontsize=10)
for label in labels:
    label.set_ha('right')
    if label.get_text() == '10000':
        label.set_color('w')
        label.set_fontweight('bold')
        label.set_fontsize(20)

或按职位/标签:

i = s.index.get_loc('John') # 0
labels[i].set_color('w')
labels[i].set_fontweight('bold')
labels[i].set_fontsize(20)

输出:

enter image description here

Python相关问答推荐

我对打乒乓球有问题

将大小为n*512的数组绘制到另一个大小为n*256的数组的PC组件

如何修复fpdf中的线路出血

使用itertools出现第n个子串

FastAPI:使用APIRouter路由子模块功能

telegram 机器人API setMyName不起作用

使用Python和PRNG(不是梅森龙卷风)有效地生成伪随机浮点数在[0,1)中均匀?

symy.分段使用numpy数组

如何使用stride_tricks.as_strided逆转NumPy数组

剧作家Python没有得到回应

点到面的Y距离

使可滚动框架在tkinter环境中看起来自然

2D空间中的反旋算法

两个pandas的平均值按元素的结果串接元素.为什么?

Python键入协议默认值

ThreadPoolExecutor和单个线程的超时

为什么NumPy的向量化计算在将向量存储为类属性时较慢?'

使用NeuralProphet绘制置信区间时出错

如何并行化/加速并行numba代码?

在www.example.com中使用`package_data`包含不包含__init__. py的非Python文件