解决matplotlib-条形图-横轴坐标顺序问题
注:此示例来自《Python数据分析与挖掘实战》
import pandas as pd
import matplotlib.pyplot as plt
catering_dish_profit=r'C:\Users\50678\Desktop\dataset\book_set\catering_dish_profit.xls'
data = pd.read_excel(catering_dish_profit)
数据源如下图所示:
绘制条形图
y = data['盈利']
x = data['菜品名']
plt.figure(figsize=(8, 4))
plt.rcParams['font.sans-serif']=['SimHei']
plt.xlabel('菜品名')
plt.ylabel('销量')
plt.title('菜品销售量分布(条形图)')
plt.bar(x, y)
plt.show()
如下图所示,输出的条形图横轴是乱序的
由于index顺序是不变的,将x轴换成index,然后再把index对应的菜品名对应到x轴的标签上,进行如下改写:
y = data['盈利']
x = data.index
plt.figure(figsize=(8, 4))
plt.rcParams['font.sans-serif']=['SimHei']
plt.xlabel('菜品名')
plt.xticks(range(10), ('A'+str(i) for i in range(1, 11)))
plt.ylabel('销量')
plt.title('菜品销售量分布(条形图)')
plt.bar(x, y)
plt.show()
得到的条形图x轴按顺序显示