国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Matplotlib子圖間距詳解

Matplotlib子圖間距詳解

來源:千鋒教育
發布人:xqq
時間: 2023-11-24 22:58:33 1700837913

一、Matplotlib子圖間距離

Matplotlib是Python的一個強大的數據可視化工具,子圖可以有效地幫助人們理解數據。但是,Matplotlib子圖之間的距離可能會影響到整個圖表的展示效果。因此,我們需要在圖形輸出前對子圖之間的間距進行調整。

Matplotlib子圖間距主要通過調整Figure和Subplot參數,例如subplot間距,左邊距、右邊距、上邊距、下邊距等。

以下是一個簡單的示例:

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(7,7)) 
ax1 = fig.add_subplot(211)
ax1.plot([1,2,3], [4,5,6], 'o-', label="Line 1")
ax2 = fig.add_subplot(212)
ax2.plot([1,2,3],[2,3,4],'o-', label="Line 2")

plt.show()

輸出:

二、Matplotlib調整子圖間距

我們可以使用subplots_adjust()函數來調整子圖之間的間距。這個函數的作用是設置子圖周圍的空白區域的大小。

以下是一個簡單的示例:

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(8, 4))
for i in range(2):
    ax = axes[i]
    x = range(10)
    y = [j*(i+1) for j in x]
    ax.plot(x, y)
    ax.set_title('Subplot ' + str(i+1), fontsize=10)

plt.subplots_adjust(hspace=0.5)
plt.show()

輸出:

三、Matplotlib刻度間距

在Matplotlib中,我們可以使用xticks()函數和yticks()函數來設置坐標軸刻度標簽,例如刻度標簽格式、旋轉角度和間距等。

以下是一個簡單的示例:

import matplotlib.pyplot as plt
import numpy as np

n = 5
x = np.arange(n)
y1 = (1-x/float(n)) * np.random.uniform(0.5,1.0,n)
y2 = (1-x/float(n)) * np.random.uniform(0.5,1.0,n)

fig, ax = plt.subplots()
ax.plot(x, y1, 'o-', label='Line 1')
ax.plot(x, y2, 'o-', label='Line 2')

ax.xaxis.set_ticks(np.arange(0, n, 1))
ax.xaxis.set_ticklabels(['One', 'Two', 'Three', 'Four', 'Five'], fontsize=10, rotation=30)

plt.legend(loc='best')
plt.show()

輸出:

四、Matplotlib子圖大小

我們可以使用figsize參數來調整子圖的大小,使其更適合不同的輸出需求。

以下是一個簡單的示例:

import matplotlib.pyplot as plt

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

ax1 = fig.add_subplot(121)
ax1.plot([1,2,3], [4,5,6], 'o-', label="Line 1")
ax1.set_title('Subplot 1', fontsize=12)

ax2 = fig.add_subplot(122)
ax2.plot([1,2,3],[2,3,4],'o-', label="Line 2")
ax2.set_title('Subplot 2', fontsize=12)

plt.show()

輸出:

五、Matplotlib子圖標題

我們可以使用set_title()函數為子圖添加標題。這是一個非常重要的功能,它可以讓觀察者更好地理解子圖的內容。

以下是一個簡單的示例:

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(8, 4))
for i in range(2):
    ax = axes[i]
    x = range(10)
    y = [j*(i+1) for j in x]
    ax.plot(x, y)
    ax.set_title('Subplot ' + str(i+1), fontsize=12)

plt.show()

輸出:

六、Matplotlib畫子圖

當我們需要在一個圖表中畫多個子圖的時候,我們可以使用subplots()函數來創建多個子圖。

以下是一個簡單的示例:

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(8, 6))
for i in range(2):
    for j in range(2):
        ax = axes[i][j]
        x = range(10)
        y = [j*(i+1) for j in x]
        ax.plot(x, y)
        ax.set_title('Subplot ' + str(i*2+j+1), fontsize=12)

plt.tight_layout()
plt.show()

輸出:

七、Matplotlib更改橫軸間距

我們可以使用set_xticks()函數和set_xticklabels()函數來更改橫軸的間距。

以下是一個簡單的示例:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 5, 0.1)
y = np.sin(x)

fig, ax = plt.subplots()
ax.plot(x, y)

ax.set_xticks(np.arange(0, 5, 1))
ax.set_xticklabels(['0', '1', '2', '3', '4'], fontsize=10)

plt.show()

輸出:

八、Matplotlib創建子圖

我們可以使用add_subplot()函數來創建一個或多個子圖。

以下是一個簡單的示例:

import matplotlib.pyplot as plt

fig = plt.figure()

ax1 = fig.add_subplot(221)
ax1.plot([1,2,3], [4,5,6], 'o-', label="Line 1")
ax1.set_title('Subplot 1', fontsize=12)

ax2 = fig.add_subplot(222)
ax2.plot([1,2,3],[2,3,4],'o-', label="Line 2")
ax2.set_title('Subplot 2', fontsize=12)

ax3 = fig.add_subplot(223)
ax3.plot([1,2,3],[4,6,8],'o-', label="Line 3")
ax3.set_title('Subplot 3', fontsize=12)

ax4 = fig.add_subplot(224)
ax4.plot([1,2,3],[1,3,5],'o-', label="Line 4")
ax4.set_title('Subplot 4', fontsize=12)

plt.show()

輸出:

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT