删除colorbar的边框matplotlib

use*_*663 7 python matplotlib colorbar

如何删除颜色条上的边框(或使它们更薄)?

我几乎尝试了以下各种组合:

cb = plt.colorbar(im3,drawedges=False) #or True with next two lines
#cb.outline.set_linewidth(0)
#cb.dividers.set_linewidth(0)

cb.solids.set_rasterized(True)
cb.solids.set_edgecolor("face")

#Im saving as pdf
plt.savefig("thing.pdf",dpi=1000, bbox_inches='tight')
Run Code Online (Sandbox Code Playgroud)

当使用matplotlib图查看时,其中一些有帮助,但保存的pdf更糟糕.

在此输入图像描述

sna*_*mer 14

设置cb.outline.set_visible()False删除图形和保存的pdf中的轮廓.我观察到将线宽设置为较小也反映在输出文件中.

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(2,2)
im3 = plt.imshow(data)

cb = plt.colorbar(im3)

cb.outline.set_visible(False)

# this worked on matplotlib 1.3.1
#cb.outline.set_linewidth(0.05)

cb.set_ticks([])

#Im saving as pdf
plt.savefig("thing.pdf",dpi=1000, bbox_inches='tight')
Run Code Online (Sandbox Code Playgroud)

png输出,但pdf工作原理相同.