我正在用 Python 構(gòu)建一個 seaborn 熱圖。這些值將顯示在熱圖 ( annot=True) 中。我將矩陣(一個 pandas DataFrame)上的所有值四舍五入到將在熱圖上表示的小數(shù)點后一位使用np.around(matrix,1). 矩陣上的一些值是 0,那么 numpy 簡單地將 then 舍入而不是 就不足為奇0了0.0。0.0問題是我需要在 seaborn 熱圖上顯示零。有什么建議么?編輯:我嘗試將矩陣設(shè)置為 np 數(shù)組并進行設(shè)置np.set_printoptions(1,floatmode='fixed'),但是當我這樣做時,我丟失了列標簽,然后我需要構(gòu)建熱圖,所以這不是一個選項。編輯 2:我嘗試更改annot=True為annot=np.around(np.array(matrix),1).astype(str),也就是說,不是在熱圖上顯示 pd DataFrame,而是將要顯示的矩陣轉(zhuǎn)換為 np 數(shù)組,四舍五入并“固定”為字符串,但后來我得到了,這ValueError: Unknown format code 'g' for object of type 'str'似乎成為一個錯誤。
1 回答

蝴蝶刀刀
TA貢獻1801條經(jīng)驗 獲得超8個贊
無需事先對數(shù)據(jù)進行舍入,您需要做的就是更改注釋格式。對于 1 dp,您執(zhí)行以下操作,
sns.heatmap(df, annot=True,fmt='.1f')
添加回答
舉報
0/150
提交
取消