我正在使用Seaborn绘制热力图。如果我使用"linewidth=value"设置分割每个单元格的线条,线条会被打印出来,但是它们的宽度不同。(例如,在我的下面的图中,外部垂直线比内部垂直线细,1和2之间的水平线比其他两条线更粗)。
这里有一个简单的代码可以重现这个问题:
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns;sns.set()
plt.figure(figsize=(10,5))
df = np.random.rand(4,6)
ax = sns.heatmap(df,cmap="Blues",linewidths=1,linecolor='k')
plt.show()
这是我得到的热力图:
为什么linewidths都是1,但线条的宽度不同?
先不考虑第一行和最后一行单元格比其他单元格小的问题,我知道那是matplotlib版本的问题。