我有以下 python 代碼:import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 10, 100)y = np.linspace(0, 10, 100)X, Y = np.meshgrid(x, y, indexing='ij')Z = np.sin(X+Y)plt.pcolormesh(X, Y, Z)plt.colorbar()plt.contour(X, Y, Z, levels=[0.5, 0.75], colors=['black','cyan'])plt.show()給出以下輸出:我想將輪廓標記放置在顏色條上,如下所示:我已經進行了實驗和閱讀,但我找不到一種方法可以有效地在同一顏色條上繪制兩個數量。
1 回答

泛舟湖上清波郎朗
TA貢獻1818條經驗 獲得超3個贊
plt.colorbar返回一個colorbar對象,您可以從中獲取它使用 繪制的軸.ax。從那里開始,事情應該很簡單:
plt.pcolormesh(X, Y, Z)
cb = plt.colorbar()
plt.contour(X, Y, Z, levels=[0.5, 0.75], colors=['black','cyan'])
ax = cb.ax
xmin, xmax = ax.get_xlim()
ax.hlines([0.5, 0.75], xmin, xmax, colors=['black','cyan'], linewidth=5)
輸出:
添加回答
舉報
0/150
提交
取消