[英]How to plot labels in alphabetical orders with coulour-gradient in python?
我想 plot 标签“nutrition_grade_fr”在 python 中按字母顺序排列,颜色渐变。
这是我的图表的代码,但它没有按字母顺序显示标签,也没有显示相应的色调:
import seaborn as sns
import matplotlib.pyplot as plt
df = nutri_app
for elem in ['energy_100g', 'sugars_100g','fat_100g','proteins_100g']:
#Create barplot
fig, ax = plt.subplots(figsize=(30,6))
sns.barplot(x="pnns_group1", y=elem, hue="nutrition_grade_fr", data=df)
#Add title
ax.set_title(f"nutriscore by categories related to {elem} quantity variable")
#Show plot
plt.show()
您需要pandas.DataFrame.sort_values
并选择一个调色板(例如,蓝色):
import seaborn as sns
import matplotlib.pyplot as plt
df = nutri_app.sort_values(by='nutrition_grade_fr') #ascending=True by default
for elem in ['energy_100g', 'sugars_100g','fat_100g','proteins_100g']:
#Create barplot
fig, ax = plt.subplots(figsize=(30,6))
sns.barplot(x="pnns_group1", y=elem, hue="nutrition_grade_fr", data=df, palette='Blues')
#Add title
ax.set_title(f"nutriscore by categories related to {elem} quantity variable")
#Show plot
plt.show();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.