我想創建一個帶有文本標簽的自定義和獨立的 matplotlib 顏色欄。但是,我無法將標簽正確分配給顏色欄中的顏色。如何使用 matplotlib 為顏色欄中的每種顏色分配文本標簽?
import matplotlib.colorbar as colorbar
import matplotlib.colors as clr
import matplotlib.pyplot as plt
cb_colors = ["#000000", "#808000", "#D3D3D3", "#FFFFFF", "#000080", "#FF4500", "#696969", "#FFFFE0"]
cmap_ = clr.ListedColormap(cb_colors)
fig = plt.figure()
ax = fig.add_axes([0.05, 0.80, 0.9, 0.1])
cb = colorbar.ColorbarBase(ax, orientation='horizontal',
cmap=cmap_)
cb.ax.set_xticks([0, 1, 2, 3, 4, 5, 6, 7])
cb.ax.set_xticklabels(["A", "B", "C", "D",
"E", "F", "G", "H"])

PS:即使我將代碼更改為以下代碼,它也沒有解決我的問題。
cb.set_ticks([0, 1, 2, 3, 4, 5, 6, 7])
cb.set_ticklabels(["A", "B", "C", "D",
"E", "F", "G", "H"])

uj5u.com熱心網友回復:
默認的內部編號是從 0 到 1。大于 1 的位置的刻度將不可見。內部編號可以通過
如果您需要保持默認范圍 0 到 1,您可以使用cb.set_ticks(np.linspace(0, 1, 2*num_colors 1)[1::2]). 這將范圍劃分為 17 個等距位置,并將使用奇數作為刻度。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/374574.html
標籤:Python matplotlib 阴谋
上一篇:使用quiver(python,matplotlib)繪制隨機選擇的向量
下一篇:從零到曲線的漸變填充
