我已经创建了这个,正如你所看到的颜色条是非常薄的,有没有反正增加宽度的颜色条,而不增加高度
gt0wga4j1#
你需要抓住颜色条的轴。假设您在cbar中保存了对颜色条的引用,则可以通过cbar.ax获得轴。你可以用ax.set_aspect(number)来控制高度/宽度的比率,这将重新调整坐标轴以匹配这个比率,但是我并不完全理解重新调整的方式:我可能会逐步增加/减少这个数值,轴会在一个维度上收缩/延伸,以匹配相应的比率,但在某个点上,行为会发生变化,进一步增加/减少会在另一个维度上产生延伸/收缩。axes.set_aspect的文档说明:一个圆将被拉伸这样这高度是num乘这宽度. aspect=1是相同的作为aspect ='equal'如果你想完全避免这种麻烦,你可以设置ax.set_aspect('auto'),然后用显式设置轴的精确位置
cbar
cbar.ax
ax.set_aspect(number)
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)
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)
gudnpqoy2#
我能够使用fraction和aspect参数的组合获得所需的颜色条宽度:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.colorbar.html
fraction
aspect
2条答案
按热度按时间gt0wga4j1#
你需要抓住颜色条的轴。
假设您在
cbar
中保存了对颜色条的引用,则可以通过cbar.ax
获得轴。你可以用
ax.set_aspect(number)
来控制高度/宽度的比率,这将重新调整坐标轴以匹配这个比率,但是我并不完全理解重新调整的方式:我可能会逐步增加/减少这个数值,轴会在一个维度上收缩/延伸,以匹配相应的比率,但在某个点上,行为会发生变化,进一步增加/减少会在另一个维度上产生延伸/收缩。
axes.set_aspect的文档说明:
一个圆将被拉伸这样这高度是num乘这宽度. aspect=1是相同的作为aspect ='equal'
如果你想完全避免这种麻烦,你可以设置
ax.set_aspect('auto')
,然后用显式设置轴的精确位置单位是相对于图形画布的,从
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)
gudnpqoy2#
我能够使用
fraction
和aspect
参数的组合获得所需的颜色条宽度:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.colorbar.html