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']...

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