删除colorbar'的边框matplotlib

时间:2014-12-26 23:53:53

标签: 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')

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

enter image description here

1 个答案:

答案 0 :(得分:11)

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')

png output, but pdf worked just the same.