国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形

這篇具有很好參考價值的文章主要介紹了【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

前言

??大家好,我是向陽花,CSDN全棧領(lǐng)域新星創(chuàng)作者一枚??。

在上一節(jié)中我們講到了使用Matplotlib繪圖配置的各項配置,如果沒有看這篇文章的朋友,建議先學(xué)習(xí)這篇文章:一文搞定Matplotlib繪圖配置(大三學(xué)長的萬字筆記)

那么接下來,我們就開始使用 Matplotlib 進(jìn)行各種基礎(chǔ)圖形的繪制。此外,我們還可以參考官網(wǎng):matplotlib官網(wǎng),進(jìn)行繪制更多圖象,結(jié)合文檔學(xué)習(xí),也是程序員們的一項重要技能哦!

在繪圖之前,我們還是把相應(yīng)的包導(dǎo)入,還有配置做好:

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
# 當(dāng)瀏覽器不顯示繪圖圖片時,加上這一行
%matplotlib inline

# 讓圖片可以顯示中文
plt.rcParams['font.sans-serif'] = 'SimHei'
# 讓圖片可以顯示負(fù)號
plt.rcParams['axes.unicode_minus'] = False

# 支持svg矢量圖
%config InlineBackend.figure_format = 'svg'

一、折線圖

折線圖可以顯示隨時間(根據(jù)常用比例設(shè)置)而變化的連續(xù)數(shù)據(jù),用折線的升降來體現(xiàn)數(shù)據(jù)變化的趨勢。

下面我們來繪制折線圖。

1 - 單線

fig = plt.figure(figsize=(4,3))

# 數(shù)據(jù)
x = [2018,2019,2020,2021,2022,2023]
y = [40,30,20,80,50,60]

# 繪制折線圖
plt.plot(x,y,c='g',marker='D',markersize=3)

# 添加標(biāo)簽
plt.xlabel('年份')
plt.ylabel('報名人數(shù)')

# 添加標(biāo)題
plt.title('某活動報名人數(shù)',fontsize=10)

# 添加文本
for a,b in zip(x,y):
    plt.text(
        x=a+0.3,
        y=b+0.5, # 根據(jù)(x,y)坐標(biāo)確定文本的位置
        s=b, # 文本內(nèi)容
        ha='center', # 水平對齊方式
        va='center' # 垂直對齊方式
    )

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

2 - 多線

當(dāng) plot() 函數(shù)只接收了一個數(shù)據(jù)時,那么X軸范圍是 0-N(N是數(shù)據(jù)個數(shù))。

fig = plt.figure(figsize=(4,3))

x = np.random.randint(0,10,15)

# 當(dāng) plot() 函數(shù)只接收了一個數(shù)據(jù)時,那么X軸范圍是0-N(N是數(shù)據(jù)個數(shù))
plt.plot(x,marker='*',c='r')
# cumsum:計算X的累加和
plt.plot(x.cumsum(),marker='o',c='b')

plt.xlabel('X')
plt.ylabel('Y')
plt.title('Change Trend')

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

二、柱狀圖(條形圖)

柱狀圖利用柱子的高度,來反映數(shù)據(jù)的差異,也可用于比較數(shù)據(jù)的變化趨勢。條形圖和柱狀圖類似,是橫向柱狀圖。

1 - 單柱

單柱即只繪制一種顏色的柱子(只有一類數(shù)據(jù))。

# make data
x = ['C','Java','Shell','DB','Python']
y = [65,52,87,71,100]

# figure
fig = plt.figure(figsize=(4,3))

# labels
plt.xlabel('Project',fontsize=10)
plt.ylabel('Score',fontsize=10)

# add text
for a,b in zip(x,y):
    plt.text(
        x=a,
        y=b+2,
        s="{}分".format(b),
        ha='center',
        va='center'
    )
# plot
plt.bar(x,y,width=0.5)

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

2 - 多柱

多柱即一次繪制多個柱狀圖,也稱為簇狀柱形圖。

fig = plt.figure(figsize=(4,3))

# make data
x = np.arange(2015,2024)
y1 = make_random()
y2 = make_random()

# 每一個柱子的寬度
# (默認(rèn)值是0.6,我們要分為兩個柱子,那么每一個柱子占0.3)
width = 0.3

# ticks
plt.xticks(x)
plt.yticks(np.arange(11))

# plot(x-width/2是將柱子往左移動)
plt.bar(x-width/2,y1,color='orange',width=width)
plt.bar(x+width/2,y2,color='green',width=width)

繪制效果如下:(因為是隨機(jī)數(shù),所以每個人繪制的效果是不一定一樣的)
【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

3 - 堆疊

首先編寫生成隨機(jī)數(shù)的函數(shù):

def make_random():
    return np.random.randint(5,10,9)

接下來繪制兩個柱狀圖:

fig = plt.figure(figsize=(4,3))

# make data
x = np.arange(2015,2024)
y1 = make_random()
y2 = make_random()

# plot
plt.bar(x,y1,color='b')
plt.bar(x,y2,color='g')

繪制結(jié)果如下:
【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析
我們會發(fā)現(xiàn),雖然現(xiàn)在柱狀圖是堆疊的,但是有些藍(lán)色部分被綠色部分完全擋住了,根本看不出來它的值是多少,所以說這樣繪制肯定是不可取的,我們需要對代碼進(jìn)行修改。

其實,要實現(xiàn)堆疊效果,就是讓第二次繪圖時,Y2軸的取值建立在Y1之上,也就是對每一個Y2+Y1,所以我們只需要修改最后一行,加上 bottom 參數(shù),這樣即可實現(xiàn)堆疊效果。

plt.bar(x,y2,color='g',bottom=y1)

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

4 - 條形

條形圖是水平方向的柱狀圖,和柱狀圖繪圖方法類似,使用的是 barh() 方法。

# make data
x = ['C','Java','Shell','DB','Python']
y = [65,52,87,71,100]

# figure
fig = plt.figure(figsize=(4,3))

# labels
plt.xlabel('Project',fontsize=10)
plt.ylabel('Score',fontsize=10)

# add text
for a,b in zip(y,x):
    plt.text(
        x=a+5,
        y=b,
        s="{}分".format(a),
        ha='center',
        va='center'
    )
# plot
plt.barh(x,y)

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

三、直方圖

直方圖描述的是一組數(shù)據(jù)的出現(xiàn)次數(shù)分布。直方圖有助于我們知道數(shù)據(jù)的分布情況,諸如眾數(shù)、中位數(shù)的大致位置、數(shù)據(jù)是否存在缺口或者異常值。

fig = plt.figure(figsize=(4,3))

# make data
x = np.random.randint(0,11,100) # 1-10

# plot
plt.hist(x)
plt.show() # instantly show,no print other.

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

此外,還可以對直方圖進(jìn)行分組。

分組的意思就是劃分區(qū)間,比如說[0-2]一組,那么在0-2范圍內(nèi)的數(shù)據(jù)都會被統(tǒng)計進(jìn)來,作為一類數(shù)據(jù)。hist() 方法的 bins 參數(shù)就是用來分組的。

fig = plt.figure(figsize=(4,3))

# make data
x = np.random.randint(0,11,100) # 1-10

# divide groups
# 劃分為4組,因為X取值范圍是0-10,所以就是0-2.5,2.5-5,5-7.5,7.5-10這四組
bins = 4 

# ticks
plt.xticks(x)
# plot
plt.hist(x,bins=bins)
plt.show() # instantly show,no print other.

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

四、箱型圖

箱型圖,它能顯示處一組數(shù)據(jù)的最大值,最小值,中位數(shù),上下四分位數(shù)以及異常值。

1 - 單個

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

fig = plt.figure(figsize=(4,3))

x = [1,3,2,5,10,-10,23]

plt.boxplot(x)
plt.show()

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析
上面的圖中即包含了各種情況,那么什么樣的數(shù)據(jù)會被判斷為異常值?

異常值(用字母 K 表示),分為中度異常(K = 1.5)和重度異常(K = 3),有一個計算方法如下。

設(shè):QL(下四分位數(shù)),QU(上四分位數(shù)),IQR(QU - QL)。那么中度異常
就是小于:
Q L ? 1.5 I Q R QL-1.5IQR QL?1.5IQR
或者大于:
Q U + 1.5 I Q R QU+1.5IQR QU+1.5IQR
重度異常同理,將1.5換成3即可。

2 - 多個

一次畫多個箱型圖,只需要為 boxplot() 函數(shù)傳遞一個列表即可。

fig = plt.figure(figsize=(4,3))

x1 = np.random.randint(10,100,100)
x2 = np.random.randint(10,100,100)
x3 = np.random.randint(10,100,100)

plt.boxplot(
    x = [x1,x2,x3],
    notch=True, # change a style
    )
plt.show() # instantly show,no print other.

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

五、散點(diǎn)圖

1 - 散點(diǎn)圖

散點(diǎn)圖用于在水平軸和縱軸上繪制數(shù)據(jù)點(diǎn),它表示了因變量隨自變量變化的趨勢。通俗的講,它反映Y軸變量受X軸變量的影響程度。

fig = plt.figure(figsize=(4,3))

x = range(1,7,1)
y = range(10,70,10)

plt.scatter(x,y)

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

2 - 氣泡圖

它與散點(diǎn)圖類似,繪制的時候,將一個變量放在橫軸,另一個變量放在縱軸,而第三個變量則表示很多泡泡的大?。ㄟ@意味著它是一個可迭代對象)。

fig = plt.figure(figsize=(4,3))

# Create a sample from the "standard normal" distribution.
data = np.random.randn(100,2)

# An array of bubble sizes
size = np.random.randint(50,200,100)

# An array of bubble colors
color = np.random.randn(100)

# plot
plt.scatter(
    x=data[:,0],
    y=data[:,1],
    s=size,
    c=color,
    alpha=0.5
)

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

六、餅圖

1 - 餅圖

餅狀圖用來顯示一個數(shù)據(jù)系列,具體來說,餅狀圖顯示一個數(shù)據(jù)系列中各項占項目總和的百分比。

plt.figure(figsize=(4, 3))

# make data
x = np.random.randint(10,30,5)
citys = ['Beijing','Shanghai','Shenzhen','Nanjing','Guangzhou']

plt.pie(
    x=x,
    autopct='%.1f%%', # 顯示百分比
    pctdistance=0.6, # 文字距離圓心的距離
    labels=citys, # 標(biāo)簽
    labeldistance=1.3, # 標(biāo)簽距離圓心的位置
    textprops={'fontsize':12,'color':'black'}, # 文字樣式
    explode=[0,0,0.05,0,0.09], # 分裂效果
    shadow=True # 陰影效果
)

plt.show()

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

2 - 甜甜圈 | 空心

要繪制甜甜圈,只需要加上一個 wedgeprops 屬性即可。

甜甜圈設(shè)置的原理就是通過設(shè)置餅狀圖的餅的寬度,寬度初始值為1,此時是占滿了整個圓的,如果小于1,那么就是圓環(huán)狀了。

plt.figure(figsize=(4, 3))

# make data
x = np.random.randint(10,30,5)
citys = ['Beijing','Shanghai','Shenzhen','Nanjing','Guangzhou']

plt.pie(
    x=x,
    autopct='%.1f%%', # 顯示百分比
    pctdistance=0.6, # 文字距離圓心的距離
    labels=citys, # 標(biāo)簽
    labeldistance=1.3, # 標(biāo)簽距離圓心的位置
    textprops={'fontsize':12,'color':'black'}, # 文字樣式
    explode=[0,0,0.05,0,0.09], # 分裂效果
    shadow=True, # 陰影效果
    wedgeprops={'width': 0.5,'edgecolor':'w'} # 甜甜圈設(shè)置
)

plt.show()

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

3 - 甜甜圈 | 實心

實心甜甜圈的原理就是,外面的圓環(huán)使用的是空心甜甜圈,里面的圓是正常畫的餅圖,只不過,里面的餅圖剛好填充了甜甜圈的內(nèi)部空白區(qū)域,通過設(shè)置 radius 可以達(dá)到,下面請看代碼示例。

plt.figure(figsize=(6, 4))

# make data
citys = ['Beijing','Shanghai','Shenzhen','Nanjing','Guangzhou']
x1 = np.random.randint(10,30,5)
x2 = np.random.randint(10,30,5)

# 第一個圓環(huán)
plt.pie(
    x=x1,
    autopct='%.1f%%', # 顯示百分比
    pctdistance=0.6, # 文字距離圓心的距離
    labels=citys, # 標(biāo)簽
    labeldistance=1.3, # 標(biāo)簽距離圓心的位置
    wedgeprops={'width': 0.4,'edgecolor':'w'} # 甜甜圈設(shè)置
)

# 第二個圓環(huán),用來填充空白處
plt.pie(
    x=x2,
    autopct='%.1f%%', # 顯示百分比
    pctdistance=0.6, # 文字距離圓心的距離
    radius=0.6 # 設(shè)置圓的半徑,從而使該圓剛好填充空白區(qū)域
)

plt.show()

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

七、面積圖

面積圖又稱為區(qū)域圖,和折線圖類似,用于強(qiáng)調(diào)Y軸隨X軸而變化的程度,可用于引起人們對總值趨勢的注意。

fig = plt.figure(figsize=(4,3))

x = [1,2,3,4,5]
y = np.random.randint(10,100,5)

# label
plt.xlabel('Month')
plt.ylabel('Score')

# title
plt.title('Score vary from month')
plt.suptitle('Super Title',y=1)
# plot
plt.stackplot(x,y)

# text
for a,b in zip(x,y):
    plt.text(
        x=a,
        y=b+2,
        s=b,
        fontsize=10,
        alpha=0.7,
        ha='center',
        va='center'
    )

# instantly show
plt.show()

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

八、熱力圖

熱力圖是一種通過對色塊著色來顯示數(shù)據(jù)的統(tǒng)計圖表。

適用場景:

(1)熱力圖的優(yōu)勢在于“空間利用率高”,可以容納較為龐大的數(shù)據(jù)。熱力圖不僅有助于發(fā)現(xiàn)數(shù)據(jù)間的關(guān)系、找出極值,也常用于刻畫數(shù)據(jù)的整體樣貌,方便在數(shù)據(jù)集之間進(jìn)行比較(例如將每個運(yùn)動員的歷年成績都濃縮成一張熱力圖,再進(jìn)行比較)。

(2)如果將某行或某列設(shè)置為時間變量,熱力圖也可用于展示數(shù)據(jù)隨時間的變化。例如,用熱力圖來反映一個城市一年中的溫度變化,氣候的冷暖走向,一目了然。

# figure
fig = plt.figure(figsize=(4,3))

# make data
x = ["project-{}".format(i+1) for i in range(5)]
y = ['Beijing','Shanghai','Shenzhen','Nanjing','Guangzhou']
data = np.random.randint(1000,6000,(5,5))

# ticks
plt.xticks(ticks=range(len(x)),labels=x,rotation=45)
plt.yticks(ticks=range(len(citys)),labels=citys)

# add text
for i in range(len(x)):
    for j in range(len(y)):
        plt.text(
            x=i,
            y=j,
            s=data[j,i],
            ha='center',
            va='center',
            fontsize=10,
            color='g'
        )
# plot
plt.imshow(data,cmap='Blues')

# add side color bar
plt.colorbar()

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

九、極坐標(biāo)圖

極坐標(biāo)系是一個二維坐標(biāo)系統(tǒng),該坐標(biāo)系統(tǒng)中任意位置可由一個夾角和一段相對原點(diǎn)的距離來表示。極坐標(biāo)圖(Polar)用來將極坐標(biāo)系的信息表示出來的圖形格式。

N = 8

# create a arithmetic progression with eight number from 0 to 2*np.pi
x = np.linspace(0,2*np.pi,N,endpoint=False)
# the height of polar 
heiht = np.random.randint(3,15,size=N)

# width
width = 2*np.pi / N
# color
color = np.random.rand(8,3) # rand:Return a array from 0 to 1.

# plot
axes = plt.subplot(111,projection='polar')
axes.bar(
    x=x,
    height=heiht,
    width=width,
    bottom=0,
    color=color
)

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

十、雷達(dá)圖

當(dāng)我們需要綜合評價多個變量或指標(biāo)時,條形圖或柱狀圖可能是我們的首選,涉及到多組間的比較時,可能就需要分組條形圖或分組柱狀圖了。

有時候也不禁問自己,只有這一種選擇嗎?

今天,我們就說說另外一種數(shù)據(jù)展示的圖表——雷達(dá)圖。

在實際場景中,雷達(dá)圖也用于描述一個人的能力。比如中國乒乓球員有一位被成為“六邊形戰(zhàn)士”的,這個六邊形能力,就算用雷達(dá)圖描述的。

雷達(dá)圖其實就是放在極坐標(biāo)系中的首尾相連的折線圖。

plt.figure(figsize=(3,3))

x = np.linspace(0,2*np.pi,6,endpoint=False)
y = [80,60,90,70,70,100]

# 首尾相連
x = np.concatenate((x,[x[0]]))
y = np.concatenate((y,[y[0]]))

# 繪制極坐標(biāo)系
axes = plt.subplot(111,polar=True)

# 繪制折線條
axes.plot(x,y,ls='-',lw=1,color='g')
# 填充
axes.fill(x,y,alpha=0.3)

# 顯示文本
for a,b in zip(x,y):
    plt.text(
        x=a,
        y=b+2,
        s=b,
        fontsize=10,
        color='r',
        ha='center',
        va='center'
    )

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

十一、等高線圖

等高線圖,有時稱為地形圖,是在平面上用等高線表示的三維地貌。 該圖顯示鳥瞰圖,允許人們直觀地看到正在繪制的丘陵、山谷和斜坡。

在繪制等高線圖之前,我們先來介紹一個 meshgrid(a,b) 方法,該方法將 a,b 變成相同形狀(shape)的數(shù)組,并返回新的數(shù)組。

a = np.array([1,2,3])
b = np.array([4,5])

# meshgrid(a,b),將 a,b 變成相同形狀的數(shù)組
A,B = np.meshgrid(a,b)
display(A,B)

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析
下面我們來繪制等高線圖:

fig = plt.figure(figsize=(4, 3))

# make data
x = np.linspace(-5,5,100)
y = np.linspace(-5,5,100)

# let x,y have same shape
X,Y = np.meshgrid(x,y)
Z = np.sqrt(X**2+Y**2)

# plot
cb = plt.contourf(X,Y,Z)
# color bar
plt.colorbar(cb)
plt.show()

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

十二、3D圖

在前面我們提到使用 matplotlib 也可以繪制3D圖,下面我們就來繪制一些常見的3D圖象。

下面的繪制方法,如果是 matplotlib-3.1.1 版本,會出現(xiàn)一系列類似下面的警告。
【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析
雖然說沒有什么影響,但是有些不美觀,因此,繪制3D圖時可以參考官網(wǎng)的繪圖案例去繪圖。

1 - 三維折線圖

fig = plt.figure(figsize=(4, 3))

# data
x = np.linspace(0,100,400)

# image
y = np.sin(x)
z = np.cos(x)

# 3D line chart
axes = Axes3D(fig)
fig.add_axes(axes)
axes.plot(x,y,z)

plt.show()

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

2 - 三維散點(diǎn)圖

fig = plt.figure(figsize=(4, 3))

axes = Axes3D(fig)
fig.add_axes(axes)

# make data
x = np.random.rand(50)
y = np.random.rand(50)
z = np.random.rand(50)

# plot scatter
axes.scatter(x,y,z,color='b',s=100)

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

3 - 三維柱狀圖

fig = plt.figure(figsize=(5, 4))

axes = Axes3D(fig)
fig.add_axes(axes)

x = np.arange(1, 5)

for i in x:
    axes.bar(
        np.arange(4),
        np.random.randint(10, 100, size=4),
        zs=i,
        zdir='x',
        width=0.6,
        alpha=0.7
    )
    
# label
axes.set_xlabel('X軸',fontsize=10,color='r')
axes.set_ylabel('Y軸',fontsize=10,color='g')
axes.set_zlabel('Z軸',fontsize=10,color='b')

【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形,Python數(shù)據(jù)分析,matplotlib,機(jī)器學(xué)習(xí),數(shù)據(jù)分析

圖象處理

  • 讀取圖片

該方法返回一個 NumPy 數(shù)組。

n = plt.imread(r'F:\Pictures\圖片素材\csdn封面\社區(qū)圖片\聽海.png')
  • 顯示圖片

該方法傳遞一個 numpy 數(shù)組作為參數(shù)。

plt.imshow(n)
  • 保存圖片

該方法至少傳遞文件名和 numpy 數(shù)組作為參數(shù)。

plt.imsave('sea.jpg',n,dpi=200)

結(jié)語

以上就是本期要分享的全部內(nèi)容了!綜合來看,我們要善于查看方法幫助(將光表定位在方法的花括號中,然后按 Shift + Tab 即可。

我是向陽花,我在CSDN等你!??文章來源地址http://www.zghlxwxcb.cn/news/detail-694206.html

到了這里,關(guān)于【Matplotlib】一文帶你掌握Matplotlib繪制各種圖形的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python使用Matplotlib庫繪制雙y軸圖形(柱狀圖+折線圖)

    Python使用Matplotlib庫繪制雙y軸圖形(柱狀圖+折線圖)

    今天是第一次寫 踩坑日記 系列,這個系列用來記錄在Python和R學(xué)習(xí)過程中遇到的問題和結(jié)果。今天介紹的是使用Python的matplotlib庫繪制兩個y軸圖的一些基本用法與踩坑行為。希望可以幫助到大家,也希望大家可以給出建議,歡迎留言交流。 Matplotlib是Python數(shù)據(jù)分析中常用的可視

    2024年02月15日
    瀏覽(22)
  • 基于python的matplotlib、numpy庫實現(xiàn)的圖形繪制(數(shù)據(jù)可視化)

    基于python的matplotlib、numpy庫實現(xiàn)的圖形繪制(數(shù)據(jù)可視化)

    1.題目要求 編寫程序,繪制正弦曲線和余弦曲線。 提示:利用numpy的linspace()、sin()或cos()函數(shù)生成樣本數(shù)據(jù)、正弦或余弦值。 2.函數(shù)講解及代碼 ?3.運(yùn)行圖樣 4.擴(kuò)展 1.題目要求 已知實驗中學(xué)舉行了高二期中模擬考試,考試后分別計算了全體男生、女生各科的平均成績,統(tǒng)計結(jié)

    2024年02月08日
    瀏覽(34)
  • 【Python】一文帶你掌握數(shù)據(jù)容器之集合,字典

    【Python】一文帶你掌握數(shù)據(jù)容器之集合,字典

    思考:我們目前接觸到了列表、元組、字符串三個數(shù)據(jù)容器了?;緷M足大多數(shù)的使用場景為何又需要學(xué)習(xí)新的集合類型呢? 通過特性來分析: (1)列表可修改、 支持重復(fù)元素且有序 (2)元組、字符串不可修改、 支持重復(fù)元素且有序 大家有沒有看出一些局限? 局限就在于:

    2024年02月05日
    瀏覽(28)
  • 【Python數(shù)據(jù)可視化】matplotlib之繪制常用圖形:折線圖、柱狀圖(條形圖)、餅圖和直方圖

    【Python數(shù)據(jù)可視化】matplotlib之繪制常用圖形:折線圖、柱狀圖(條形圖)、餅圖和直方圖

    文章傳送門 Python 數(shù)據(jù)可視化 matplotlib之繪制常用圖形:折線圖、柱狀圖(條形圖)、餅圖和直方圖 matplotlib之設(shè)置坐標(biāo):添加坐標(biāo)軸名字、設(shè)置坐標(biāo)范圍、設(shè)置主次刻度、坐標(biāo)軸文字旋轉(zhuǎn)并標(biāo)出坐標(biāo)值 matplotlib之增加圖形內(nèi)容:設(shè)置圖例、設(shè)置中文標(biāo)題、設(shè)置網(wǎng)格效果 matplo

    2024年01月16日
    瀏覽(31)
  • 【Python】一文帶你掌握數(shù)據(jù)容器之元組,字符串

    【Python】一文帶你掌握數(shù)據(jù)容器之元組,字符串

    前言:如果想要傳遞的信息, 不被篡改 ,列表就不能滿足條件了 由此當(dāng)我們需要在程序內(nèi)封裝數(shù)據(jù),又不希望封裝的數(shù)據(jù)被篡改,那么我們就引入了元組 1.定義元組 元組定義:定義元組使用 小括號 ,且使用逗號隔開各個數(shù)據(jù), 數(shù)據(jù)可以是不同的數(shù)據(jù)類型 元組也支持嵌套:

    2024年02月05日
    瀏覽(20)
  • 【Flutter】【基礎(chǔ)】CustomPaint 繪畫功能,繪制各種圖形(二)

    【Flutter】【基礎(chǔ)】CustomPaint 繪畫功能,繪制各種圖形(二)

    1.canvas.drawColor 繪制背景顏色 2.canvas.drawCircle 繪制圓 3.canvas.drawRect繪四邊形 4.canvas.drawRRect 繪制圓角矩形 其他的方法可以自行嘗試,參數(shù)大同小異 5.canvas.drawRRect 嵌套繪制 6.canvas.drawOval 繪制橢圓形 7.canvas.drawPath 繪制路徑 8.canvas.drawArc 繪制弧形 9.canvas.drawShadow繪制陰影 10.canvas.

    2024年02月13日
    瀏覽(26)
  • c++ 使用opencv來繪制各種圖形(持續(xù)更新)

    ?OpenCV中并沒有現(xiàn)成的函數(shù),因此可以通過繪制兩條相互垂直的直線來實現(xiàn)十字絲的繪制。

    2024年02月13日
    瀏覽(28)
  • java JFreeChart 繪制各種圖形 并使用itextPdf生成PDF導(dǎo)出

    參考: https://blog.csdn.net/hfy1237/article/details/126693786 https://blog.csdn.net/qq_39149275/article/details/119381389

    2024年01月19日
    瀏覽(25)
  • 【Linux】一文帶你掌握Linux權(quán)限!

    【Linux】一文帶你掌握Linux權(quán)限!

    最近,我發(fā)現(xiàn)了一個超級強(qiáng)大的人工智能學(xué)習(xí)網(wǎng)站。它以通俗易懂的方式呈現(xiàn)復(fù)雜的概念,而且內(nèi)容風(fēng)趣幽默。我覺得它對大家可能會有所幫助,所以我在此分享。點(diǎn)擊這里跳轉(zhuǎn)到網(wǎng)站。 ??博客主頁:小智_x0___0x_ ??歡迎關(guān)注:??點(diǎn)贊??收藏??留言 ??系列專欄:Linux入門

    2024年02月05日
    瀏覽(20)
  • 【pyqt5】【多線程】【matplotlib】解決子線程上運(yùn)行的matplotlib無法在主線程上的UI界面上繪制圖形的問題

    【pyqt5】【多線程】【matplotlib】解決子線程上運(yùn)行的matplotlib無法在主線程上的UI界面上繪制圖形的問題

    在使用PyQt5為一個項目寫UI界面的時候,我試圖把matplotlib繪制的圖像展示在UI界面的窗口中,但matplotlib是運(yùn)行在一個子線程中的,這導(dǎo)致它出現(xiàn)了如下警告: UserWarning: Starting a Matplotlib GUI outside of the main thread will likely fail. 并且我無法使用 matplotlib.backends.backend_qt5agg 下的 Figur

    2024年02月08日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包