python讀取mysql數(shù)據(jù)繪制條形圖
本文實例為大家分享了python讀取mysql數(shù)據(jù)繪制條形圖的具體代碼,供大家參考,具體內(nèi)容如下
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='數(shù)量')
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="各產(chǎn)品銷售情況" )
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 ,執(zhí)行腳本 python bartest.py ,生成 html 文件如下:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
在Python中操作字典之setdefault()方法的使用
這篇文章主要介紹了在Python中操作字典之setdefault()方法的使用,是Python入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-05-05
python 日志模塊 日志等級設(shè)置失效的解決方案
這篇文章主要介紹了python 日志模塊 日志等級設(shè)置失效的問題及解決方案,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05
Qt6中重大改變的QtMultimedia多媒體模塊實現(xiàn)
本文主要介紹了Qt6中重大改變的QtMultimedia多媒體模塊實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
Python + selenium + crontab實現(xiàn)每日定時自動打卡功能
這篇文章主要介紹了Python + selenium + crontab實現(xiàn)每日定時自動打卡功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
使用python處理題庫表格并轉(zhuǎn)化為word形式的實現(xiàn)
這篇文章主要介紹了使用python處理題庫表格并轉(zhuǎn)化為word形式的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
python基于socket函數(shù)實現(xiàn)端口掃描
這篇文章主要為大家詳細(xì)介紹了python基于socket函數(shù)實現(xiàn)端口掃描,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-05-05

