如何在matplotlib中绘制渐变色线?

为了以一般形式陈述它,我正在寻找一种使用matplotlib将具有渐变色线的多个点连接起来的方法,但是在任何地方都找不到。更具体地说,我正在绘制一条带有一条色线的2D随机游动图。但是,由于这些点具有相关的顺序,因此我想查看该图并查看数据已移至何处。渐变色线可以解决问题。或透明度逐渐变化的线。


我只是想改善数据的虚拟化。看看R的ggplot2软件包产生的这张精美图片。我正在matplotlib中寻找相同的图片。谢谢。


牧羊人nacy
浏览 483回答 3
3回答

慕的地6264312

注释太长,因此只想确认这LineCollection比在行子段上进行for循环要快得多。LineCollection方法在我手中要快得多。# Setupx = np.linspace(0,4*np.pi,1000)y = np.sin(x)MAP = 'cubehelix'NPOINTS = len(x)我们将针对上面的LineCollection方法测试迭代绘图。%%timeit -n1 -r1# Using IPython notebook timing magicsfig = plt.figure()ax1 = fig.add_subplot(111) # regular resolution color mapcm = plt.get_cmap(MAP)for i in range(10):    ax1.set_color_cycle([cm(1.*i/(NPOINTS-1)) for i in range(NPOINTS-1)])    for i in range(NPOINTS-1):        plt.plot(x[i:i+2],y[i:i+2])1 loops, best of 1: 13.4 s per loop%%timeit -n1 -r1 fig = plt.figure()ax1 = fig.add_subplot(111) # regular resolution color mapfor i in range(10):    colorline(x,y,cmap='cubehelix', linewidth=1)1 loops, best of 1: 532 ms per loop如果您想要平滑的渐变并且只有几个点,那么按照当前选择的答案提供的方法,对线进行向上采样以获得更好的颜色渐变仍然是一个好主意。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python