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

Python中使用matplotlib繪制各類圖表示例詳解

 更新時(shí)間:2023年10月07日 10:09:51   作者:東方雨傾  
這篇文章主要給大家介紹了關(guān)于Python中使用matplotlib繪制各類圖表的相關(guān)資料,matplotlib是python的一個(gè)庫(kù),內(nèi)部?jī)?chǔ)存了大量的函數(shù)用于繪制圖像,通常會(huì)與pandas和numpy庫(kù)一起使用,平常我們通常只是用里面的pyplot模塊,需要的朋友可以參考下

折線圖

折線圖是一種用于表示數(shù)據(jù)隨時(shí)間、變量或其他連續(xù)性變化的趨勢(shì)的圖表。通過在橫軸上放置時(shí)間或如此類似的連續(xù)變量,可以在縱軸上放置數(shù)據(jù)點(diǎn)的值,從而捕捉到數(shù)據(jù)隨時(shí)間發(fā)生的變化。折線圖可以用于比較不同變量的趨勢(shì),輕松地發(fā)現(xiàn)不同的變量之間的差異。

import matplotlib.pyplot as plt
import numpy as np
# 生成數(shù)據(jù)
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 創(chuàng)建一個(gè)繪圖窗口,大小為8x6英寸
plt.figure(figsize=(8, 6))
# 繪制折線圖
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
# 添加圖例,顯示在右上角
plt.legend(loc='upper right')
# 添加標(biāo)題和軸標(biāo)簽
plt.title('Sin and Cos functions')
plt.xlabel('x')
plt.ylabel('y')
# 顯示網(wǎng)格線
plt.grid(True)
# 保存圖像,支持多種格式,如PNG、PDF、SVG等
plt.savefig('line_plot.png', dpi=300)
# 顯示圖像
plt.show()

示例結(jié)果:

參數(shù)說明:

  • plt.figure(figsize=(8, 6)):創(chuàng)建一個(gè)大小為8x6英寸的繪圖窗口。
  • plt.plot(x, y1, label='sin(x)'):繪制折線圖,x和y1是數(shù)據(jù)點(diǎn)的x坐標(biāo)和y坐標(biāo),label是該折線的標(biāo)簽,用于圖例中顯示。
  • plt.legend(loc='upper right'):添加圖例,loc參數(shù)指定圖例的位置,可以是字符串’upper right’等也可以是數(shù)字0~10。
  • plt.title('Sin and Cos functions'):添加標(biāo)題。
  • plt.xlabel('x'):添加x軸標(biāo)簽。
  • plt.ylabel('y'):添加y軸標(biāo)簽。
  • plt.grid(True):顯示網(wǎng)格線。
  • plt.savefig('line_plot.png', dpi=300):保存圖像到文件line_plot.png中,dpi參數(shù)指定輸出分辨率。

柱狀圖

柱狀圖是一種用于比較不同組數(shù)據(jù)之間差異的圖表。它通過將每個(gè)數(shù)據(jù)組的值表示為柱形的高度來顯示差異。柱狀圖可用于比較不同分類數(shù)據(jù)的數(shù)量、頻率或比率,用于顯示該類別數(shù)據(jù)的相對(duì)大小。

import matplotlib.pyplot as plt
import numpy as np
# 生成數(shù)據(jù)
x = ['A', 'B', 'C', 'D', 'E']
y1 = [3, 7, 2, 5, 9]
y2 = [5, 2, 6, 3, 1]
# 創(chuàng)建一個(gè)繪圖窗口,大小為8x6英寸
plt.figure(figsize=(8, 6))
# 繪制柱狀圖
plt.bar(x, y1, color='lightblue', label='Group 1')
plt.bar(x, y2, color='pink', bottom=y1, label='Group 2')
# 添加圖例,顯示在右上角
plt.legend(loc='upper right')
# 添加標(biāo)題和軸標(biāo)簽
plt.title('Bar Plot')
plt.xlabel('Category')
plt.ylabel('Value')
# 顯示圖像
plt.show()

示例結(jié)果:

柱狀圖

參數(shù)說明:

  • plt.bar(x, y1, color='lightblue', label='Group 1'):繪制柱狀圖,x是類別列表,y1是每個(gè)類別對(duì)應(yīng)的值,label是該組數(shù)據(jù)的標(biāo)簽,用于圖例中顯示。color參數(shù)指定柱狀圖的顏色。
  • plt.bar(x, y2, color='pink', bottom=y1, label='Group 2'):繪制第二組數(shù)據(jù)的柱狀圖,bottom參數(shù)指定該組數(shù)據(jù)的底部位置。
  • plt.legend(loc='upper right'):添加圖例,loc參數(shù)指定圖例的位置,可以是字符串’upper right’等也可以是數(shù)字0~10。
  • plt.title('Bar Plot'):添加標(biāo)題。
  • plt.xlabel('Category'):添加x軸標(biāo)簽。
  • plt.ylabel('Value'):添加y軸標(biāo)簽。

直方圖

直方圖用于展示數(shù)據(jù)的分布情況,通常用于分析數(shù)據(jù)集的偏態(tài)和峰態(tài)等特征。

import matplotlib.pyplot as plt
import numpy as np
# 生成隨機(jī)數(shù)據(jù)
np.random.seed(42)
data = np.random.normal(size=1000)
# 繪制直方圖
fig, ax = plt.subplots()
ax.hist(data, bins=30, density=True, alpha=0.5, color='blue')
# 設(shè)置圖表標(biāo)題和坐標(biāo)軸標(biāo)簽
ax.set_title('Histogram of Random Data', fontsize=16)
ax.set_xlabel('Value', fontsize=14)
ax.set_ylabel('Frequency', fontsize=14)
# 設(shè)置坐標(biāo)軸刻度標(biāo)簽大小
ax.tick_params(axis='both', which='major', labelsize=12)
# 顯示圖表
plt.show()

示例結(jié)果:

參數(shù)說明:

  • data:要繪制的數(shù)據(jù)集。
  • bins:直方圖中的箱數(shù)。
  • density:是否將頻數(shù)轉(zhuǎn)換為概率密度。
  • alpha:直方圖的透明度。
  • color:直方圖的顏色。
  • ax.set_title():設(shè)置圖表標(biāo)題。
  • ax.set_xlabel():設(shè)置x軸標(biāo)簽。
  • ax.set_ylabel():設(shè)置y軸標(biāo)簽。
  • ax.tick_params():設(shè)置坐標(biāo)軸刻度標(biāo)簽的大小。

餅圖

餅圖用于展示數(shù)據(jù)的占比情況,通常用于比較不同類別或部分之間的占比情況。

import matplotlib.pyplot as plt
# 生成數(shù)據(jù)
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
colors = ['red', 'green', 'blue', 'yellow']
# 繪制餅圖
fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=90)
# 設(shè)置圖表標(biāo)題
ax.set_title('Pie Chart of Data', fontsize=16)
# 顯示圖表
plt.show()

示例結(jié)果:

參數(shù)說明:

  • labels:數(shù)據(jù)的類別標(biāo)簽。
  • sizes:數(shù)據(jù)的占比。
  • colors:數(shù)據(jù)的顏色。
  • autopct:占比的顯示格式。
  • startangle:餅圖的起始角度。
  • ax.set_title():設(shè)置圖表標(biāo)題。

括線圖

括線圖是一種用于比較不同組數(shù)據(jù)分布情況的圖表。它用于顯示數(shù)據(jù)的中位數(shù)、上下四分位數(shù)、最小值和最大值,可以幫助我們了解數(shù)據(jù)分布的形狀、位置和離散程度。在括線圖中,每個(gè)箱子代表數(shù)據(jù)的25%~75%分位數(shù),中位線是每個(gè)箱子中的中位數(shù),普通線是每個(gè)箱子之外的最小值和最大值。

import matplotlib.pyplot as plt
# 生成數(shù)據(jù)
data = [[3.4, 4.1, 3.8, 2.0], [2.3, 4.5, 1.2, 4.3]]
# 創(chuàng)建一個(gè)繪圖窗口,大小為8x6英寸
plt.figure(figsize=(8, 6))
# 繪制括線圖
bp = plt.boxplot(data, widths=0.5, patch_artist=True, notch=True)
# 設(shè)置每個(gè)箱線圖的顏色和填充
for patch, color in zip(bp['boxes'], ['lightblue', 'pink']):
    patch.set_facecolor(color)
# 添加標(biāo)題和軸標(biāo)簽
plt.title('Box Plot')
plt.xlabel('Group')
plt.ylabel('Data')
# 顯示圖像
plt.show()

示例結(jié)果:

參數(shù)說明:

  • plt.boxplot(data, widths=0.5, patch_artist=True, notch=True):繪制括線圖,data是一個(gè)包含兩個(gè)列表的列表,表示兩組數(shù)據(jù)。widths參數(shù)指定每個(gè)箱線圖的寬度,patch_artist參數(shù)指定使用補(bǔ)丁來填充箱線圖,notch參數(shù)指定繪制出箱線圖中的記分牌。
  • patch.set_facecolor(color):設(shè)置每個(gè)箱線圖的顏色和填充,zip函數(shù)可以將兩個(gè)列表打包成一個(gè)元組,逐個(gè)取出元組的值。
  • plt.title('Box Plot'):添加標(biāo)題。
  • plt.xlabel('Group'):添加x軸標(biāo)簽。
  • plt.ylabel('Data'):添加y軸標(biāo)簽。

散點(diǎn)圖

散點(diǎn)圖是一種用于展示兩個(gè)變量之間關(guān)系的圖表。每個(gè)點(diǎn)代表一個(gè)數(shù)據(jù)點(diǎn),它的位置由變量的值確定。散點(diǎn)圖可用于尋找變量之間的相關(guān)性,并顯示數(shù)據(jù)中的任何異常值或離群值。

import matplotlib.pyplot as plt
import numpy as np
# 生成數(shù)據(jù)
x = np.random.normal(size=100)
y = np.random.normal(size=100)
# 創(chuàng)建一個(gè)繪圖窗口,大小為8x6英寸
plt.figure(figsize=(8, 6))
# 繪制散點(diǎn)圖
plt.scatter(x, y, s=50, alpha=0.5)
# 添加標(biāo)題和軸標(biāo)簽
plt.title('Scatter Plot')
plt.xlabel('x')
plt.ylabel('y')
# 顯示圖像
plt.show()

示例結(jié)果:

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-GM4O5nQt-1686898200230)(null)]

參數(shù)說明:

  • plt.scatter(x, y, s=50, alpha=0.5):繪制散點(diǎn)圖,x和y是數(shù)據(jù)點(diǎn)的x坐標(biāo)和y坐標(biāo),s指定點(diǎn)的大小,alpha指定點(diǎn)的透明度。
  • plt.title('Scatter Plot'):添加標(biāo)題。
  • plt.xlabel('x'):添加x軸標(biāo)簽。
  • plt.ylabel('y'):添加y軸標(biāo)簽。

箱線圖

箱線圖用于展示數(shù)據(jù)的分布情況和異常值等信息,通常用于比較不同數(shù)據(jù)集之間的差異。

import matplotlib.pyplot as plt
import numpy as np
# 生成隨機(jī)數(shù)據(jù)
np.random.seed(42)
data = np.random.normal(size=(100, 4), loc=0, scale=1.5)
# 繪制箱線圖
fig, ax = plt.subplots()
ax.boxplot(data, notch=True, sym='o', vert=True, whis=1.5)
# 設(shè)置圖表標(biāo)題和坐標(biāo)軸標(biāo)簽
ax.set_title('Boxplot of Random Data', fontsize=16)
ax.set_xlabel('Variable', fontsize=14)
ax.set_ylabel('Value', fontsize=14)
# 設(shè)置坐標(biāo)軸刻度標(biāo)簽大小
ax.tick_params(axis='both', which='major', labelsize=12)
# 顯示圖表
plt.show()

示例結(jié)果:

參數(shù)說明:

  • data:要繪制的數(shù)據(jù)集。
  • notch:是否繪制缺口。
  • sym:異常值的標(biāo)記形狀。
  • vert:是否垂直繪制箱線圖。
  • whis:箱線圖的須長(zhǎng)度,以四分位距的1.5倍為標(biāo)準(zhǔn)。
  • ax.set_title():設(shè)置圖表標(biāo)題。
  • ax.set_xlabel():設(shè)置x軸標(biāo)簽。
  • ax.set_ylabel():設(shè)置y軸標(biāo)簽。
  • ax.tick_params():設(shè)置坐標(biāo)軸刻度標(biāo)簽的大小。

熱力圖

熱力圖用于展示數(shù)據(jù)之間的關(guān)系和趨勢(shì),通常用于分析二維數(shù)據(jù)的相關(guān)性和變化。

import matplotlib.pyplot as plt
import numpy as np
# 生成隨機(jī)數(shù)據(jù)
np.random.seed(42)
data = np.random.normal(size=(10, 10), loc=0, scale=1)
# 繪制熱力圖
fig, ax = plt.subplots()
im = ax.imshow(data, cmap='YlOrRd')
# 添加顏色條
cbar = ax.figure.colorbar(im, ax=ax)
cbar.ax.set_ylabel('Values', rotation=-90, va='bottom')
# 添加軸標(biāo)簽和標(biāo)題
ax.set_xticks(np.arange(len(data)))
ax.set_yticks(np.arange(len(data)))
ax.set_xticklabels(np.arange(1, len(data)+1))
ax.set_yticklabels(np.arange(1, len(data)+1))
ax.set_title('Heatmap of Random Data', fontsize=16)
# 顯示圖表
plt.show()

示例結(jié)果:

參數(shù)說明:

  • data:要繪制的數(shù)據(jù)集。
  • cmap:顏色映射,用于表示數(shù)據(jù)大小的顏色范圍。
  • ax.imshow():繪制熱力圖。
  • cbar.ax.set_ylabel():設(shè)置顏色條的標(biāo)簽。
  • ax.set_xticks():設(shè)置x軸刻度標(biāo)簽。
  • ax.set_yticks():設(shè)置y軸刻度標(biāo)簽。
  • ax.set_xticklabels():設(shè)置x軸刻度標(biāo)簽的標(biāo)簽名。
  • ax.set_yticklabels():設(shè)置y軸刻度標(biāo)簽的標(biāo)簽名。
  • ax.set_title():設(shè)置圖表標(biāo)題。

樹狀圖

樹狀圖用于展示數(shù)據(jù)之間的層次結(jié)構(gòu)和關(guān)系,通常用于分析樹形結(jié)構(gòu)和組織架構(gòu)等問題。

import matplotlib.pyplot as plt
# 繪制樹狀圖
fig, ax = plt.subplots()
ax.barh('CEO', 1, color='black')
ax.barh('VP1', 0.8, left=1, color='gray')
ax.barh('VP2', 0.8, left=1, color='gray')
ax.barh('Manager1', 0.6, left=1.8, color='gray')
ax.barh('Manager2', 0.6, left=1.8, color='gray')
ax.barh('Manager3', 0.6, left=1.8, color='gray')
ax.barh('Supervisor1', 0.4, left=2.4, color='gray')
ax.barh('Supervisor2', 0.4, left=2.4, color='gray')
ax.barh('Supervisor3', 0.4, left=2.4, color='gray')
ax.barh('Staff1', 0.2, left=3.2, color='gray')
ax.barh('Staff2', 0.2, left=3.2, color='gray')
ax.barh('Staff3', 0.2, left=3.2, color='gray')
ax.barh('Staff4', 0.2, left=3.2, color='gray')
# 設(shè)置軸標(biāo)簽和標(biāo)題
ax.set_yticks([])
ax.set_xlim(0, 4)
ax.set_xlabel('Hierarchy', fontsize=14)
ax.set_title('Tree Diagram of Organization', fontsize=16)
# 顯示圖表
plt.show()

示例結(jié)果:

  • 參數(shù)說明:
  • ax.barh():繪制水平條形圖。
  • ax.set_yticks():設(shè)置y軸刻度標(biāo)簽。
  • ax.set_xlim():設(shè)置x軸坐標(biāo)范圍。
  • ax.set_xlabel():設(shè)置x軸標(biāo)簽。
  • ax.set_title():設(shè)置圖表標(biāo)題。
  • 文章知識(shí)點(diǎn)與官方知識(shí)檔案匹配,可進(jìn)

總結(jié)

到此這篇關(guān)于Python中使用matplotlib繪制各類圖表的文章就介紹到這了,更多相關(guān)Python matplotlib繪制圖表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python字符串匹配算法KMP實(shí)例

    Python字符串匹配算法KMP實(shí)例

    這篇文章主要介紹了Python字符串匹配算法KMP實(shí)現(xiàn)方法,實(shí)例分析了Python針對(duì)字符串操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • Python使用到第三方庫(kù)PyMuPDF圖片與pdf相互轉(zhuǎn)換

    Python使用到第三方庫(kù)PyMuPDF圖片與pdf相互轉(zhuǎn)換

    今天為大家介紹個(gè)比較簡(jiǎn)單的Python第三方庫(kù)PyMuPDF進(jìn)行圖片和pdf之間的相互轉(zhuǎn)換,以下就是利用PyMuPDF進(jìn)行pdf與圖片之間的互轉(zhuǎn)
    2019-05-05
  • Python技法之簡(jiǎn)單遞歸下降Parser的實(shí)現(xiàn)方法

    Python技法之簡(jiǎn)單遞歸下降Parser的實(shí)現(xiàn)方法

    遞歸下降解析器可以用來實(shí)現(xiàn)非常復(fù)雜的解析,下面這篇文章主要給大家介紹了關(guān)于Python技法之簡(jiǎn)單遞歸下降Parser的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • Python字符串處理之count()方法的使用

    Python字符串處理之count()方法的使用

    這篇文章主要介紹了Python字符串處理之count()方法的使用,是Python入門的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • 淺析python實(shí)現(xiàn)布隆過濾器及Redis中的緩存穿透原理

    淺析python實(shí)現(xiàn)布隆過濾器及Redis中的緩存穿透原理

    本文帶你了解了位圖的實(shí)現(xiàn),布隆過濾器的原理及 Python 中的使用,以及布隆過濾器如何應(yīng)對(duì) Redis 中的緩存穿透,相信你對(duì)布隆過濾器已經(jīng)有了一定的認(rèn)識(shí)
    2021-09-09
  • Pytorch 中retain_graph的用法詳解

    Pytorch 中retain_graph的用法詳解

    今天小編就為大家分享一篇Pytorch 中retain_graph的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python PyMySQL操作MySQL數(shù)據(jù)庫(kù)的方法詳解

    Python PyMySQL操作MySQL數(shù)據(jù)庫(kù)的方法詳解

    PyMySQL是一個(gè)用于Python編程語言的純Python MySQL客戶端庫(kù),它遵循Python標(biāo)準(zhǔn)DB API接口,并提供了許多方便的功能,本文就來和大家簡(jiǎn)單介紹一下吧
    2023-05-05
  • python_tkinter彈出對(duì)話框創(chuàng)建

    python_tkinter彈出對(duì)話框創(chuàng)建

    這篇文章主要介紹了python_tkinter彈出對(duì)話框?qū)崿F(xiàn),tkinter提供了三個(gè)模塊,可以創(chuàng)建彈出對(duì)話窗口,下面詳細(xì)介紹,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-03-03
  • python依賴安裝兩種常用方式

    python依賴安裝兩種常用方式

    這篇文章主要給大家介紹了關(guān)于python依賴安裝兩種常用方式的相關(guān)資料,python本身做為一門解釋性語言,說它功能強(qiáng)大,是因?yàn)樗兄S富的模塊或稱之為依賴(包),需要的朋友可以參考下
    2023-10-10
  • tensorflow中tf.slice和tf.gather切片函數(shù)的使用

    tensorflow中tf.slice和tf.gather切片函數(shù)的使用

    今天小編就為大家分享一篇tensorflow中tf.slice和tf.gather切片函數(shù)的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01

最新評(píng)論