如何在 Matplotlib 中製作根據密度著色的散點圖?


我們可以為顏色和值建立一個詞典。如果出現相同的值,我們可以使用散點圖方法,如果相近的值具有相同顏色集,這將使繪圖顏色更濃密。

步驟

  • 建立一個新圖形或啟用現有圖形。

  • 將 ~.axes.Axes 作為子圖佈置的一部分新增到圖形中。

  • 使用 np.random.normal() 方法獲取 x 和 y 值。從正態(高斯)分佈中繪製隨機樣本。

  • 製作帶有紅色和藍色顏色的色列表。

  • 為了使其更濃密,我們可以對具有相同值的顏色進行儲存。

  • 繪製散點圖、*y* vs. *x* 的散點圖,具有不同的標記大小和/或顏色。

  • 設定 x 檢視限制。

  • 設定 y 檢視限制。

  • 要顯示圖形,請使用 plt.show() 方法。

示例

import random
import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

x = np.random.normal(0.5, 0.3, 10000)
y = np.random.normal(0.5, 0.3, 10000)

colors = ['red', 'blue']

color = dict()
for i in x:
   if i not in color:
      color[i] = colors[random.randint(1, 10) % len(colors)]

ax.scatter(x, y, c=[color.get(i) for i in x])

ax.set_xlim(-0.5, 1.5)
ax.set_ylim(-0.5, 1.5)

plt.show()

輸出

更新時間:2021-03-16

2K+ 次瀏覽

開啟您的 職業生涯

完成課程獲取認證

立即開始
廣告
© . All rights reserved.