gpt4 book ai didi

python - matplotlib 用于绘图的大量颜色

转载 作者:IT老高 更新时间:2023-10-28 20:47:06 25 4
gpt4 key购买 nike

我想在一个图中绘制很多图表。我刚刚开始使用 matplotlib,找不到生成许多可区分颜色的好方法:( 也许在最大 SV 的情况下在 HSV 上循环?

我正在考虑类似的事情

args=[]
for i,(x,y) in enumerate(data):
args.extend([x,y,hsv(i)])
plot(*args)

有什么建议吗? :)

最佳答案

我认为您的想法是正确的,只是如果您传递分布在 (0,1) 范围内的颜色映射 hsv 数字,颜色会更容易区分:

hsv = plt.get_cmap('hsv')
hsv(float(i)/(len(data)-1))

或者,使用 NumPy:

colors = hsv(np.linspace(0, 1.0, len(kinds)))

例如:

import datetime as DT
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import scipy.interpolate as interpolate

dates = [DT.date(year, 9, 1) for year in range(2003, 2009)]
t = list(map(mdates.date2num, dates))
jec = (100, 70, 125, 150, 300, 250)
plt.plot(dates, jec, 'k.', markersize = 20)
new_t = np.linspace(min(t), max(t), 80)
new_dates = map(mdates.num2date, new_t)
kinds = ('cubic', 'quadratic', 'slinear', 'nearest', 'linear', 'zero', 4, 5)
cmap = plt.get_cmap('jet')
colors = cmap(np.linspace(0, 1.0, len(kinds)))
for kind, color in zip(kinds, colors):
new_jec = interpolate.interp1d(t, jec, kind=kind)(new_t)
plt.plot(new_t, new_jec, '-', label=str(kind), color=color)
plt.legend(loc = 'best')
plt.show()

enter image description here

关于python - matplotlib 用于绘图的大量颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7513262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com