绘制条形图python_python读取mysql数据绘制条形图

本文实例为大家分享了python读取mysql数据绘制条形图的具体代码,供大家参考,具体内容如下

Mysql 脚本示例:

create table demo(

id int

,product varchar(50)

,price decimal(18,2)

,quantity int

,amount decimal(18,2)

,orderdate datetime

);

insert into demo

select 1,'AAA',15.2,5,76,'2017-09-09' union all

select 2,'BBB',10,6,60,'2016-05-18' union all

select 3,'CCC',21,11,231,'2014-07-11' union all

select 4,'DDD',55,2,110,'2016-12-24' union all

select 5,'EEE',20,4,80,'2017-02-08' union all

select 6,'FFF',45,2,90,'2016-08-19' union all

select 7,'GGG',33,5,165,'2017-10-11' union all

select 8,'HHH',5,40,200,'2014-08-30' union all

select 9,'III',3,20,60,'2015-02-25' union all

select 10,'JJJ',10,15,150,'2015-11-02';

python 绘图分析:

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

#import numpy

import MySQLdb

import plotly.plotly

import plotly.graph_objs as pg

host = "localhost"

port = 3306

user = "root"

passwd = "mysql"

charset = "utf8"

dbname = "test"

conn = None

try:

conn = MySQLdb.Connection(

host = host,

port = port,

user = user,

passwd = passwd,

db = dbname,

charset = charset

)

cur = conn.cursor(MySQLdb.cursors.DictCursor)

cur.execute("select * from demo;")

rows = cur.fetchall()

#rows = numpy.array(rows)

lists = [[],[],[],[]]

for row in rows:

lists[0].append(row["product"])

lists[1].append(row["price"])

lists[2].append(row["quantity"])

lists[3].append(row["amount"])

#print(lists)

#print(lists[0])

#print(([x[0] for x in lists]))

date_price = pg.Bar( x=lists[0], y=lists[1], name='价格')

date_quantity = pg.Bar( x=lists[0], y=lists[2], name='数量')

date_amount = pg.Bar( x=lists[0], y=lists[3], name='总价')

data = [date_price, date_quantity, date_amount]

#barmode = [stack,group,overlay,relative]

layout = pg.Layout( barmode='group',title="各产品销售情况" )

fig = pg.Figure(data=data, layout=layout)

plotly.offline.plot(fig, filename = "C:/Users/huangzecheng/Desktop/test.html")

finally:

if conn:

conn.close()

将代码保存为文件 bartest.py ,执行脚本 python bartest.py ,生成 html 文件如下:

2020325103041719.jpg

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持python博客。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值