我想根據自定義色標為散點著色,但出現此錯誤
ValueError: 'c' 引數有 150 個元素,與大小為 100 的 'x' 和 'y' 不一致。
對于下面的示例,t 的長度似乎需要與 x 和 y 相同。但是,我想用更寬的比例為點著色,例如 -50 到 150 而不是 0 到 100。
我怎樣才能做到這一點?謝謝
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(100)
y = np.random.rand(100)
t = np.arange(100)
plt.scatter(x, y, c=t)
plt.show()
uj5u.com熱心網友回復:
我不太確定你的目標是什么,所以我給你兩個答案:希望一個是你正在尋找的那個。
第一的:
只需創建一個包含 100 個元素的陣列t,范圍從 -50 到 150:
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(100)
y = np.random.rand(100)
t = np.linspace(-50, 150, len(x))
fig, ax = plt.subplots()
sc = ax.scatter(x, y, c=t)
fig.colorbar(sc, label="value")
plt.show()

第二:
創建一個包含 100 個元素的陣列t,范圍從 0 到 100。要求 matplotlib 在 -50 到 150 的范圍內可視化這些顏色。
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(100)
y = np.random.rand(100)
t = np.arange(100)
fig, ax = plt.subplots()
sc = ax.scatter(x, y, c=t, vmin=-50, vmax=150)
fig.colorbar(sc, label="value")
plt.show()

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/516053.html
