0

我正在尝试动态标记Seaborn catplot 中的所有数据点。此处可重现的代码:

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
import seaborn as sns

data = [['Vestibulum', 1, 'Augusti', 189],
        ['Quam', 1, 'Augusti', 207],
        ['Dolor', 1, 'Augusti', 220],
        ['Posuere', 1, 'Augusti', 231],
        ['Vitae', 2, 'Legionis', 239],
        ['Amet', 2, 'Legionis', 289],
        ['Ullamcorper', 2, 'Legionis', 302],
        ['Fusce', 3, 'Tribunus', 289],
        ['', 4, 'Praefectus', ],
        ['Suscipit', 5, 'Tribuni', 376],
        ['', 6, 'Angusticlavi', ]]
  
df = pd.DataFrame(data, columns = ['name', 'order', 'role', 'aureus'])

df

在此处输入图像描述

我在这里找到了基本的猫图,没有标签:

sns.set(style='whitegrid')

sns.catplot(x="role",
            y="aureus",
            data=df, 
            jitter='0', 
            s=15)

plt.gcf().set_size_inches(25, 12)
plt.ylim(0, 500)

这是结果图: 在此处输入图像描述

这是虚拟数据,值会发生变化(x 轴类别、y 轴等),尽管数据点的绝对数量将保持不变。我想根据数据动态地执行此操作,而不是在绘制单个注释时过于具体。我希望根据数据框的“名称”列中的值,在右侧为每个数据点添加数据标签。

在这里欣赏任何指针!

4

0 回答 0