matplotlib绘制火柴杆图之基本配置——万能模板案例

举报
王小王-123 发表于 2022/04/14 22:58:10 2022/04/14
【摘要】 import pandas as pdimport numpy as npimport pymysqlimport matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] #显示中文plt.rcParams['axes.unicode_minus']...

  
  1. import pandas as pd
  2. import numpy as np
  3. import pymysql
  4. import matplotlib.pyplot as plt
  5. plt.rcParams['font.sans-serif']=['SimHei'] #显示中文
  6. plt.rcParams['axes.unicode_minus']=False #正常显示负号
  7. db = pymysql.connect(host='127.0.0.1',user='root',password='root',database='mydb')
  8. # 查询每个省份 实际物流天数 和 预计物流天数 的差的 平均值
  9. sql = "SELECT CUST_PROV,avg(datediff(DELIVER_DATE,ORDER_DATE)-DELIVER_DAYS) as DATE_DIFF FROM orders WHERE FY=2019 GROUP BY CUST_PROV"
  10. df = pd.read_sql_query(sql,db)
  11. plt.figure(figsize=(15,7)) #设置图形大小
  12. label = "平均延迟天数"
  13. X = df.CUST_PROV
  14. Y = df.DATE_DIFF
  15. markerline, stemlines, baseline = plt.stem(X, Y, label=label,
  16. bottom=-0.2, # 基线
  17. )
  18. # 设置属性
  19. plt.setp(markerline, color='red', marker='o',ms=8) # marker点:火柴头 ms=markersize
  20. plt.setp(stemlines, color='#FF9900', lw=3, ls=':' ) # 火柴杆 lw=linewidth
  21. plt.setp(baseline, color='g', linewidth=2, ls='-') # 基准线 ls=linestyle
  22. plt.xlabel('省市自治区')
  23. plt.ylabel('平均延迟天数')
  24. plt.title('2019年各省市平均延迟天数')
  25. plt.legend()
  26. plt.show()

通过获取物流数据进行计算,我们需要可视化出每个地区的物流延迟天数,有利于我们加强对不同地区的物流进行整改,进一步促进智慧物流的形成。

每文一语

沉思不如实践

文章来源: wxw-123.blog.csdn.net,作者:王小王-123,版权归原作者所有,如需转载,请联系作者。

原文链接:wxw-123.blog.csdn.net/article/details/124063394

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。