2013-04-23 2 views
5

Ich mag würde die Back-Line-Separatoren (Teiler?) In der gezogenen colormap, mit ColorbarBase löschen:Matplotlib ColorbarBase: löschen Farbseparatoren

cm = get_cmap('RdBu') 
Ncol = 501 
cccol = cm(1.*arange(Ncol)/Ncol) 
cax  = fig.add_axes([0.15,0.15,0.05,0.4]) 
fig.add_axes([0.5,0.15,0.3,0.03]) 
norm = mpl.colors.Normalize(vmin=valmin, vmax=valmax) 
cb1  = mpl.colorbar.ColorbarBase(cax, cmap=cm, norm=norm, orientation='vertical') 

Es gibt mir immer zu viele schwarze Linien dazwischen. Gibt es eine Möglichkeit, sie zu beseitigen? Ich habe bereits versucht, Sachen wie:

del cb1.lines 
del cb1.dividers 

oder

cb1.lines.remove() 
cb1.lines = [] 

wie in http://fossies.org/dox/matplotlib-1.2.0/matplotlib_2colorbar_8py_source.html#l00281 in den ColorbarBase Methoden gesehen.

colorbar with too many black lines

+0

.. oder wird es durch das Format der PNG-Ausgabedatei verursacht? plt.savegig ('xxx.png') – hannesk

Antwort

1

Ich fand heraus, dass es in der Tat das Matplotlib-Backend war!

mpl.use('WXAgg') 

löste es!

+0

Ah, natürlich. Gut gemacht! – Mike

2

Das funktioniert für mich, ohne Linien. Ich sehe zwei offensichtliche Möglichkeiten:

1) Sie haben eine fehlerhafte Version. Wenn ich matplotlib.__version__ an der Python-Eingabeaufforderung mache, sehe ich 1.2.0. Ich benutze OS X 10.6.8 mit Python 2.7.3 und alles, was von Macports installiert wird. Wie ist es mit Ihnen?

2) Es ist etwas in dem Code, den Sie uns nicht gezeigt haben. Bei solchen Fragen sollten Sie immer ein minimales Arbeitsbeispiel zeigen. (Was manchmal können Ihnen helfen, Ihr Problem, um herauszufinden, bevor Sie es sogar fragen.) Zum Beispiel habe ich ipython --pylab beginnen und die folgenden Werke:

fig = figure() 
valmin =-1.0 
valmax =1.0 
cm  = get_cmap('RdBu') 
Ncol = 501 
cccol = cm(1.*arange(Ncol)/Ncol) 
cax = fig.add_axes([0.15,0.15,0.05,0.4]) 
norm = mpl.colors.Normalize(vmin=valmin, vmax=valmax) 
cb1 = mpl.colorbar.ColorbarBase(cax, cmap=cm, norm=norm, orientation='vertical') 
draw() 
savefig('/tmp/bla.png') 

Sowohl die GUI, die nach oben und das PNG erscheint, die gespeichert wird zeigen:

Colorbar

funktioniert das für Sie? Haben Sie im Rest Ihres Codes etwas Wesentliches getan?

+0

In Ordnung, danke! Ich habe auf meinem Ubuntu (12.04) mit Matplotlib 1.2.1 versucht .. aber auf meinem OSX funktioniert es auch wie ein Charme! ... Ich bin verwirrt. So oft. – hannesk

+0

Aha ... wenn ich es in Ipython laufen lasse, funktioniert es. Aber wenn ich es als Skript vom Terminal mit "python file.py" ausführen lasse, erzeugt es die schwarzen Linien. Ist es vielleicht ein anderes Backend, dann? – hannesk