[英]Using multiple colors in matplotlib plot
我有一個numpy數組的二維數據點(x,y),它們分為三類(0,1,2)。
a = array([[ 1, 2, 3, 4, 5, 6, 7, 8 ],
[ 9, 8, 7, 6, 5, 4, 3, 2 ]])
class = array([0, 2, 1, 1, 1, 2, 0, 0])
我的問題是我是否可以用多種顏色繪制這些點。 我想做這樣的事情:
colors = list()
for i in class:
if i == 0:
colors.append('r')
elif i == 1:
colors.append('g')
else:
colors.append('b')
print colors
['r', 'b', 'g', 'g', 'g', 'b', 'r', 'r']
pp.plot(a[0], a[1], color = colors)
我假設你想繪制不同的點。 在這種情況下,如果您定義一個numpy數組:
colormap = np.array(['r', 'g', 'b'])
然后你可以使用colormap[categories]
生成顏色數組:
In [18]: colormap[categories]
Out[18]:
array(['r', 'b', 'g', 'g', 'g', 'b', 'r', 'r'],
dtype='|S1')
import matplotlib.pyplot as plt
import numpy as np
a = np.array([[ 1, 2, 3, 4, 5, 6, 7, 8 ],
[ 9, 8, 7, 6, 5, 4, 3, 2 ]])
categories = np.array([0, 2, 1, 1, 1, 2, 0, 0])
colormap = np.array(['r', 'g', 'b'])
plt.scatter(a[0], a[1], s=50, c=colormap[categories])
plt.show()
產量
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.