最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python連接數(shù)據(jù)庫使用matplotlib畫柱形圖

 更新時間:2022年06月29日 17:08:31   作者:Sheenky  
這篇文章主要介紹了Python連接數(shù)據(jù)庫使用matplotlib畫柱形圖,文章通過實例展開對主題的相關(guān)介紹。具有一定的知識參考價值性,感興趣的小伙伴可以參考一下

一、柱形圖介紹

(1)介紹

柱狀圖(Histogram),也稱條圖(英文:bargraph)、長條圖(英文:barchart)、條狀圖(Bar graph),是一種以長方形的長度為變量的表達圖形的統(tǒng)計報告圖,由一系列高度不等的縱向條紋表示數(shù)據(jù)分布的情況,用來比較兩個或以上的價值(不同時間或者不同條件),只有一個變量,通常利用于較小的數(shù)據(jù)集分析。柱狀圖亦可橫向排列,或用多維方式表達。

(2)優(yōu)點、缺點

優(yōu)點:

  • ①便于用戶理解大量數(shù)據(jù)以及數(shù)據(jù)相互之間的關(guān)系。
  • ②優(yōu)點是讓用戶通過視覺化的符號,更加快速直觀的讀取原始數(shù)據(jù)。

缺點:

柱狀圖的局限在于只適用中小規(guī)模的數(shù)據(jù)集。

(3)適用范圍

適用場合是二維數(shù)據(jù)集,用于比較一段時間內(nèi)的數(shù)據(jù)變化

二、數(shù)據(jù)介紹

(1)數(shù)據(jù)構(gòu)成

本次柱狀圖繪畫數(shù)據(jù)是由數(shù)據(jù)庫中的訂單表(order)提供,其中表order含有訂單編號(ORDER_ID)、訂單日期(ORDER_DATE)、店鋪名稱(SITE)等二十一個列。

(2)數(shù)據(jù)選取

根據(jù)柱形圖的定義以及適用范圍,我們本次畫圖選用的數(shù)據(jù)是具有統(tǒng)計計數(shù)并且能夠比較的數(shù)據(jù),因此我們本次選擇銷售經(jīng)理以及訂單利潤。

在Navicat中通過SQL語句統(tǒng)計出2019年各個銷售經(jīng)理所銷售的利潤。

SELECT MANAGER, SUM(PROFIT) as TotalProfit FROM orders where FY='2019' group by MANAGER

三、python數(shù)據(jù)庫連接配置以及數(shù)據(jù)提取設(shè)置

(1)調(diào)用庫以及連接語法

沒有pymysql庫,可以通過語句pip install pymysql方式安裝

import pymysql 
import pandas as pd # 用來做數(shù)據(jù)導(dǎo)入(pd.read_sql_query() 執(zhí)行sql語句得到結(jié)果df)
import matplotlib.pyplot as plt # 用來畫圖(plt.plot()折線圖, plt.bar()柱狀圖,....)
# 1. 連接MySQL數(shù)據(jù)庫: 創(chuàng)建數(shù)據(jù)庫連接
conn = pymysql.connect(host='ip',port=端口號,user='用戶名',password='用戶密碼',db='連接表名')

(2)語法參數(shù)講解

調(diào)用庫后通過pymysql.connect創(chuàng)建連接,連接參數(shù)如下:

  • host:主機名,也可以存儲的ip地址
  • port:數(shù)據(jù)庫端口號,一般的數(shù)據(jù)庫端口號3306
  • user:用戶名
  • password:用戶密碼
  • db:數(shù)據(jù)庫名稱

(3)數(shù)據(jù)提取設(shè)置

連接數(shù)據(jù)庫,在數(shù)據(jù)庫中提取數(shù)據(jù)就涉及到數(shù)據(jù)庫的SQL查詢,此處也會有簡單數(shù)據(jù)庫在Python下的操作方法。

# 2 創(chuàng)建一個sql語句
# -- 統(tǒng)計每個銷售經(jīng)理2019年的利潤總額
sql = r"SELECT MANAGER, SUM(PROFIT) as TotalProfit FROM orders where FY='2019' group by MANAGER"
# 3 執(zhí)行sql語句獲取統(tǒng)計查詢結(jié)果
df = pd.read_sql_query(sql, conn)

四、全局變量配置

(1)字體畫布配置

此處的字體畫布設(shè)置在使用matplotlib畫圖時都可以放在庫導(dǎo)入之后,當(dāng)成固定的設(shè)置,其中的參數(shù)介紹在前面plot()函數(shù)畫圖時已經(jīng)做出介紹詳細請看前面的文章。

plt.rcParams['font.sans-serif'] = 'SimHei' # 設(shè)置中文字體支持中文顯示
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

(2)標(biāo)題、標(biāo)簽設(shè)置

title()是標(biāo)題設(shè)置,ylael()設(shè)置y軸的標(biāo)簽,grid()網(wǎng)格線設(shè)置

#標(biāo)簽、標(biāo)題設(shè)置
plt.title("每個銷售經(jīng)理2019年的利潤總額")
plt.ylabel("利潤額")
plt.xlabel('經(jīng)理')
#網(wǎng)格線設(shè)置
plt.grid(axis='y')

網(wǎng)格線設(shè)置參數(shù)介紹:

plt.grid() # 顯示網(wǎng)格線 1=True=默認顯示;0=False=不顯示
plt.grid(1) # 顯示網(wǎng)格線
plt.grid(True) # 顯示網(wǎng)格線
plt.grid(b=True) # 顯示網(wǎng)格線
plt.grid(b=1) # 顯示網(wǎng)格線
plt.grid(b=True, axis='x') #只顯示x軸網(wǎng)格線
plt.grid(b=True, axis='y') #只顯示y軸網(wǎng)格線
plt.grid(b=1, which='major') # 默認就是major,例如x軸最大值為3.5(這個值占比極小,不影響作圖的話),這部分圖像不會顯示;若which='both'則顯示;若設(shè)置為minor則不顯示網(wǎng)格(其實這里有點不懂,,既然不顯示,那為什么不直接設(shè)置為b=0呢????)

五、數(shù)據(jù)庫數(shù)據(jù)畫圖

(1)畫圖函數(shù)調(diào)用并作出圖形

通過for循環(huán)將每個經(jīng)理對應(yīng)的值畫入圖像上:

#y軸值的顯示
for index,value in df['TotalProfit'].items():
    plt.text(index,value,round(value),ha='center',va='bottom',color='k')
#通過上述查詢的結(jié)果進行x,y的帶入
plt.bar(df['MANAGER'], df['TotalProfit'])

作出圖形如圖:

(2)全代碼

import pymysql
import pandas as pd # 用來做數(shù)據(jù)導(dǎo)入(pd.read_sql_query() 執(zhí)行sql語句得到結(jié)果df)
import matplotlib.pyplot as plt # 用來畫圖(plt.plot()折線圖, plt.bar()柱狀圖,....)
plt.rcParams['font.sans-serif'] = 'SimHei' # 設(shè)置中文字體支持中文顯示
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')
#設(shè)置查詢語句
sql = r"SELECT MANAGER, SUM(PROFIT) as TotalProfit FROM orders where FY='2019' group by MANAGER"
#執(zhí)行sql語句獲取統(tǒng)計查詢結(jié)果,并賦值
df = pd.read_sql_query(sql, conn)
#調(diào)用函數(shù)
plt.bar(df['MANAGER'], df['TotalProfit'])
#設(shè)置y軸的網(wǎng)格線
plt.grid(axis='y')
#設(shè)置標(biāo)題
plt.title("每個銷售經(jīng)理2019年的利潤總額")
#y軸標(biāo)簽
plt.ylabel("利潤額")
#x軸標(biāo)簽
plt.xlabel("經(jīng)理姓名")
#將對應(yīng)數(shù)值寫入柱形圖
for index,value in df['TotalProfit'].items():
    plt.text(index,value,round(value),ha='center',va='bottom',color='k')

到此這篇關(guān)于Python連接數(shù)據(jù)庫使用matplotlib畫柱形圖的文章就介紹到這了,更多相關(guān)Python matplotlib柱形圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python簡單爬蟲導(dǎo)出CSV文件的實例講解

    Python簡單爬蟲導(dǎo)出CSV文件的實例講解

    今天小編就為大家分享一篇Python簡單爬蟲導(dǎo)出CSV文件的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python讀取json文件并將數(shù)據(jù)插入到mongodb的方法

    python讀取json文件并將數(shù)據(jù)插入到mongodb的方法

    這篇文章主要介紹了python讀取json文件并將數(shù)據(jù)插入到mongodb的方法,實例分析了Python操作json及mongodb數(shù)據(jù)庫的技巧,需要的朋友可以參考下
    2015-03-03
  • Python中類方法@classmethod和靜態(tài)方法@staticmethod解析

    Python中類方法@classmethod和靜態(tài)方法@staticmethod解析

    這篇文章主要介紹了Python中類方法@classmethod和靜態(tài)方法@staticmethod解析,python中存在三種方法,分別為常規(guī)方法(定義中傳入self)、@classmethod修飾的類方法、@staticmethod修飾的靜態(tài)方法,,需要的朋友可以參考下
    2023-08-08
  • Python3.10?Generator生成器Coroutine原生協(xié)程詳解

    Python3.10?Generator生成器Coroutine原生協(xié)程詳解

    這篇文章主要為大家介紹了Python3.10?Generator生成器Coroutine原生協(xié)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Python實現(xiàn)打印九九乘法表的不同方法總結(jié)

    Python實現(xiàn)打印九九乘法表的不同方法總結(jié)

    這篇文章主要為大家介紹了Python實現(xiàn)打印九九乘法表的幾種不同方法,文中的示例代碼講解詳細,簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-11-11
  • 在Django admin中編輯ManyToManyField的實現(xiàn)方法

    在Django admin中編輯ManyToManyField的實現(xiàn)方法

    今天小編就為大家分享一篇在Django admin中編輯ManyToManyField的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python中使用ipython的詳細教程

    Python中使用ipython的詳細教程

    ipython是一個非常流行的python解釋器,比python解釋器好用很多,本文重點給大家介紹Python中使用ipython的詳細教程,需要的朋友參考下吧
    2021-06-06
  • python文件處理fileinput使用方法詳解

    python文件處理fileinput使用方法詳解

    這篇文章主要介紹了python文件處理fileinput使用方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • Python 中單例模式的實現(xiàn)方法

    Python 中單例模式的實現(xiàn)方法

    這篇文章主要介紹了Python 中單例模式的實現(xiàn)方法,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以學(xué)習(xí)一下下面文章詳細內(nèi)容
    2022-08-08
  • Bokeh:Python交互式可視化的利器詳解

    Bokeh:Python交互式可視化的利器詳解

    這篇文章主要介紹了Bokeh:Python交互式可視化的利器,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03

最新評論

象州县| 志丹县| 丘北县| 马山县| 噶尔县| 西贡区| 安吉县| 厦门市| 舞钢市| 德钦县| 井研县| 孟津县| 庆元县| 基隆市| 普安县| 永州市| 凤山县| 武鸣县| 乌拉特后旗| 古交市| 永兴县| 鄂伦春自治旗| 盐边县| 资溪县| 东乡族自治县| 南丰县| 澄江县| 鄂尔多斯市| 大丰市| 寿宁县| 慈利县| 定安县| 修文县| 平乡县| 武隆县| 荥经县| 新乐市| 勃利县| 曲阜市| 如皋市| 嫩江县|