更改颜色条宽度
我做了这个,正如你所看到的,颜色条非常细,有没有办法在不增加高度的情况下,增加颜色条的宽度呢?
2 个回答
0
我通过结合使用 fraction
和 aspect
这两个参数,成功调整了颜色条的宽度。你可以在这里查看相关的资料:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.colorbar.html
4
你需要获取颜色条的坐标轴。
假设你已经有了颜色条的引用,叫做 cbar
,那么你可以通过 cbar.ax
来访问它的坐标轴。
你可以通过 ax.set_aspect(number)
来控制 高度 / 宽度 的比例。这个方法会调整坐标轴的大小以匹配这个比例,但我对调整的具体方式不是很明白:
我可以逐渐增加或减少这个数字,坐标轴会在一个方向上缩小或扩大,以匹配这个比例。但在某个点之后,行为会发生变化,继续增加或减少就会导致另一个方向的扩展或缩小。
关于 axes.set_aspect 的文档中提到:
一个圆形会被拉伸,使得高度是宽度的 num 倍。aspect=1 和 aspect=‘equal’ 是一样的。
如果你想完全避免这种麻烦,可以设置 ax.set_aspect('auto')
,然后用
ax.set_position((left, bottom, width, height))
来明确设置坐标轴的确切位置。
这些单位是相对于图形画布的,范围从 0
到 1
,其中 0,0
是画布的左下角。
举个例子: set_position((0.1, 0.2, 0.4, 0.6))
会把坐标轴的左下角放在 (0.1, 0.2)
,右上角放在 (0.1 + 0.4, 0.2 + 0.6)
。