如何解决如何使用迭代线图将标准化的颜色条应用于图形
我已经根据我的数据对颜色条进行了标准化
import matplotlib as mpl
fig,ax=plt.subplots(figsize=(6,1))
fig.subplots_adjust(bottom=0.5)
cmap=mpl.cm.jet
norm=mpl.colors.Normalize(vmin=np.min(epi_dist),vmax=np.max(epi_dist))
cb1=mpl.colorbar.ColorbarBase(ax,cmap=cmap,norm=norm,orientation='horizontal')
fig.show()
现在,我需要在一个图形中通过一个for循环绘制多个线图,并根据此新标准化的颜色图使用一个代表颜色的变量 例如:
plt.plot(x,y,color=200,cmap='cmap')
此处color表示数据中的变量,这些数据根据规范化的cmap表示颜色
如果为多个折线图重复以上代码,则最终图形将使用归一化的颜色条进行显示
期待您的宝贵建议
解决方法
您可以使用color=cmap(norm(value))
从颜色图中提取与颜色栏中显示的比例尺上的值相对应的所需颜色。
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
epi_dist = np.linspace(0,420,20)
fig,(ax,cbar_ax) = plt.subplots(nrows=2,figsize=(10,6),gridspec_kw={'height_ratios': [5,1]})
cmap = plt.cm.jet
norm = plt.Normalize(vmin=np.min(epi_dist),vmax=np.max(epi_dist))
cb1 = mpl.colorbar.ColorbarBase(cbar_ax,cmap=cmap,norm=norm,orientation='horizontal')
x = np.linspace(0,2 * np.pi,200)
for epi in epi_dist:
ax.plot(x,epi + 100 * np.sin(x),color=cmap(norm(epi)))
fig.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。