【Python】查询SQL并用柱状图展示

需求:

查询2022年各月订单量,并用柱状图展示

SQL:

select
date_format(create_time,'%Y-%m') as mon
,count(distinct order_id) as ord_cnt
from prod.order_info
where date_format(create_time,'%Y-%m') between '2022-01' and '2022-12'
group by date_format(create_time,'%Y-%m')
order by date_format(create_time,'%Y-%m')

Python代码:

# -*- coding: utf-8 -*-

import matplotlib.pyplot as plt
import pandas as pd
import sqlalchemy
#import DataFrame
from matplotlib.font_manager import FontProperties



con=sqlalchemy.create_engine(数据库连接信息)
#创建数据库的连接引擎


font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)

data=pd.read_sql_query(sql="""select
                            date_format(create_time,'%%Y-%%m') as mon
                            ,count(distinct order_id) as ord_cnt
                            from prod.order_info
                            where date_format(create_time,'%%Y-%%m') between '2022-01' and '2022-12'
                            group by date_format(create_time,'%%Y-%%m')
                            order by date_format(create_time,'%%Y-%%m')"""
                     ,con=con,index_col=['mon'])
#双%处理
print(data['ord_cnt'].values)
tuli=['订单量']
df=pd.DataFrame(data['ord_cnt'].values,
             columns=tuli,
             index=data.index)
df.plot(grid=True,xlim=[0,12],ylim=[0,5000],kind='bar')
plt.title(u"2022年每月订单量",fontproperties=font)

plt.savefig('fig5.jpg')

结果展示:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值