Matplotlib: Jak dopasować szerokość linii w pasku kolorów do wykresu konturowego?

Oto minimalny przykład generowania wykresu, który ilustruje moje pytanie:

import matplotlib.pylab as plt
import matplotlib.mpl as mpl
import numpy as np
import random

data = [[random.random() for i in range(10)] for j in range(10)]

[XT, YT] = np.meshgrid(np.arange(1,10+1,1), np.arange(1,10+1,1))

cmap = mpl.cm.gray

fig, ax = plt.subplots()

CS = ax.contour(XT, YT, data,levels=np.arange(0,1+0.1,0.1),\
                cmap=cmap,linewidths=0.75)
CB = plt.colorbar(CS, ticks=np.arange(0,1+0.1,0.1))  

plt.show()

Wynikowa postać wygląda tak:

Chciałbym zachowaćlinewidths linii konturowych na rysunku w0.75 ale zwiększ je wcolorbar (dla lepszej czytelności).

Jak zmienićlinewidths wcolorbar bez zmiany ich na rysunku?

Początkowo próbowałemCB.collections, alecolorbar nie macollections. Także dzwoniąccolorbar z argumentemlinewidths=4.0 nie działa (jest to nieznany parametr).

Komentarz
Podczas pisania tego pytania miałem ten pomysł (debugowanie gumowej kaczki):

CS = ax.contour(XT, YT, data,levels=np.arange(0,1+0.1,0.1),\
            cmap=cmap,linewidths=4.0)
CB = plt.colorbar(CS, ticks=np.arange(0,1+0.1,0.1))
plt.setp(CS.collections , linewidth=0.75)

Zasadniczo ustawienie początkowelinewidths do pożądanego poziomu dlacolorbar, a następnie generowaniecolorbar a następnie za pomocącollections na oryginalnych liniach konturu, aby zmniejszyć ich szerokość.
To działa.

Ale: Czy istnieje sposób bezpośredniego sterowanialinewidths wcolorbar?

questionAnswers(2)

yourAnswerToTheQuestion