1. 程式人生 > >python3 使用pymysql連線資料庫並用Matplotlib實現資料視覺化

python3 使用pymysql連線資料庫並用Matplotlib實現資料視覺化

    在python的資料視覺化中常用到Matplotlib庫,通過Matplotlib展示一些資料是十分方便的事情,但我們並不滿足處理一些“死資料”,如何將資料庫中的資料取出來並用好看的圖表展示呢!python提供了 MySQLdb ,Pymysql等庫給我們使用。

    python語言的3 x完全不向前相容,Python2.x中使用的的MySQLdb並不支援python3。所以我們使用Pymysql對資料庫進行連線操作。兩者使用差別不大。

    下面進入正題。首先我們需要安裝pymysql。

pip install PyMySQL

    接著是操作例項,資料庫為lagou,表名為citys,資料如圖。操作為將citys表中資料用直方圖展示出來。


程式碼如下:

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

import  pymysql
import matplotlib.pyplot as plt

##獲取一個數據庫連線,注意如果是UTF-8型別的,需要制定資料庫
db=pymysql.connect(host="master",user='root',passwd="123456",port=3306,db="lagou",charset='utf8')
cursor=db.cursor()#獲取一個遊標
sql="select city,need from citys"
cursor.execute(sql)
result=cursor.fetchall() #result為元組

#將元組資料存進列表中
city=[]
need=[]
for x in result:
    city.append(x[0])
    need.append(x[1])

#直方圖
plt.bar(range(len(need)), need, color='steelblue', tick_label=city)
plt.xlabel("城市名")
plt.ylabel("數量")
plt.title("城市職位需求圖")
for  x,y in enumerate(need):
    plt.text(x-0.4, y+0.4, '%s' % y)
plt.show()
cursor.close()#關閉遊標
db.close()#關閉資料庫

    效果圖: