【发布时间】:2016-08-12 12:23:33
【问题描述】:
我在为 Matplotlib 中的线图网格提供颜色条时遇到问题。
我有一个图表网格,每个图表显示 64 行。这些线条描绘了在某个超参数h 的 64 个不同值下优化同一系统时的惩罚值与时间的关系。
由于行数太多,我不想使用标准图例,而是使用颜色条,并根据h 的值对行进行着色。换句话说,我想要看起来像这样的东西:
以上是通过添加一个新的轴来保存颜色条,通过调用figure.add_axes([0.95, 0.2, 0.02, 0.6]),将轴位置作为参数显式传递给该方法来完成的。然后,通过实例化 ColorbarBase(),创建颜色条,如示例代码 here 中所示。这对于单个地块来说很好,但我想制作一个像上面那样的地块网格。
为此,我尝试将子图的数量增加一倍,并使用其他所有子图轴作为颜色条。不幸的是,这导致颜色条与绘图具有相同的大小/形状:
有没有办法只缩小子图网格中的颜色条子图,如上面的 1x2 网格?
理想情况下,如果颜色条与它所描述的线图共享同一轴,那就太好了。我看到colorbar.colorbar()函数有一个ax参数:
斧头
父坐标区对象,新颜色条坐标区的空间将从该对象中被盗。
听起来不错,除了 colorbar.colorbar() 要求您传入 imshow 图像或 ContourSet,但我的图既不是图像也不是等高线图。使用ColorbarBase可以达到同样的(分轴)效果吗?
【问题讨论】:
标签: matplotlib