Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python matplotlib用于打印的大型颜色集_Python_Plot_Matplotlib - Fatal编程技术网

Python matplotlib用于打印的大型颜色集

Python matplotlib用于打印的大型颜色集,python,plot,matplotlib,Python,Plot,Matplotlib,我有很多图,我想在一个图中绘制。我刚开始使用matplotlib,但找不到一种生成许多可分辨颜色的好方法:(可能在HSV上以最大SV循环 我在想类似的事情 args=[] for i,(x,y) in enumerate(data): args.extend([x,y,hsv(i)]) plot(*args) 有什么建议吗?:)我认为你的想法是正确的,除了如果你通过colormaphsv数字,这些数字分布在(0,1)范围内,颜色会更容易区分: 或者,使用NumPy: colors =

我有很多图,我想在一个图中绘制。我刚开始使用matplotlib,但找不到一种生成许多可分辨颜色的好方法:(可能在HSV上以最大SV循环

我在想类似的事情

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

有什么建议吗?:)

我认为你的想法是正确的,除了如果你通过colormap
hsv
数字,这些数字分布在(0,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()

好的,我明白了。谢谢:)不过我的matplotlib似乎知道cm.jet(医生也不再提到它)。现在在哪里可以找到它?您也可以使用
plt.get\u cmap('jet')
。我也编辑了这篇文章来展示这一点。
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()