在matplotlib中使用来自日期的内置颜色映射

2024-06-16 11:34:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些时间序列数据,我想用颜色比例来表示一个数据点的年龄。我可以成功地使色条工作:

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")

但是,我不明白如何使用built in colour maps,就像感知上一致或连续的彩色地图。当调用scatter时,如何使用内置的彩色贴图作为c?在


Tags: 数据importdfsizematplotlibasnpplt
1条回答
网友
1楼 · 发布于 2024-06-16 11:34:50

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

如果您是matplotlib 1.5之前的版本,那么请查看this答案,以获得感知上一致的连续颜色映射。在

相关问题 更多 >