gpt4 book ai didi

python - Seaborn:如何用条形图中X轴上的文本替换索引?

转载 作者:行者123 更新时间:2023-12-02 08:14:44 26 4
gpt4 key购买 nike

我有一个带有category列的数据集,其中有代表类标签的整数值,即0,1,2.....

我有一个单独的文件,其中包含该类别的文本标签,即针对索引 0,它包含 classA 等等。我想使用seaborn 和以下代码绘制条形图。

import seaborn as sns
train_df = pd.read_csv("unclean_text.csv", sep='\t')
label_text = pd.read_csv("labels.csv")
is_dup = train_df['category'].value_counts()

plt.figure(figsize=(8,4))
sns.barplot(is_dup.index, is_dup.values, alpha=0.8, color=color[1])
plt.show()

它正确地绘制了每个类别的频率条形图。

enter image description here

但我想要 x 轴上的文本标签,而不是 label_text 中的索引值,它也是长度为 19 (0-18) 的列向量。怎么做?

最佳答案

sns.barplot() 将返回绘图的轴。您可以使用它来设置刻度标签:

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

color = ['r', 'g', 'b']
train_df = pd.read_csv("unclean_text.csv", sep='\t')
label_text = pd.read_csv("labels.csv")
is_dup = train_df['category'].value_counts()

plt.figure(figsize=(8,4))
ax = sns.barplot(is_dup.index, is_dup.values, alpha=0.8, color=color[1])
ax.set_xlabel('Category')
ax.set_ylabel('Number of Occurrences')
ax.set_xticklabels(label_text['labels'], rotation='vertical', fontsize=10)
plt.show()

这假设labels.csv类似于:

labels
cat0
cat1
cat2
cat3
cat4
cat5
cat6
cat7
cat8

etc..

给你一个输出:

graph plot with labels for x axis

关于python - Seaborn:如何用条形图中X轴上的文本替换索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45729609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com