使用matplotlib中日期的内置色彩映射表

时间:2017-01-16 06:30:01

标签: python matplotlib plot

我有一些我想要绘制的时间序列数据,我想使用颜色缩放来表示数据点的年龄。我可以成功地使用彩条:

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

1 个答案:

答案 0 :(得分:0)

添加cmap选项以进行分散:sc = plt.scatter(df["x"], df["y"], c=[date2num(i) for i in df["dates"], cmap=plt.cm.viridis)。您可以使用vminvmax参数指定颜色栏的范围。

如果您是pre-matplotlib 1.5,请查看this answer以获取Perceptually Uniform Sequential colourmaps。