带有行颜色渐变和颜色栏的python matplotlib

带有行颜色渐变和颜色栏的python matplotlib,第1张

带有行颜色渐变和颜色栏的python matplotlib

看看在multicolored_line例如在Matplotlib画廊和dpsanders’
colorline笔记本

import numpy as npimport matplotlib.pyplot as pltimport matplotlib.collections as mcolldef multicolored_lines():    """    http://nbviewer.ipython.org/github/dpsanders/matplotlib-examples/blob/master/colorline.ipynb    http://matplotlib.org/examples/pylab_examples/multicolored_line.html    """    x = np.linspace(0, 4. * np.pi, 100)    y = np.sin(x)    fig, ax = plt.subplots()    lc = colorline(x, y, cmap='hsv')    plt.colorbar(lc)    plt.xlim(x.min(), x.max())    plt.ylim(-1.0, 1.0)    plt.show()def colorline(        x, y, z=None, cmap='copper', norm=plt.Normalize(0.0, 1.0),        linewidth=3, alpha=1.0):    """    http://nbviewer.ipython.org/github/dpsanders/matplotlib-examples/blob/master/colorline.ipynb    http://matplotlib.org/examples/pylab_examples/multicolored_line.html    Plot a colored line with coordinates x and y    Optionally specify colors in the array z    Optionally specify a colormap, a norm function and a line width    """    # Default colors equally spaced on [0,1]:    if z is None:        z = np.linspace(0.0, 1.0, len(x))    # Special case if a single number:    # to check for numerical input -- this is a hack    if not hasattr(z, "__iter__"):        z = np.array([z])    z = np.asarray(z)    segments = make_segments(x, y)    lc = mcoll.LineCollection(segments, array=z, cmap=cmap, norm=norm,        linewidth=linewidth, alpha=alpha)    ax = plt.gca()    ax.add_collection(lc)    return lcdef make_segments(x, y):    """    Create list of line segments from x and y coordinates, in the correct format    for LineCollection: an array of the form numlines x (points per line) x 2 (x    and y) array    """    points = np.array([x, y]).T.reshape(-1, 1, 2)    segments = np.concatenate([points[:-1], points[1:]], axis=1)    return segmentsmulticolored_lines()


请注意,调用

plt.plot
数百次往往会降低性能。使用
LineCollection
来构建多色线段要快得多。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5649359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存