python新建项目红色_Python:制作从红色到蓝色的色条

我有一系列的线(目前总共60条),我想把它们绘制成同一个图形,以显示某个过程的时间演变。当前绘制的线使最早的时间步以100%红色绘制,最晚的时间步以100%蓝色绘制,中间的时间步是红蓝混合的,基于它们的时间(红色的量随时间的增加而线性减少,而蓝色的量随时间的增加而线性增加时间;简单的颜色渐变)。我想做一个(最好是垂直的)彩色条,以一种持续的方式显示这一点。我的意思是我想要一个颜色条,底部是红色,顶部是蓝色,中间是红色和蓝色的混合色,可以像我画的线一样从红色平滑地过渡到蓝色。我还想把轴放在这个颜色条上,这样我可以显示哪个颜色对应于哪个时间步。

我已经阅读了matplotlib.pyplot.colorbar()的文档,但是如果不使用matplotlib以前定义的颜色映射,我就无法理解如何做我想做的事情。我的猜测是,我需要定义自己的颜色映射,它从红色过渡到蓝色,然后将其馈送到matplotlib.pyplot.colorbar()并获得我想要的颜色条会相对简单。

下面是我用来绘制线的代码示例:import numpy as np

from matplotlib import pyplot as pp

x= ##x-axis values for plotting

##start_time is the time of the earliest timestep I want to plot, type int

##end_time is the time of the latest timestep I want to plot, type int

for j in range(start_time,end_time+1):

##Code to read data in from time step number j

y = ##the data I want to plot

red = 1. - (float(j)-float(start_time))/(float(end_time)-float(start_time))

blue = (float(j)-float(start_time))/(float(end_time)-float(start_time))

pp.plot(bin_center,spectrum,color=(red,0,blue))

pp.show()

编辑:

也许这会让我更明白我的意思。下面是我的图:

wioeC.jpg

每一行显示不同时间点x值和y值之间的关系。红色线是较早的时间步,蓝色线是较晚的时间步,紫色线在中间,如我上面定义的。在已经绘制好的情况下,如何创建一个颜色条(如果可能的话,垂直在右侧),将线条的颜色(连续)映射到每个颜色表示的时间步长的时间值?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值