如何在直方图中使用字典重命名现有的xticklabel

unkind58:

遇到问题,如何使用字典重命名lineplot中现有的xticklabel?部分代码:

zodiac_order = ['Aries', 'Taurus', 'Gemini', 'Cancer',  'Leo', 'Virgo', 'Libra', 'Scorpio','Sagittarius', 'Capricorn', 'Aquarius', 'Pisces']    # df_one here is DataFrame
zodiac_counts = df_one["Zodiac"].value_counts()
plt.figure(figsize=(14,6))
zodiac = sns.lineplot(data=zodiac_counts, marker='o', color='mediumvioletred')
zodiac.yaxis.grid(True)
[plt.gca().spines[loc].set_visible(False) for loc in ['top', 'right']]
zodiac.set(xticklabels=zodiac_order) # made list to be in order according to real list of zodiacs

我想更改xticks标签的语言,所以要有字典

zodiacs_lt = {'Aries': 'Avinas', 
              'Taurus': 'Jautis', 
              'Gemini': 'Dvyniai', 
              'Cancer': 'Vėžys', 
              'Leo': 'Liūtas', 
              'Virgo': 'Mergelė', 
              'Libra': 'Svarstyklės', 
              'Scorpio': 'Skorpionas', 
              'Sagittarius': 'Šaulys', 
              'Capricorn': 'Ožiaragis', 
              'Aquarius': 'Vandenis', 
              'Pisces': 'Žuvys'
             }

线图本身

安德里亚·布伦吉诺(Andrea Blengino):

我假设您的数据在这样的数据框中df

zodiac_order = ['Aries', 'Taurus', 'Gemini', 'Cancer',  'Leo', 'Virgo', 'Libra', 'Scorpio','Sagittarius', 'Capricorn', 'Aquarius', 'Pisces']
df = pd.DataFrame({'signs': zodiac_order,
                   'values': [6, 1, 6, 5, 6, 8, 1, 6, 4, 1, 5, 1]})

输出:

          signs  values
0         Aries       6
1        Taurus       1
2        Gemini       6
3        Cancer       5
4           Leo       6
5         Virgo       8
6         Libra       1
7       Scorpio       6
8   Sagittarius       4
9     Capricorn       1
10     Aquarius       5
11       Pisces       1

您可以在此数据框中添加一个新列,其中包含十二生肖的翻译名称:

zodiacs_lt = {'Aries': 'Avinas',
              'Taurus': 'Jautis',
              'Gemini': 'Dvyniai',
              'Cancer': 'Vėžys',
              'Leo': 'Liūtas',
              'Virgo': 'Mergelė',
              'Libra': 'Svarstyklės',
              'Scorpio': 'Skorpionas',
              'Sagittarius': 'Šaulys',
              'Capricorn': 'Ožiaragis',
              'Aquarius': 'Vandenis',
              'Pisces': 'Žuvys'}
df['new_signs'] = list(map(lambda x: zodiacs_lt[x], df['signs']))

输出:

          signs  values    new_signs
0         Aries       6       Avinas
1        Taurus       1       Jautis
2        Gemini       6      Dvyniai
3        Cancer       5        Vėžys
4           Leo       6       Liūtas
5         Virgo       8      Mergelė
6         Libra       1  Svarstyklės
7       Scorpio       6   Skorpionas
8   Sagittarius       4       Šaulys
9     Capricorn       1    Ožiaragis
10     Aquarius       5     Vandenis
11       Pisces       1        Žuvys

然后,您可以使用new_signs进行绘图

plt.figure(figsize=(14,6))

zodiac = sns.lineplot(data=df, x='new_signs', y='values', marker='o', color='mediumvioletred', sort=False)
zodiac.yaxis.grid(True)
[plt.gca().spines[loc].set_visible(False) for loc in ['top', 'right']]

plt.show()

这使:

在此处输入图片说明

注意
我删除了这一行

zodiac.set(xticklabels=zodiac_order) # made list to be in order according to real list of zodiacs

这可能会导致错误,我实现了与sort=False参数中相同的功能sns.lineplot

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何重命名方法与名超类现有的?

Golang:如何在现有的库中使用Refect软件包

如何在现有的Flask应用中使用Flask-APScheduler

如何在Eclipse中使用现有的.target文件?

如何重命名现有的Azure Logic应用程序?

如何使用字典键和值重命名Pandas DataFrame中的列?

复制并重命名现有的Visual Studio项目

VS Code如何在现有的本地项目中使用github

如何使用字典将新字典添加到现有的json文件中?

如何在Appium中使用现有的应用会话

如何在GCP中使用gcloud cli重命名现有的“命名配置”?

如何使用字典重命名列?

如何在jupyterhub页面中使用python-selenium查找现有的HTML元素?

如何在Seaborn热图中使用词汇填充xticklabel?

如何在Alembic迁移中使用现有的postgres枚举?

如何在Xcode中使用现有的数据库文件进行读写?

我应该如何在Safari扩展中使用现有的JavaScript库?

重命名现有的边缘关系?

您如何在Chrome Native Client中使用现有的C库?

如何在C#中使用字符串格式重命名文件?

如何在现有的公共目录中使用Laravel路由?

重命名现有的Rails模型并添加名称空间

如何在 VB Script 中重命名现有文件?

如何重命名现有的 Spark SQL 函数

如何在我的 Maven 本地存储库中使用 gradle 发布现有的 aar?

在熊猫中使用字典中的现有密钥

使用字典理解生成字典时,将值分配给现有的字典键

如何在lambdify中使用字典

如何检查目录中现有的同名文件并使用python重命名新文件以保存?