Tôi muốn tạo chú thích colorbar cho bản đồ nhiệt, sao cho nhãn nằm ở giữa mỗi màu riêng biệt. Hãy xem ví dụ dưới đây (borrowed from here)matplotlib: colorbars và nhãn văn bản của nó
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import ListedColormap
#discrete color scheme
cMap = ListedColormap(['white', 'green', 'blue','red'])
#data
np.random.seed(42)
data = np.random.rand(4, 4)
fig, ax = plt.subplots()
heatmap = ax.pcolor(data, cmap=cMap)
#legend
cbar = plt.colorbar(heatmap)
cbar.ax.set_yticklabels(['0','1','2','>3'])
cbar.set_label('# of contacts', rotation=270)
# put the major ticks at the middle of each cell
ax.set_xticks(np.arange(data.shape[1]) + 0.5, minor=False)
ax.set_yticks(np.arange(data.shape[0]) + 0.5, minor=False)
ax.invert_yaxis()
#lebels
column_labels = list('ABCD')
row_labels = list('WXYZ')
ax.set_xticklabels(column_labels, minor=False)
ax.set_yticklabels(row_labels, minor=False)
plt.show()
mà tạo ra cốt truyện sau:
Lý tưởng nhất là tôi muốn tạo ra một thanh huyền thoại trong đó có bốn màu sắc và đối với mỗi màu sắc, một nhãn trong trung tâm của nó: 0,1,2,3,> 4
cảm ơn! rất nhiều đánh giá cao. – dimka
Tôi đã thử điều này và nó gần như hoạt động. Đối với một số lý do tên nhãn trục "# số liên lạc" biến mất do "cbar.ax.axis ('off')" dòng. bất kỳ cách nào để giữ nhãn trên? – dimka
@dimka xem chỉnh sửa, chỉ cần tắt các dấu khác nhau một chút. Bạn vẫn phải tinh chỉnh phông chữ để trông đẹp hơn, nhưng tôi để nó như một bài tập cho người đọc;) – tacaswell