当前位置:   article > 正文

python进行数据分析的各种绘图_使用python指标排序画图

使用python指标排序画图

人们通常使用Excel软件或者程序进行数据分析,python语言成为进行人们进行数据分析的常用语言。下面是我使用python语言进行数据分析所绘画的各种图:

1.引用所需要的库及设置正常显示中文标签和负号

  1. import numpy as np
  2. import pandas as pd
  3. import matplotlib.pyplot as plt
  4. plt.rcParams['font.sans-serif']=['SimHei']
  5. plt.rcParams['axes.unicode_minus']=False
'
运行

2.箱型图

  1. #箱型图
  2. df='d:/numberfx/catering_fish_congee(1).xls'
  3. data=pd.read_excel(df,index_col='date')
  4. print(data.describe())
  5. plt.figure()
  6. p=data.boxplot(return_type='dict')
  7. x=p['fliers'][0].get_xdata()
  8. y=p['fliers'][0].get_ydata()
  9. y.sort()
  10. for i in range(len(x)):
  11. if i>0:
  12. plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.05 -0.8/(y[i]-y[i-1]),y[i]))
  13. else:
  14. plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.08,y[i]))
  15. plt.title('3008箱型图')
  16. plt.show()

效果图:

3.直方分布图

  1. #直方图
  2. data2=pd.read_excel(df,names=['date','sale'])
  3. print(data2.describe())
  4. bins=[0,500,1000,1500,2000,2500,3000,3500,4000]
  5. labels=['[0,500)','[500,1000)','[1000,1500)','[1500,2000)','[2000,2500)','[2500,3000)','[3000,3500)','[3500,4000)']
  6. data2['sale分层']=pd.cut(data2.sale,bins,labels=labels)
  7. aggResult=data2.groupby(by=['sale分层'])['sale'].agg([("sale", np.size)])
  8. pAggResult=round(aggResult/aggResult.sum(),2,)*100
  9. plt.figure(figsize=(10,6))
  10. pAggResult['sale'].plot(kind='bar',width=0.8,fontsize=10)
  11. plt.title('3008分布直方图',fontsize=20)
  12. plt.show()

效果图:

 

4.饼状图

  1. #饼状图
  2. df2='d:/numberfx/catering_dish_profit(1).xls'
  3. data3=pd.read_excel(df2)
  4. x=data3['盈利']
  5. labels=data3['菜品名']
  6. plt.figure(figsize=(8,6))
  7. plt.pie(x,labels=labels)
  8. plt.title('3008饼图')
  9. plt.axis('equal')
  10. plt.show()

效果图:

 

5.条形图

  1. #条形图
  2. x=data3['菜品名']
  3. y=data3['盈利']
  4. plt.figure(figsize=(8,4))
  5. plt.bar(x,y)
  6. plt.xlabel('菜名')
  7. plt.ylabel('销量')
  8. plt.title('3008条形图')
  9. plt.show()

 效果图:

6.折线图比较数据 

  1. #折线图比较数据
  2. df3='d:/numberfx/dish_sale(1).xls'
  3. data4=pd.read_excel(df3)
  4. plt.figure(figsize=(8,4))
  5. plt.plot(data4['月份'],data4['A部门'],color='green',label='A部门',marker='o')
  6. plt.plot(data4['月份'],data4['B部门'],color='red',label='B部门',marker='s')
  7. plt.plot(data4['月份'],data4['C部门'],color='skyblue',label='C部门',marker='x')
  8. plt.legend()
  9. plt.ylabel('销售额(万元)')
  10. plt.show()
  11. df4='d:/numberfx/dish_sale_b(1).xls'
  12. data5=pd.read_excel(df4)
  13. plt.figure(figsize=(8,4))
  14. plt.plot(data5['月份'],data5['2012年'],color='green',label='2012年',marker='o')
  15. plt.plot(data5['月份'],data5['2013年'],color='red',label='2013年',marker='s')
  16. plt.plot(data5['月份'],data5['2014年'],color='skyblue',label='2014年',marker='x')
  17. plt.legend()
  18. plt.ylabel('销售额(万元)')
  19. plt.show()

效果图:

 

7.帕累托图

  1. #帕累托图
  2. data6=pd.read_excel(df2,index_col='菜品名')
  3. data6=data6['盈利'].copy()
  4. data6.sort_values(ascending=False)
  5. plt.figure()
  6. data6.plot(kind='bar')
  7. plt.ylabel('盈利(元)')
  8. p=1.0*data6.cumsum()/data6.sum()
  9. p.plot(color='r',secondary_y=True,style='-o',linewidth=2)
  10. plt.annotate(format(p[6],'.4%'), xy=(6,p[6]), xytext=(6*0.9,p[6]*0.9), arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))
  11. plt.ylabel('盈利(比例)')
  12. plt.title('3008帕累托图')
  13. plt.show()

效果图:

 

8.散点图

  1. #散点图
  2. years=[2001,2002,2003,2004,2005,2006,2007,2008,2009,2010]
  3. turnovers=[1,1.5,2,3,4,5.5,6,7.6,8,20]
  4. plt.figure()
  5. plt.scatter(years,turnovers,c='green',s=100,label='legend')
  6. plt.xticks(range(2000,2011,1))
  7. plt.yticks(range(0,21,1))
  8. plt.xlabel("Year",fontdict={'size':16})
  9. plt.ylabel("number",fontdict={'size':16})
  10. plt.title("3008散点图",fontdict={'size':20})
  11. plt.legend(loc='best')
  12. plt.show()

 效果图:

结论:使用python进行数据分析容易上手,并能准确看出数据的分布情况和分布特点。 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/963847
推荐阅读
相关标签
  

闽ICP备14008679号