[英]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.