我有以下数据(四个等长数组):
a = [1, 4, 5, 2, 8, 9, 4, 6, 1, 0, 6]
b = [4, 7, 8, 3, 0, 9, 6, 2, 3, 6, 7]
c = [9, 0, 7, 6, 5, 6, 3, 4, 1, 2, 2]
d = [La, Lb, Av, Ac, Av, By, Lh, By, Lg, Ac, Bt]
我正在制作一张由数组a、b和c构成的三维图:
import pylab
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(a,b,c)
plt.show()
现在,我想使用名为“d”的数组对这些散点进行着色,如果相应的d中第i个元素值的第一个字母是'L',则将该点涂成红色,如果以'A'开头,则将其涂成绿色,如果以'B'开头,则将其涂成蓝色。
因此,第一个点(1,4,9)应该是红色的,第二个点(4,7,0)也是红色的,第三个点(5,8,7)应该是绿色的,依此类推...
是否可能这样做?如果您有任何想法,请帮忙解决 :)
d = ['La', 'Lb', 'Av', ...]
- askewchanfrom mpl_toolkits.mplot3d import Axes3D
。 - askewchand = ['La', 'Lb', 'Av', ...]
。我正在处理一个复杂的大问题,这只是其中一个小部分,我卡住了。因此,我创建了这个简单的示例来提出我的问题。抱歉忘记考虑这两个小细节了! - Panchi