【发布时间】:2013-10-08 23:54:35
【问题描述】:
我有以下数据(四个等长数组):
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 的 3d 图:
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是字符串列表还是那些变量名?如果是字符串,它应该看起来像:d = ['La', 'Lb', 'Av', ...] -
大概你在文件的某处使用
from mpl_toolkits.mplot3d import Axes3D。 -
你是对的,它实际上是
d = ['La', 'Lb', 'Av', ...]。我正在处理一个复杂的大问题,这是我卡住的一小部分。因此我创建了这个简单的示例示例来问我的问题。忘记记住这两个小细节。对不起!跨度>
标签: python colors matplotlib plot