【发布时间】:2015-07-09 16:02:31
【问题描述】:
我需要为一条线着色,该线连接由第三个变量着色的散点图(第三个变量对于所有散点点都是相同的;最后我将有多个散点图和不同的第三个变量)。我需要线条的颜色来匹配散点,并且颜色条需要进行对数缩放。我无法提取用于为散点着色的 RGBA 对数归一化值,以便按该值对线进行着色。示例如下:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
color = plt.get_cmap('Blues')
#Fake data
a = np.arange(0,10,1)
b = np.arange(10,20,1)
d = [100]*10
maxval=1000.0
minval=10.0
#Normalize array to limits of colorbar
l=d[1]
normalized= (l/(maxval-minval))
#Check if Nan (I have some NaN's).
#Returns the colormap value
check = np.isnan(np.sum(normalized))
cmapvalue=[]
if check==True:
cmapvalue=g
else:
cmapvalue=color(normalized)
#Plot scatter and line, line needs to be colored by RGBA value used to color scatter points
plt.scatter(a, b, c=d, cmap=color, norm=mpl.colors.LogNorm(vmax=maxval, vmin=minval), zorder=2, s=50)
plt.plot(a,b, c=cmapvalue, zorder=1, lw=4)
plt.colorbar()
plt.show()
任何帮助将不胜感激
【问题讨论】:
-
能否请您也提供
d?或者提供合适的替代品? -
已更新...道歉
标签: python matplotlib