我正在從 Pandas 資料框(示例中的 df)制作等高線圖,圖中的哪一部分是不應顯示的值。在資料框中,它們是 NaN 值。NaN 值顯示為白色區域,但我想給這個白色區域一個顏色(例如黑色)。你怎么能做到這一點?我的代碼和圖表如下:
plt.figure(1, figsize=(12, 12), dpi=600)
# plot contour lines
contours = plt.contour(df.columns,df.index, df, 8, colors = 'black')
# add label to contour lines
contours.collections[0].set_label(parameter[choice] ' [%]')
plt.clabel(contours, inline=True, fmt='%1.1f' , fontsize=fontsize1)
# plot colormap
colormap = plt.contourf(df.columns,df.index, df, 800, cmap='RdYlGn', alpha=0.5) # plot color map
# plot blue operational point
plt.plot(FU, V, 'bo', markersize=markersize, label='Nominal operation')
# extra plot layout (not so important for example)
min_tick = df.to_numpy().min()
max_tick = df.to_numpy().max()
ticks = [np.linspace(min_tick, max_tick,3)]
cb = plt.colorbar(ticks = ticks)
cb.ax.tick_params(labelsize = fontsize1)
plt.xlabel('FU [-]', fontsize = fontsize2)
plt.ylabel('V [V]', fontsize = fontsize2)
plt.tick_params(axis='both', which='major', labelsize=fontsize1)
plt.grid(color = 'gray', linestyle=(0, (5, 10)), linewidth=1)
plt.legend(fontsize=fontsize2, loc = 'upper center')
plt.show
plt.savefig("contourplot " parameter[choice] " (V and FU)" ".png")

在
更新:感謝 Z Li 的幫助,它使用以下代碼:
plt.contourf(df.columns,df.index, df, 800, colors = 'white')
plt.gca().set_facecolor("black")
colormap = plt.contourf(df.columns,df.index, df, 800, cmap='RdYlGn', alpha=0.5)

uj5u.com熱心網友回復:
您是否考慮過先在情節中添加白色背景,然后將背景設定為黑色?
plt.contourf(df.columns,df.index, df, 800, colors = 'white')
colormap = plt.contourf(df.columns,df.index, df, 800, cmap='RdYlGn', alpha=0.5)
原劇情:

沒有白色背景,這就是您面臨的問題:

白色背景:

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/371218.html
標籤:Python 熊猫 matplotlib 颜色 轮廓
上一篇:自動重新排序行并更新排序列的值
下一篇:matplotlib.axes.Axes.set_xticks拋出“set_ticks()需要2個位置引數,但給出了3個”
