首页 > 解决方案 > Pyplot中colorbar.solids的含义是什么?

问题描述

我正在使用 matplotlib/pyplot 创建等高线图,并尝试打印出自定义的颜色条。我还试图将颜色条打印在与绘图完全分开的图像文件中。

        sub_fig = plt.figure()
        sub_ax = plt.axes()
        sub_ax.axis("off")
        #cs2 is a contourf object
        sep_cb = plt.colorbar(cs2, cax=sub_ax)#, cax = new_figure.legend, ax=new_figure.legend, orientation="vertical")
        sep_cb.shrink=0.5
        sep_cb.fraction=.1
        sep_cb.drawedges=True
        # ~sep_cb.solids.set_edgecolor("white")
        plt.savefig("colorbar_"+str(ii)+".png")
        plt.clf()

所以我指的是这里的文档:https ://matplotlib.org/api/_as_gen/matplotlib.pyplot.colorbar.html但我发现更改设置不会改变我的颜色条的外观。我想要的实际上是让它变得非常小,并用一些空格分隔各个部分,并将值/标签放在右侧。我不能缩小它,或者让值出现。不管怎样,它看起来像这样:

彩条

但是,如果我启用该 sep_cb.solids 线,我会在部分之间得到一些线。但我什至知道这一点的唯一原因是因为这一部分:

众所周知,某些矢量图形查看器(svg 和 pdf)会在颜色条段之间呈现白色间隙。这是由于查看器中的错误而不是 matplotlib。作为一种解决方法,可以使用重叠段渲染颜色栏:

cbar = colorbar()
cbar.solids.set_edgecolor("face")
draw()

似乎 colorbar.solids 可用于在绘图上设置一些选项,但我无法直接找到任何文档,我什至没有在页面的其他地方看到它。这是我设法忽略的一些基本的 pyplot 事情吗?任何帮助将不胜感激,谢谢。

标签: pythonmatplotlib

解决方案


推荐阅读