我在matplotlib的调色板上遇到了一些问题。
我只想在图例上显示两种颜色,因为我显示了一个虚拟变量(0和1)。代码可以很好地处理0和1值(红色和蓝色)。问题出在传奇(见下图)。

palette = brewer['RdBu'][8]如果我把2(只有2种颜色)放在前面的代码上,我会收到一个错误,因为调色板包含8种颜色。
我怎样才能改变它?
palette = brewer['RdBu'][8]
palette = palette[::-1]
color_mapper = LinearColorMapper(palette = palette, low = 0, high = 1)
tick_labels = {'0': '0', '1': '1'}
color_bar = ColorBar(color_mapper=color_mapper, label_standoff=8,width = 500, height = 20,
border_line_color=None,location = (0,0), orientation = 'horizontal', major_label_overrides = tick_labels)提前谢谢你!
发布于 2021-06-11 21:14:05
你可以通过切片来减少你的调色板:例如
palette = brewer['RdBu'][8][:2]只有两个元素长,取第一项和第二项。下面的苍白
palette = brewer['RdBu'][8][::7]也是两个元素的长度,取第一个和最后一个元素(这只是选择这两个元素的一种可能方式)。
https://stackoverflow.com/questions/67936188
复制相似问题