我目前正在上 Matplotlib 課。我得到了一個圖像,以創(chuàng)建圖像作為一個3D子圖4次,在4個不同的角度。這是一個線性情節(jié)。當(dāng)數(shù)據(jù)更改時,繪圖會更改顏色。由于它是一個圖像,我不確定實(shí)際更改從何處開始。我不想要一個確切的答案, 只是解釋這將如何工作。我已找到許多方法來執(zhí)行此操作的一個小列表,但這有75個數(shù)據(jù)點(diǎn),我似乎不能做到這一點(diǎn),而不添加75個條目。我也試圖了解cmap,但我也感到困惑。此外,它需要做沒有西伯恩。
解答:
我覺得你的問題有點(diǎn)難以理解。我認(rèn)為您需要的是將輸入 x/y 參數(shù)映射到所選顏色圖中的顏色上的功能。請參閱下示例:
import numpy as np
import matplotlib.pyplot
def number_to_colour(number, total_number):
return plt.cm.rainbow(np.linspace(0,1.,total_number))[list(number)]
x = np.arange(12)
y = x*-3.
z = x
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z, c=number_to_colour(x, len(x)))
plt.show()
plt.cm.rainbow(np.linspace(0,1.,total_number))創(chuàng)建長度均勻間隔的彩色陣列,間隔于彩色地圖(在此例中)。修改此數(shù)組的索引(或通過所需的縮放將 np.linspace 更改為其他功能)應(yīng)為您提供所需的顏色縮放。total_numberrainbow