首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何调整Seaborn Barplot上的自定义xticklabel位置?

如何调整Seaborn Barplot上的自定义xticklabel位置?
EN

Stack Overflow用户
提问于 2020-05-25 23:47:36
回答 1查看 270关注 0票数 0

我目前正在使用seaborn创建一个基本的条形图。最初,我有从1到10的xtick标签:

但是,我想删除从1到10的xtick标签,简单地将它们替换为“最低生产力、平均生产力和最高生产力”。我目前已经尝试了以下几种方法:

代码语言:javascript
运行
复制
ax.set(xticklabels=['Least Productive','Average','Most Productive'])

然而,我得到了以下信息:

真的,我只需要最左边的“最低生产力”,中间的“平均”和右边的“最高生产力”。

我不会总是准确地得到从1到10的值,因为在我的数据集中,偶尔我可能会遗漏这些值中的任何一个,所以我不能引用1表示最低生产力,10表示最高生产力等等。

提前谢谢你。

按原样编辑当前代码:

代码语言:javascript
运行
复制
sns.set(style="whitegrid")

f, ax = plt.subplots(figsize=(10,5))

ax = sns.barplot(x='Rank', y='Yld_Vol_Dr', data=df, color=sns.xkcd_rgb["grass green"])

sns.despine()
ax.set(ylim=(min(df.Yld_Vol_Dr)*0.9,max(df.Yld_Vol_Dr)*1.1))
ax.set(xticklabels=['Least Productive','Average','Most Productive'])

plt.xlabel('HD Productivity',fontsize=25)
plt.ylabel('Yield (bu/ac)',fontsize=25)
plt.tick_params(labelsize=15)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-26 02:53:29

您可以创建一个空白标签列表,然后将第一个、最后一个和中间值替换为您的标签。例如,它将如何与seaborn的tips数据集一起工作。

代码语言:javascript
运行
复制
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="whitegrid")

df = sns.load_dataset('tips')

f, ax = plt.subplots(figsize=(10,5))
ax = sns.barplot(x='size', y='tip', data=df, color=sns.xkcd_rgb["grass green"])
sns.despine()

n = len(ax.get_xticklabels())
labels = ['' for i in range(n)]
labels[0] = 'Least Productive'
labels[n // 2] = 'Average'
labels[-1] = 'Most Productive'
ax.set(xticklabels=labels)
plt.tick_params(labelsize=15)

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

https://stackoverflow.com/questions/62006030

复制
相关文章

相似问题

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