首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用名称替换xticks

用名称替换xticks
EN

Stack Overflow用户
提问于 2020-04-20 18:46:11
回答 2查看 126关注 0票数 0

我正在处理来自Kaggle的Spotify数据集。我绘制了一个条形图,展示了最顶尖的艺术家们,其中大多数歌曲都在数据仓库里。但是,X轴显示的是数字,我想显示艺术家的名字,

代码语言:javascript
复制
names = list(df1['artist'][0:19])

plt.figure(figsize=(8,4))
plt.xlabel("Artists")

sns.barplot(x=np.arange(1,20),
                y=df1['song_title'][0:19]);

我尝试了list和Series对象类型,但都出现了错误。

如何将xticks中的数字替换为名称?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-20 19:15:27

导入

代码语言:javascript
复制
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

数据

代码语言:javascript
复制
df = pd.read_csv('Spotify-2000.csv')
titles = pd.DataFrame(df.groupby(['Artist'])['Title'].count()).reset_index().sort_values(['Title'], ascending=False).reset_index(drop=True)
titles.rename(columns={'Title': 'Title Count'}, inplace=True)

# titles.head()

             Artist  Title Count
              Queen           37
        The Beatles           36
           Coldplay           27
                 U2           26
 The Rolling Stones           24

绘图

代码语言:javascript
复制
plt.figure(figsize=(8, 4))
chart = sns.barplot(x=titles.Artist[0:19], y=titles['Title Count'][0:19])
chart.set_xticklabels(chart.get_xticklabels(), rotation=90)
plt.show()

票数 1
EN

Stack Overflow用户

发布于 2020-04-21 02:49:27

好的,所以我不知道这一点,虽然现在似乎愚蠢的不这样做,在事后!

  1. 在X轴的参数中传递名称(或字符串标签).
  2. 使用plt.xticks(rotate=90),这样标签就不会重叠

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61329779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档