cmo*_*sig 1 python matplotlib heatmap seaborn
该参数linewidth调整每个单元之间的空间大小。例如:
import matplotlib.pyplot as plt
import seaborn as sns; sns.set()
import numpy as np; np.random.seed(0)
uniform_data = np.random.rand(2000, 6)
ax = sns.heatmap(uniform_data)
Run Code Online (Sandbox Code Playgroud)
plt.clf()
ax = sns.heatmap(uniform_data, linewidth=0.0001)
Run Code Online (Sandbox Code Playgroud)
您只能看到白色,因为我的热图形状明显倾斜:2000 行和 6 列。我想在每个单元格列之间有一个垂直的空白。因此,我需要想办法单独调整垂直线宽。如何才能做到这一点?
设置线宽适用于每个单元格周围矩形的边宽。如果只有垂直线,axvline()则绘制一条垂直线,默认从绘图的顶部到底部。为了仅分隔列,可以在位置 1,2,...n-1 处绘制线条。在位置 0 和 n 处绘制一条线也有助于使列在视觉上等宽。
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
uniform_data = np.random.rand(200, 6)
ax = sns.heatmap(uniform_data)
for i in range(uniform_data.shape[1]+1):
ax.axvline(i, color='white', lw=2)
plt.tight_layout()
plt.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2314 次 |
| 最近记录: |