python3 使用pymysql連線資料庫並用Matplotlib實現資料視覺化
阿新 • • 發佈:2019-01-10
在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()#關閉資料庫
效果圖: