簡體   English   中英

Colors 在使用 matplotlib 的顏色條中伸出

[英]Colors in color bar sticking out using matplotlib

我正在繪制四個(還有八個)子圖,彼此相鄰,沒有空格。 我還需要一個放在最右邊的彩條。 但是,彩條內的 colors 超出彩條邊緣的范圍:它從頂部伸出,沒有覆蓋底部。

import matplotlib.pyplot as plt
from matplotlib import gridspec

fig, ax = plt.subplots(nrows=1, ncols=4, figsize=(4*6.4, 4.8))
gs = gridspec.GridSpec(1, 4, hspace=.0, wspace=.0) #height_ratios=[1,2,3,4])

for idx, _ in enumerate(ax):
    ax[idx] = plt.subplot(gs[idx])
    sc = plt.scatter(0.5, 0.5)
    ax[idx].xaxis.set_ticks_position('both')
    ax[idx].yaxis.set_ticks_position('both')
    yticks = ax[idx].get_yticklabels()
    yticks[-1].set_visible(False)
    yticks[0].set_visible(False)
    xticks = ax[idx].get_xticklabels()
    yticks[-1].set_visible(False)
    xticks[0].set_visible(False)

cb_ax = fig.add_axes([ax[3].get_position().x1+0.005,ax[3].get_position().y0,0.01,ax[3].get_position().y1-ax[3].get_position().y0])
cb=fig.colorbar(sc, cax=cb_ax)

plt.show()

fig.savefig('sticking_out.pdf', bbox_inches='tight')

在最小的工作示例中,我嘗試使顏色條適合圖形的高度。 彩條的邊緣完全對齊,但 colors 本身向上移動(見下圖)。

在此處輸入圖像描述

在此處輸入圖像描述

這個問題有優雅的解決方案嗎? 也許這也是使顏色條適合圖形高度的更好方法?

謝謝@JohanC 在上面的評論中向我解釋。 根據@JohanC 的說法,如果使用更高的dpi並且它是由舍入錯誤引起的,則可以解決。 我自己回答了這個問題以“關閉”它,但所有功勞歸功於@JohanC。

暫無
暫無

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

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