我试图将^{}添加到Python库matplotlib创建的不包含“mappable”的图形。据我所知,mapable是某种对象,例如轮廓,它有离散值,可以在其上映射colormap。尽管在我的例子中,我是以编程方式生成对plot(行)的调用,这些调用不包含在mappable对象中。我看不到colorbar的构造函数/方法不假定图中已经存在mappable对象。在
到目前为止,我的图表看起来是(我似乎不能得到一个好的图像,但我认为这是一个很糟糕的配色方案)
这里有一个SSCCE代码,可以像我解决问题的方式生成一个图import matplotlib.pyplot as plt
from matplotlib.colors import LinearSegmentedColormap
from matplotlib.backends.backend_pdf import PdfPages
colorDict = {'red': [(0.0, 1.0, 1.0), (1.0, 0.0, 0.0)], 'green': [(0.0, 0.0, 0.0), (1.0, 1.0, 1.0)], 'blue': [(0.0, 0.0, 1.0), (1.0, 0.0, 0.0)]}
rgColorMap = LinearSegmentedColormap('RedGreen', colorDict, 10)
seedColors = cm.get_cmap(rgColorMap, 10)
graphPdf = PdfPages('Example.pdf')
fig = plt.figure(figsize=(8.27, 11.69), dpi=100)
for lineInd in range(1, 9):
plt.plot([x for x in range(1, 10)], [y*lineInd for y in range(1, 10)], color=seedColors(lineInd))
graphPdf.savefig(fig)
graphPdf.close()
在这种情况下,如何在不绘制mappable对象的情况下创建colorbar?
我唯一的解决方案是将我在循环中绘制的数据分组为mappable,然后在循环完成后绘制,或者有没有一种方法可以在没有某种mappable的情况下实例化{}?在