python小白询问matplotlib画图问题,画出来不知道出了什么问题
提问:画10个菜品的盈利帕累托图,主坐标轴画10个菜品的盈利降序柱状图,副坐标轴画10个菜品的累计盈利帕累托图,数据如下:菜品ID 菜品名 盈利
17148 A1 9173
17154 A2 5729
109 A3 4811
117 A4 3594
17151 A5 3195
14 A6 3026
2868 A7 2378
397 A8 1970
88 A9 1877
426 A10 1782
自己写的程序如下:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #解决中文乱码
plt.rcParams['axes.unicode_minus']=False #解决负号无法正常显示
df=pd.read_excel('D:\PythonProject\练习数据挖掘数据\第3章\catering_dish_profit.xls',index_col='菜品名')
fig=plt.figure()
ax1=fig.add_subplot(1,1,1)
a=df['盈利'].copy()
print(a)
b=pd.Series(a.values.cumsum()/sum(a.values),index=a.index)
print(b)
ax2=ax1.twinx()
ax1.bar(a.index,a.values)
ax2.plot(b.index,b.values)
ax1.set_xlabel('菜品名')
ax1.set_ylabel('盈利', color='g')
ax2.set_ylabel('盈利比例', color='b')
print(a.index,a.values)
plt.show()
自己画的结果不太对,不知道哪里出了问题,麻烦帮忙看看!!谢谢!!
[此贴子已经被作者于2019-11-20 15:11编辑过]