簡體   English   中英

如何為輪廓 plot 擴展 matplotlib 顏色條?

[英]How to extend matplotlib colorbar for contourf plot?

以下代碼生成輪廓 plot。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,10)

X, Y = np.meshgrid(x, x)

F = np.sin(X)*np.cos(Y)

v = np.linspace(-2, 2,10)
plt.contourf(X, Y, F, 500)
cb = plt.colorbar()

F的范圍從 -1 到 1,因此我的顏色條將這些作為其最小值和最大值。 我希望顏色條的范圍為 -2 到 2。我嘗試將刻度設置為從 -2 到 2 的范圍,但這不起作用。 有什么建議么?

如果您手動創建顏色條,則有效:

import numpy as np
import matplotlib as mpl

x = np.linspace(0,10)
X, Y = np.meshgrid(x, x)
F = np.sin(X)*np.cos(Y)

v = np.linspace(-2, 2,10)

f, ax = plt.subplots()
cont = ax.contourf(X, Y, F, 500, vmin=-2, vmax=2, ticks=v)
cax, _ = mpl.colorbar.make_axes(ax)
cbar = mpl.colorbar.ColorbarBase(cax, cmap=cont.cmap, norm=cont.norm)
cbar.set_ticks([v.min(), *np.linspace(F.min(), F.max(), 11), v.max()])

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM