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