Estou tratando dados recebidos de um arduino a partir de um arquivo .txt. No codigo, eu gero 4 arrays (X,Y,Z e F), sendo que X,Y e Z são coordenadas e F é a força do sinal. Gostaria de plotar o gráfico 3D com a função scatter do matplotlib, mas definir a cor de cada ponto a partir dos valores de F. Por exemplo, definir um colormap e colorir cada ponto a partir do respectivo valor no vetor F. O código abaixo faz o plot 3D das coordenadas, mas todos os pontos são da mesma cor. Como eu posso controlar a cor individualmente de cada ponto? import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D import numpy as np def separador(string,sep): ''' Função para ler os valores do Arduino e separá-los em listas ''' lista = [] k = 0 j = k for i in range(len(string)): if string in sep: j = i pal = string[k:j] k = j+1 lista.append(float(pal)) return lista file = open('saidas_arduino\scanner_oreo.txt') output = file.readlines() file.close() # distancia ate a mesa e forca do sinal dist_mesa = float(output[4][0:len(output[4])-1]) str_mesa = float(output[6][0:len(output[6])-1]) # linha em que começa a leitura line_xyz = 0 for i in range(20): if output == 'x,y,z,str\n': line_xyz = i+1 break # salva os dados em vetores X = [] Y = [] Z = [] F = [] for i in range(line_xyz,len(output)-1): linha = separador(output,('\n',',')) X.append(linha[0]) Y.append(linha[1]) Z.append(linha[2]) F.append(linha[3]) X = np.array(X) Y = np.array(Y) Z = np.array(Z) F = np.array(F) fig = plt.figure() ax = fig.add_subplot(111, projection='3d') # aqui eu gostaria de definir o colormap pra cada ponto ax.set_zlim(-20,20) ax.scatter(X,Y,Z) plt.show() Continue reading...