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

Python的Matplotlib庫(kù)應(yīng)用實(shí)例超詳細(xì)教程

 更新時(shí)間:2025年01月26日 11:29:52   作者:小星袁  
這篇文章主要介紹了Python的Matplotlib庫(kù)應(yīng)用的相關(guān)資料,Matplotlib是一個(gè)強(qiáng)大的Python數(shù)據(jù)可視化庫(kù),支持繪制2D和3D圖像,它提供了簡(jiǎn)單易用的API,廣泛應(yīng)用于數(shù)據(jù)分析和科學(xué)研究,需要的朋友可以參考下

前言

Matplotlib庫(kù)是一款功能強(qiáng)大且靈活的Python數(shù)據(jù)可視化軟件包,它支持跨平臺(tái)運(yùn)行,能夠根據(jù)NumPy ndarray數(shù)組繪制高質(zhì)量的2D圖像(也支持部分3D圖像)。Matplotlib提供了類MATLAB的繪圖API,使得繪圖過程簡(jiǎn)單直觀,代碼清晰易懂。它廣泛應(yīng)用于數(shù)據(jù)分析、科學(xué)研究、報(bào)告生成以及教育與培訓(xùn)等領(lǐng)域,用戶可以通過它創(chuàng)建多樣化的圖表類型,如折線圖、柱狀圖、散點(diǎn)圖等,并對(duì)圖表的各個(gè)元素進(jìn)行高度定制化的調(diào)整。無(wú)論是簡(jiǎn)單的圖表還是復(fù)雜的可視化需求,Matplotlib都能提供高質(zhì)量的輸出。

一、環(huán)境搭建

1.1 配置matplotlib庫(kù)

pip install matplotlib

安裝成功展示圖: 

1.2 配置seaborn庫(kù)

pip install seaborn

 安裝成功展示圖: 

1.3 配置Skimage庫(kù)

pip install scikit-image

 安裝成功展示圖: 

二、二維圖像

2.1 曲線(直線)可視化

import matplotlib.pyplot as plt
import numpy as np

X = np.linspace(1, 15)
Y = np.sin(X)
# 圖像大小設(shè)置
plt.figure(figsize=(10,8))
# 繪制線
plt.plot(X, Y, color='red')
plt.xlabel('X')
plt.ylabel('Y')
# 設(shè)置圖像標(biāo)題名
plt.title("y = sin(X)")
# 是否添加網(wǎng)格
plt.grid(True)
# 繪制圖像
plt.show()

2.2 曲線(虛線)可視化

import matplotlib.pyplot as plt
import numpy as np

X = np.linspace(1, 15)
Y = np.sin(X)
# 圖像大小設(shè)置
plt.figure(figsize=(10,8))
# 繪制線 藍(lán)色 虛線
plt.plot(X, Y, "b-.")
plt.xlabel(r"$\alpha$")
plt.ylabel(r"$\beta$")
# 設(shè)置圖像標(biāo)題名
plt.title("$y=\sum sin(x)$")
# 是否添加網(wǎng)格
plt.grid(True)
# 繪制圖像
plt.show()

2.3 直方圖

import matplotlib.pyplot as plt
import numpy as np
import matplotlib
matplotlib.rcParams['axes.unicode_minus'] = False
import seaborn as sns
sns.set(font = "Kaiti", style = "ticks", font_scale = 1.4)

X = np.linspace(1, 15)
Y = np.sin(X)
# 圖像大小設(shè)置
plt.figure(figsize=(10,8))
# 生成數(shù)據(jù)
data = np.random.randn(200, 1)
# 可視化
plt.hist(data, 10)
plt.xlabel("取值")
plt.ylabel("頻數(shù)")
plt.title("直方")
# 繪制圖像
plt.show()

2.4 階梯圖

import matplotlib.pyplot as plt
import numpy as np
import matplotlib
from matplotlib.pyplot import xticks

matplotlib.rcParams['axes.unicode_minus'] = False
import seaborn as sns
sns.set(font = "Kaiti", style = "ticks", font_scale = 1.4)

X = np.linspace(1, 15)
Y = np.sin(X)
# 圖像大小設(shè)置
plt.figure(figsize=(10,8))
# 階梯圖設(shè)置
plt.step(X, Y, c = "r", label = "sin(x)", linewidth = 3)
# 添加輔助線
plt.plot(X, Y, "o--", color = "grey", alpha = 0.5)
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Bar")
# 設(shè)置圖例位置及大小
plt.legend(loc = "lower right", fontsize = "small")
# 設(shè)置X軸坐標(biāo)系取值
xtick = [0, 5, 10, 15]
xticklabels = [str(x) + "萬(wàn)" for x in xtick]
# x軸的坐標(biāo)取值,傾斜度為45°
plt.xticks(xtick, xticklabels, rotation = 45)
# 調(diào)整水平空間距離
plt.subplots_adjust(hspace = 0.5)
plt.show()

三、三維圖像

3.1 3D曲面圖

import matplotlib.pyplot as plt
import numpy as np
import matplotlib
from matplotlib.pyplot import xticks
from pyparsing import alphas
matplotlib.rcParams['axes.unicode_minus'] = False
import seaborn as sns
sns.set(font = "Kaiti", style = "ticks", font_scale = 1.4)

x = np.linspace(-4, 4, num = 50)
y = np.linspace(-4, 4, num = 50)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))
# 3D曲面圖可視化
fig = plt.figure(figsize=(6, 5))
# 設(shè)置3D坐標(biāo)
ax1 = fig.add_subplot(1, 1, 1, projection = '3d')
# 繪制曲面圖, rstride:行的跨度 cstride:列的跨度 alpha:透明度 cmap:顏色
ax1.plot_surface(X, Y, Z, rstride = 1, cstride = 1, alpha = 0.5, cmap = plt.cm.coolwarm)
# 繪制z軸方向的等高線
cset = ax1.contourf(X, Y, Z, zdir = 'z', offset = 1, cmap = plt.cm.CMRmap)
ax1.set_xlabel("X")
ax1.set_xlim(-4, 4)
ax1.set_ylabel("Y")
ax1.set_ylim(-4, 4)
ax1.set_zlabel("Z")
ax1.set_zlim(-1, 1)
ax1.set_title("曲面圖和等高線")
plt.show()

 

3.2 3D散點(diǎn)圖

import matplotlib.pyplot as plt
import numpy as np
import matplotlib
from matplotlib.pyplot import xticks
from pyparsing import alphas
matplotlib.rcParams['axes.unicode_minus'] = False
import seaborn as sns
sns.set(font = "Kaiti", style = "ticks", font_scale = 1.4)

theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
x = np.cos(theta)
y = np.sin(theta)
z = np.linspace(-2, 2, 100)
r = z ** 2 + 1
# 在子圖中繪制三維圖像
fig = plt.figure(figsize=(10, 10))
# 將坐標(biāo)系設(shè)置為3D坐標(biāo)系
ax1 = fig.add_subplot(1, 1, 1, projection='3d')
ax1.plot(x, y, z, "b-")
ax1.view_init(elev = 20, azim = 25)
ax1.set_title("3D曲線圖")
plt.show()

3.3 3D散點(diǎn)圖

import matplotlib.pyplot as plt
import numpy as np
import matplotlib
from matplotlib.pyplot import xticks
from pyparsing import alphas
matplotlib.rcParams['axes.unicode_minus'] = False
import seaborn as sns
sns.set(font = "Kaiti", style = "ticks", font_scale = 1.4)

theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
x = np.cos(theta)
y = np.sin(theta)
z = np.linspace(-2, 2, 100)
r = z ** 2 + 1
# 在子圖中繪制三維圖像
fig = plt.figure(figsize=(10, 10))
# 將坐標(biāo)系設(shè)置為3D坐標(biāo)系
ax1 = plt.subplot(1, 1, 1, projection='3d')
ax1.scatter3D(x, y, z, c = "r", s = 20)
ax1.view_init(elev = 20, azim = 25)
ax1.set_title("3D散點(diǎn)圖")
plt.show()

總結(jié) 

到此這篇關(guān)于Python的Matplotlib庫(kù)應(yīng)用的文章就介紹到這了,更多相關(guān)Python Matplotlib庫(kù)應(yīng)用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python實(shí)現(xiàn)飛行棋游戲

    python實(shí)現(xiàn)飛行棋游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)飛行棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • python利用文件讀寫編寫一個(gè)博客

    python利用文件讀寫編寫一個(gè)博客

    這篇文章主要為大家詳細(xì)介紹了python利用文件讀寫編寫一個(gè)博客,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Python通過遞歸獲取目錄下指定文件代碼實(shí)例

    Python通過遞歸獲取目錄下指定文件代碼實(shí)例

    這篇文章主要介紹了python通過遞歸獲取目錄下指定文件代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • python圖片格式轉(zhuǎn)換腳本

    python圖片格式轉(zhuǎn)換腳本

    大家好,本篇文章主要講的是python圖片格式轉(zhuǎn)換腳本,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)實(shí)現(xiàn)對(duì)不原生支持比較操作的對(duì)象排序算法示例

    Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)實(shí)現(xiàn)對(duì)不原生支持比較操作的對(duì)象排序算法示例

    這篇文章主要介紹了Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)實(shí)現(xiàn)對(duì)不原生支持比較操作的對(duì)象排序算法,結(jié)合實(shí)例形式分析了Python針對(duì)類實(shí)例進(jìn)行排序相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • pip升級(jí)pip3的快速方法指南

    pip升級(jí)pip3的快速方法指南

    使用python時(shí)經(jīng)常使用到pip命令,可以方便安裝python的各種第三方庫(kù)這篇文章主要給大家介紹了關(guān)于pip升級(jí)pip3的快速方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • Python實(shí)現(xiàn)按學(xué)生年齡排序的實(shí)際問題詳解

    Python實(shí)現(xiàn)按學(xué)生年齡排序的實(shí)際問題詳解

    這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)按學(xué)生年齡排序?qū)嶋H問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • Django實(shí)現(xiàn)翻頁(yè)的示例代碼

    Django實(shí)現(xiàn)翻頁(yè)的示例代碼

    翻頁(yè)是經(jīng)常使用的功能,Django提供了翻頁(yè)器。用Django的Paginator類實(shí)現(xiàn),有需要了解Paginator類用法的朋友可參考。希望此文章對(duì)各位有所幫助
    2021-05-05
  • numpy.insert用法及內(nèi)插插0的方法

    numpy.insert用法及內(nèi)插插0的方法

    本文主要介紹了numpy.insert用法及內(nèi)插插0的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python?selenium?webdriver?基本使用代碼分享

    Python?selenium?webdriver?基本使用代碼分享

    這篇文章主要介紹了Python?selenium?webdriver?基本使用,本文僅僅簡(jiǎn)單介紹了selenium的使用常用代碼分享,需要的朋友可以參考下
    2022-11-11

最新評(píng)論

苍山县| 内江市| 合肥市| 汕尾市| 卢氏县| 滁州市| 阿尔山市| 高雄县| 衢州市| 临江市| 莎车县| 义马市| 永丰县| 保康县| 西乌| 新安县| 自治县| 凉城县| 洪湖市| 武山县| 濮阳县| 沿河| 开平市| 嵩明县| 青冈县| 阿城市| 莒南县| 渑池县| 达尔| 阜新市| 孙吴县| 平泉县| 五常市| 寻甸| 鄂伦春自治旗| 武汉市| 黄石市| 涡阳县| 光泽县| 泽州县| 北海市|