簡體   English   中英

Matplotlib:更改附加軸的定位器

[英]Matplotlib: Change the locator of an appended axis

我有許多數據圖像,例如下面的數據圖像,其中我在右側添加了一組新的軸,以強制顏色條與圖像的大小相同。 在此處輸入圖片說明

色彩欄上的刻度太靠近,因此我想減少它們的數量。 我試圖這樣做:

# Set up colorbar
divider = make_axes_locatable(plt.gca())
cax = divider.append_axes("right", size="5%", pad=0.05)
cax.yaxis.set_major_locator(plticker.LinearLocator(numticks=5))
cbar = plt.colorbar(im, cax=cax)
cbar.set_label(cbtitle, **cbkw)

我知道,通常,以這種方式重新設置軸格式需要調用cbar.update_axis()來強制進行更新,但這似乎在這里不起作用。 cax是一個Axes對象,調用cbar.update_axis()也不執行任何操作。 實際上,這兩種策略以及不進行更新的操作都會產生上圖。 有人知道我如何減少滴答聲嗎?

您的示例代碼包含許多在其外部定義的變量,因此很難看到您正在做的所有事情。 但是關於設置cbar的刻度數,這對我有用:

fig, ax = plt.subplots()

im = ax.imshow(np.random.randn(10,10), interpolation='none')

divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.05)
cbar = plt.colorbar(im, cax=cax, ticks=mpl.ticker.LinearLocator(numticks=3))

在此處輸入圖片說明

@hildensia,圖像顯示將彩虹切成正方形並將其隨機放置在網格中的結果,所以抱歉,我真的需要'jet'cmap。 ;)你是對的,當然。

暫無
暫無

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

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