欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Matplotlib繪制折線圖、散點(diǎn)圖、柱狀圖、直方圖、餅圖的實(shí)例

 更新時(shí)間:2023年09月13日 09:15:49   作者:learning-striving  
這篇文章主要介紹了利用Matplotlib繪制折線圖、散點(diǎn)圖、柱狀圖、直方圖、餅圖的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、折線圖

以折線的上升或下降來(lái)表示統(tǒng)計(jì)數(shù)量的增減變化的統(tǒng)計(jì)圖

特點(diǎn):能夠顯示數(shù)據(jù)的變化趨勢(shì),反映事物的變化情況(變化)

函數(shù):plt.plot(x, y)

import matplotlib.pyplot as plt
import random
from pylab import mpl
mpl.rcParams["font.sans-serif"] = ["SimHei"]   # 設(shè)置顯示中文字體
mpl.rcParams["axes.unicode_minus"] = False   # 設(shè)置正常顯示符號(hào)
# 數(shù)據(jù)準(zhǔn)備
x = range(24)   
y = [random.uniform(13, 20) for i in x]   # random.uniform():隨機(jī)生成13-20范圍內(nèi)的浮點(diǎn)數(shù)
plt.figure(figsize=(10, 5), dpi=80)   # 創(chuàng)建畫布
plt.plot(x, y, color='y', linestyle='-',label='樟樹(shù)')   # 繪制折線圖
x_ticks_label = ["{}:00".format(i) for i in x]   # 構(gòu)建x軸刻度標(biāo)簽
y_ticks = range(40)   # 構(gòu)建y軸刻度
# 修改x,y軸坐標(biāo)的刻度顯示
plt.xticks(x[::2], x_ticks_label[::2])
plt.yticks(y_ticks[10:20:1])
plt.grid(True, linestyle='-', alpha=0.9)   # 添加網(wǎng)格
plt.legend(loc=0)   # 顯示圖例
# 描述信息
plt.xlabel("時(shí)間")
plt.ylabel("溫度")
plt.title("24小時(shí)內(nèi)溫度變化圖", fontsize=18)
plt.savefig("./plot.jpg")  # 保存至指定位置
plt.show()  # 顯示圖像

結(jié)果如下

二、散點(diǎn)圖

用兩組數(shù)據(jù)構(gòu)成多個(gè)坐標(biāo)點(diǎn),考察坐標(biāo)點(diǎn)的分布,判斷兩變量之間是否存在某種關(guān)聯(lián)或總結(jié)坐標(biāo)點(diǎn)的分布模式

特點(diǎn):判斷變量之間是否存在數(shù)量關(guān)聯(lián)趨勢(shì),展示離群點(diǎn)(分布規(guī)律)

函數(shù):plt.scatter(x, y)

import matplotlib.pyplot as plt
import random
# 數(shù)據(jù)準(zhǔn)備
x = range(100)   
y = [random.uniform(13, 20) for i in x]   # random.uniform():隨機(jī)生成13-20范圍內(nèi)的浮點(diǎn)數(shù)
plt.figure(figsize=(10, 5), dpi=80)   # 創(chuàng)建畫布
plt.scatter(x, y, color='r', linestyle='-',label='樟樹(shù)')   # 繪制折線圖
x_ticks_label = ["{}天".format(i) for i in x]   # 構(gòu)建x軸刻度標(biāo)簽
y_ticks = range(25)   # 構(gòu)建y軸刻度
# 修改x,y軸坐標(biāo)的刻度顯示
plt.xticks(x[::10], x_ticks_label[::10])
plt.yticks(y_ticks[10:22:2])
plt.grid(True, linestyle='-', alpha=0.9)   # 添加網(wǎng)格
plt.legend(loc=0)   # 顯示圖例
# 描述信息
plt.xlabel("時(shí)間/天")
plt.ylabel("溫度")
plt.title("24小時(shí)內(nèi)溫度變化圖", fontsize=18)
plt.savefig("./scatter.jpg")  # 保存至指定位置
plt.show()  # 顯示圖像

 結(jié)果如下

三、柱狀圖

排列在工作表的列或行中的數(shù)據(jù)可以繪制到柱狀圖中

特點(diǎn):繪制連離散的數(shù)據(jù),能夠一眼看出各個(gè)數(shù)據(jù)的大小,比較數(shù)據(jù)之間的差別(統(tǒng)計(jì)/對(duì)比)

函數(shù):plt.bar(x, width, align='center', **kwargs)

  • x:需要傳遞的數(shù)據(jù)
  • width:柱狀圖的寬度
  • align:每個(gè)柱狀圖的位置對(duì)齊方式
  • **kwargs
  • color:選擇柱狀圖的顏色
import matplotlib.pyplot as plt
import random
# 數(shù)據(jù)準(zhǔn)備
x = range(0,10)   
y = [random.randint(35, 45) for i in x]   # random.uniform():隨機(jī)生成13-20范圍內(nèi)的浮點(diǎn)數(shù)
plt.figure(figsize=(10, 5), dpi=80)   # 創(chuàng)建畫布
plt.bar(x, y, width=0.5, color=['b','r','g','y','c','m','y','k','c','g'])   # 繪制折線圖
x_ticks_label = ["21{}班".format(i) for i in x]   # 構(gòu)建x軸刻度標(biāo)簽
y_ticks = range(55)   # 構(gòu)建y軸刻度
# 修改x,y軸坐標(biāo)的刻度顯示
plt.xticks(x[::1], x_ticks_label[::1])
plt.yticks(y_ticks[0:55:5])
plt.grid(True, linestyle=':', alpha=0.3)   # 添加網(wǎng)格
# 描述信息
plt.xlabel("班級(jí)")
plt.ylabel("人數(shù)")
plt.title("2021級(jí)各班人數(shù)柱狀圖", fontsize=18)
plt.savefig("./bar.jpg")  # 保存至指定位置
plt.show()  # 顯示圖像

結(jié)果如下

四、直方圖

由一系列高度不等的縱向條紋或線段表示數(shù)據(jù)分布的情況, 一般用橫軸表示數(shù)據(jù)范圍,縱軸表示分布情況

特點(diǎn):繪制連續(xù)性的數(shù)據(jù)展示一組或者多組數(shù)據(jù)的分布狀況(統(tǒng)計(jì))

函數(shù):matplotlib.pyplot.hist(x, bins=None)

  • x:需要傳遞的數(shù)據(jù)
  • bins:組距
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('_mpl-gallery')
# 生成數(shù)據(jù)
np.random.seed(1)   # 隨機(jī)數(shù)種子,用于生成隨機(jī)數(shù)
x = 4 + np.random.normal(0, 1.5, 200) 
# numpy.random.normal(loc=0.0, scale=1.0, size=None)  為一個(gè)正態(tài)分布
# loc(float):均值,對(duì)應(yīng)著這個(gè)分布的中心。loc=0說(shuō)明這一個(gè)以y軸為對(duì)稱軸的正態(tài)分布
# scale(float):標(biāo)準(zhǔn)差,對(duì)應(yīng)分布的寬度,scale越大越矮胖,scale越小,越瘦高
# size(int 或者整數(shù)元組):輸出的值賦在shape里,默認(rèn)為None
# plot:
fig, ax = plt.subplots()
ax.hist(x, bins=8, linewidth=0.5, edgecolor="white")
ax.set(xlim=(0, 10), xticks=np.arange(1, 10),
       ylim=(0, 56), yticks=np.linspace(0, 56, 9)) # 9個(gè),包含0,間隔為7,7×8=56,即[0,7,14,21,28,35,42,49,56]
# np.arange():返回一個(gè)有終點(diǎn)和起點(diǎn)的固定步長(zhǎng)的排列
# np.linspace(start, stop, num):用來(lái)創(chuàng)建等差數(shù)列,num為個(gè)數(shù)
plt.show()

結(jié)果如下

五、餅圖

用于表示不同分類的占比情況,通過(guò)弧度大小來(lái)對(duì)比各種分類

特點(diǎn):分類數(shù)據(jù)的占比情況(占比)

plt.pie(x, labels=,autopct=,colors)

  • x:數(shù)量,自動(dòng)算百分比
  • labels:每部分名稱
  • autopct:占比顯示指定%1.2f%%
  • colors:每部分顏色
  • startangle:開(kāi)始繪制的角度
  • shadow=True:陰影
import matplotlib.pyplot as plt
# 餅圖,其中切片將按逆時(shí)針順序排序和繪制:
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 20]
explode = (0, 0.1, 0, 0)  # 僅分解第二個(gè)切片,間距為0.1
fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.3f%%',colors=['r','y','c','g'], 
        shadow=True, startangle=90)
ax1.axis('equal')  # 等長(zhǎng)寬比確保餅被畫成圓
plt.show()

結(jié)果如下

Matplotlib官網(wǎng):https://matplotlib.org/stable/

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python讀取hdfs上的parquet文件方式

    python讀取hdfs上的parquet文件方式

    這篇文章主要介紹了python讀取hdfs上的parquet文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python 3 實(shí)現(xiàn)定義跨模塊的全局變量和使用教程

    Python 3 實(shí)現(xiàn)定義跨模塊的全局變量和使用教程

    這篇文章主要介紹了Python 3 實(shí)現(xiàn)定義跨模塊的全局變量和使用,本文通過(guò)實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python實(shí)現(xiàn)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng)

    python實(shí)現(xiàn)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Python環(huán)境的安裝以及PyCharm編輯器配置教程詳解

    Python環(huán)境的安裝以及PyCharm編輯器配置教程詳解

    優(yōu)質(zhì)的教程可以讓我們少走很多彎路,這一點(diǎn)毋庸置疑。這篇文章主要為大家介紹了純凈Python環(huán)境的安裝以及PyCharm編輯器的配置,需要的可以參考一下
    2023-04-04
  • Python基于二分查找實(shí)現(xiàn)求整數(shù)平方根的方法

    Python基于二分查找實(shí)現(xiàn)求整數(shù)平方根的方法

    這篇文章主要介紹了Python基于二分查找實(shí)現(xiàn)求整數(shù)平方根的方法,涉及Python的二分查找算法與數(shù)學(xué)運(yùn)算相關(guān)技巧,需要的朋友可以參考下
    2016-05-05
  • 解決jupyter notebook 前面書寫后面內(nèi)容消失的問(wèn)題

    解決jupyter notebook 前面書寫后面內(nèi)容消失的問(wèn)題

    這篇文章主要介紹了解決jupyter notebook 前面書寫后面內(nèi)容消失的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • python中的十大%占位符對(duì)應(yīng)的格式化的使用方法

    python中的十大%占位符對(duì)應(yīng)的格式化的使用方法

    本文主要介紹了python中的十大%占位符對(duì)應(yīng)的格式化的使用方法,它可以很好的幫助我們解決一些字符串格式化的問(wèn)題, 文中通過(guò)示例代碼介紹的非常詳細(xì),感興趣的小伙伴們可以參考一下
    2022-01-01
  • 如何爬取通過(guò)ajax加載數(shù)據(jù)的網(wǎng)站

    如何爬取通過(guò)ajax加載數(shù)據(jù)的網(wǎng)站

    這篇文章主要介紹了如何爬取通過(guò)ajax加載數(shù)據(jù)的網(wǎng)站,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python xlwt模塊使用代碼實(shí)例

    Python xlwt模塊使用代碼實(shí)例

    這篇文章主要介紹了Python xlwt模塊使用代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 關(guān)于python安裝第三方庫(kù)的問(wèn)題與解決方案

    關(guān)于python安裝第三方庫(kù)的問(wèn)題與解決方案

    Python開(kāi)發(fā)中經(jīng)常遇到第三方庫(kù)安裝困難的問(wèn)題,速度慢可以使用國(guó)內(nèi)鏡像如清華鏡像加速,若遇到wheel錯(cuò)誤,可以手動(dòng)下載whl文件進(jìn)行安裝,對(duì)于找不到的包,可以嘗試在Python的官方包發(fā)布網(wǎng)站上進(jìn)行搜索和下載,本文提供了具體的解決方案和操作步驟
    2024-10-10

最新評(píng)論