如何在Matplotlib分段色条的不同颜色间绘制黑色水平分隔线
解决方法
要在分段色条的颜色块之间添加黑色水平分隔线,你可以直接在颜色条的轴上,针对每个颜色段的边界位置绘制水平线。修改后的完整代码如下:
import matplotlib.pyplot as plt from matplotlib.cm import ScalarMappable from matplotlib.colors import BoundaryNorm plt.plot() # dummy Axes nmin, N = 0, 11 bounds = [nmin-0.5]+[n+0.5 for n in range(nmin, N)] norm = BoundaryNorm(bounds, 256) cm = plt.get_cmap('cool') cb = plt.colorbar(ScalarMappable(norm, cm), format='%02d', ax=plt.gca()) cb.set_ticks(range(nmin, N)) # 添加黑色水平分隔线 for bound in bounds[1:-1]: cb.ax.axhline(bound, color='black', linewidth=1) plt.show()
关键说明:
bounds数组定义了每个颜色段的边界值,其中bounds[1:-1]对应颜色块之间的分隔位置(从0.5到9.5)- 使用
cb.ax.axhline()在颜色条的轴上绘制水平线,指定颜色为黑色并设置线宽 - 这样就能在每个相邻颜色块之间生成清晰的黑色分隔线
内容的提问来源于stack exchange,提问作者gboffi
相关产品推荐
相关产品推荐

