로 의견 제안 plot
을 추가했다. 내 지식으로는 각 선분을 채색 할 방법이 없기 때문에 매 단계마다 플롯하고 적절한 색상을 선택하여 각 단계를 반복해야했습니다.
import matplotlib.pyplot as plt
import numpy
x = numpy.array([1, 1.5, 5, 1, 4, 4])
y = numpy.array([1, 2, 1, 3, 5, 5])
# calculate the absolute distance for each step
distances = numpy.abs(numpy.diff((x**2 + y**2)**0.5))
ax = plt.axes()
# pick a colormap, and define a normalization to take distances to the range 0-1
cmap = plt.get_cmap('jet')
norm = plt.normalize(min(distances), max(distances))
# loop through each walk segment, plotting the line as coloured by
# the distance of the segment, scaled with the norm and a colour chosen
# using the normed distance and the cmap
for i in range(1, len(x)):
distance = distances[i-1]
x0, y0 = x[i-1], y[i-1]
x1, y1 = x[i], y[i]
ax.plot([x0, x1], [y0, y1], '-', color=cmap(norm(distance)))
# put points for each observation (no colouring)
ax.scatter(x, y)
# create a mappable suitable for creation of a colorbar
import matplotlib.cm as cm
mappable = cm.ScalarMappable(norm, cmap)
mappable.set_array(distance)
# create the colorbar
cb = plt.colorbar(mappable)
cb.set_label('Distance/meters')
# add some additional information
plt.title("Person 1's walk path")
plt.xlabel('x/meters')
plt.ylabel('y/meters')
# add some additional text to show the total distance walked.
# The coordinates are in axes coordinates (ax.transAxes).
plt.text(0.99, 0.01, 'Total distance: %.02f meters' % numpy.sum(distances),
transform=ax.transAxes, horizontalalignment='right')
plt.show()
는 희망 코드와 코멘트 자체 문서화합니다 (년 Colorbar를 만들 수있는 맵핑이 부분은 아마도 가장 어려운, 가장 까다로운 부분이고, 당신은 심지어 하나를 싶지 않을 수도 있습니다!) 충분히 있습니다
코드를 추가하면 도움을 드릴 수 있습니다! – Qiau
그가 필요로하는 것은 동일한 속도를 가진 위치 vectore들의 집합과 같은 색을 유지하는 카운트 라인 그래픽입니다. – Blas