<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
柱狀圖(Histogram),也稱條圖(英文:bargraph)、長條圖(英文:barchart)、條狀圖(Bar graph),是一種以長方形的長度為變數的表達圖形的統計報告圖,由一系列高度不等的縱向條紋表示資料分佈的情況,用來比較兩個或以上的價值(不同時間或者不同條件),只有一個變數,通常利用於較小的資料集分析。柱狀圖亦可橫向排列,或用多維方式表達。
優點:
缺點:
柱狀圖的侷限在於只適用中小規模的資料集。
適用場合是二維資料集,用於比較一段時間內的資料變化
本次柱狀圖繪畫資料是由資料庫中的訂單表(order)提供,其中表order含有訂單編號(ORDER_ID)、訂單日期(ORDER_DATE)、店鋪名稱(SITE)等二十一個列。
根據柱形圖的定義以及適用範圍,我們本次畫圖選用的資料是具有統計計數並且能夠比較的資料,因此我們本次選擇銷售經理以及訂單利潤。
在Navicat中通過SQL語句統計出2019年各個銷售經理所銷售的利潤。
SELECT MANAGER, SUM(PROFIT) as TotalProfit FROM orders where FY='2019' group by MANAGER
沒有pymysql庫,可以通過語句pip install pymysql方式安裝
import pymysql import pandas as pd # 用來做資料匯入(pd.read_sql_query() 執行sql語句得到結果df) import matplotlib.pyplot as plt # 用來畫圖(plt.plot()折線圖, plt.bar()柱狀圖,....) # 1. 連線MySQL資料庫: 建立資料庫連線 conn = pymysql.connect(host='ip',port=埠號,user='使用者名稱',password='使用者密碼',db='連線表名')
呼叫庫後通過pymysql.connect建立連線,連線引數如下:
連線資料庫,在資料庫中提取資料就涉及到資料庫的SQL查詢,此處也會有簡單資料庫在Python下的操作方法。
# 2 建立一個sql語句 # -- 統計每個銷售經理2019年的利潤總額 sql = r"SELECT MANAGER, SUM(PROFIT) as TotalProfit FROM orders where FY='2019' group by MANAGER" # 3 執行sql語句獲取統計查詢結果 df = pd.read_sql_query(sql, conn)
此處的字型畫布設定在使用matplotlib畫圖時都可以放在庫匯入之後,當成固定的設定,其中的引數介紹在前面plot()函數畫圖時已經做出介紹詳細請看前面的文章。
plt.rcParams['font.sans-serif'] = 'SimHei' # 設定中文字型支援中文顯示 plt.rcParams['axes.unicode_minus'] = False # 支援中文字型下顯示'-'號 # figure 解析度 800x600 plt.rcParams['figure.figsize'] = (6,4) # 8x6 inches plt.rcParams['figure.dpi'] = 100 # 100 dot per inch
title()是標題設定,ylael()設定y軸的標籤,grid()格線設定
#標籤、標題設定 plt.title("每個銷售經理2019年的利潤總額") plt.ylabel("利潤額") plt.xlabel('經理') #格線設定 plt.grid(axis='y')
格線設定引數介紹:
plt.grid() # 顯示格線 1=True=預設顯示;0=False=不顯示 plt.grid(1) # 顯示格線 plt.grid(True) # 顯示格線 plt.grid(b=True) # 顯示格線 plt.grid(b=1) # 顯示格線 plt.grid(b=True, axis='x') #只顯示x軸格線 plt.grid(b=True, axis='y') #只顯示y軸格線 plt.grid(b=1, which='major') # 預設就是major,例如x軸最大值為3.5(這個值佔比極小,不影響作圖的話),這部分影象不會顯示;若which='both'則顯示;若設定為minor則不顯示網格(其實這裡有點不懂,,既然不顯示,那為什麼不直接設定為b=0呢????)
通過for迴圈將每個經理對應的值畫入影象上:
#y軸值的顯示 for index,value in df['TotalProfit'].items(): plt.text(index,value,round(value),ha='center',va='bottom',color='k') #通過上述查詢的結果進行x,y的帶入 plt.bar(df['MANAGER'], df['TotalProfit'])
作出圖形如圖:
import pymysql import pandas as pd # 用來做資料匯入(pd.read_sql_query() 執行sql語句得到結果df) import matplotlib.pyplot as plt # 用來畫圖(plt.plot()折線圖, plt.bar()柱狀圖,....) plt.rcParams['font.sans-serif'] = 'SimHei' # 設定中文字型支援中文顯示 plt.rcParams['axes.unicode_minus'] = False # 支援中文字型下顯示'-'號 # figure 解析度 800x600 plt.rcParams['figure.figsize'] = (6,4) # 8x6 inches plt.rcParams['figure.dpi'] = 100 # 100 dot per inch #建立連線 conn = pymysql.connect(host='localhost',port=3306,user='root',password='9812yang',db='mydb') #設定查詢語句 sql = r"SELECT MANAGER, SUM(PROFIT) as TotalProfit FROM orders where FY='2019' group by MANAGER" #執行sql語句獲取統計查詢結果,並賦值 df = pd.read_sql_query(sql, conn) #呼叫函數 plt.bar(df['MANAGER'], df['TotalProfit']) #設定y軸的格線 plt.grid(axis='y') #設定標題 plt.title("每個銷售經理2019年的利潤總額") #y軸標籤 plt.ylabel("利潤額") #x軸標籤 plt.xlabel("經理姓名") #將對應數值寫入柱形圖 for index,value in df['TotalProfit'].items(): plt.text(index,value,round(value),ha='center',va='bottom',color='k')
到此這篇關於Python連線資料庫使用matplotlib畫柱形圖的文章就介紹到這了,更多相關Python matplotlib柱形圖內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45