2014-12-26 4 views
3

Как удалить границы на цветной панели (или сделать их тоньше)?Удалить границы colorbar matplotlib

Я попробовал почти каждый комбинацию из следующих действий:

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

ли эта помощь: http://matplotlib.1069221.n5.nabble.com/howto-turn-off-colorbar-frame-td27153.html – darthbith

+0

@darthbith хорошо он полностью удаляет его , Нужно ли вообще контролировать его (а также тики)? Это лучше, чем ничего. – user1830663

ответ

8

Установка 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.

+0

для удаления тиков Я использовал 'cb.set_ticks ([])', но не смог повлиять на его ширину. Кто-нибудь знает, как это сделать? –

Смежные вопросы