Как использовать цветовую карту в этом сюжете matplotlib? - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь добавить цветовую карту к этому matplotlib графику (код ниже).Я использовал градиент цвета, чтобы проиллюстрировать прогрессию движения во времени или шагах (оттенок является функцией времени или n).Теперь я хочу добавить цветовую карту во вставку рисунка, и я не могу добиться успеха.

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
plt.style.use('ggplot') 
n = 5000
x = np.cumsum(np.random.randn(n))
y = np.cumsum(np.random.randn(n))
# We add 10 intermediary points between two successive points. We 
# interpolate x and y.
k = 10
x2 = np.interp(np.arange(n * k), np.arange(n) * k, x)
y2 = np.interp(np.arange(n * k), np.arange(n) * k, y)
fig, ax = plt.subplots(1, 1, figsize=(8, 8))
# Now, we draw our points with a gradient of colors.
ax.scatter(x2, y2, c=range(n * k), linewidths=0, marker='o', s=3, 
cmap=plt.cm.jet,)
ax.axis('equal')
ax.set_axis_off()

Мне нужна цветная полоса в правой части графика с равномерно разделенными шкалами от 0 до 5000.

1 Ответ

0 голосов
/ 28 декабря 2018

Вам необходимо предоставить дескриптор оси для colorbar

ax_ = ax.scatter(x2, y2, c=range(n * k), linewidths=0, marker='o', s=3, cmap=plt.cm.jet,) # <---- store plot instance in ax_
ax.axis('equal')

plt.colorbar(ax_) # <--- here provide ax_ (can choose other name as well)
ax.set_axis_off()

enter image description here

...