我有一些我想要绘制的时间序列数据,我想使用颜色缩放来表示数据点的年龄。我可以成功地使用彩条:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from matplotlib.dates import date2num
x = np.random.randint(low=0, high=10, size=10)
y = np.random.randint(low=0, high=10, size=10)
dates = pd.date_range("2000-01-01", end="2000-01-10", freq="D")
df = pd.DataFrame({"x": x, "y": y, "dates": dates})
sc = plt.scatter(df["x"], df["y"], c=[date2num(i) for i in df["dates"]])
plt.colorbar(sc)
plt.savefig("dates.png")
但是,我不了解如何使用shared_ptr
constructor,如感知统一或连续的彩色地图。调用scatter时如何使用内置颜色映射作为c
?
答案 0 :(得分:0)
添加cmap
选项以进行分散:sc = plt.scatter(df["x"], df["y"], c=[date2num(i) for i in df["dates"], cmap=plt.cm.viridis)
。您可以使用vmin
和vmax
参数指定颜色栏的范围。
如果您是pre-matplotlib 1.5,请查看this answer以获取Perceptually Uniform Sequential colourmaps。