drg*_*drg 12 python matplotlib heatmap pandas seaborn
我希望能够改变某些方块以表示统计显着性.我知道我可以掩盖不具有统计意义的方块,但我仍然希望保留该信息(而不是将值设置为零).执行此操作的选项包括1)使某些正方形上的文本变粗,2)添加类似阴影的功能,以便某些正方形具有点画,或3)向某些正方形添加符号.
有什么想法吗?谢谢!
jme*_*jme 11
一种方法是Text
直接访问对象并改变其重量/样式.下面的代码将采用一些示例数据并尝试使每个条目等于118突出:
flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")
ax = sns.heatmap(flights, annot=True, fmt="d")
for text in ax.texts:
text.set_size(14)
if text.get_text() == '118':
text.set_size(18)
text.set_weight('bold')
text.set_style('italic')
Run Code Online (Sandbox Code Playgroud)
我不是matplotlib/seaborn专家,但在我看来,要求热图中的单个单元格被孵化需要一些工作.总之,热图是Collection
的matplotlib
Patch
ES和集合的孵化只能在集合作为一个整体进行设置.要设置单个单元格的填充,您需要它们是不同的补丁,并且事情变得混乱.也许(希望)有些人比我更了解并且说这是错误的,而且这很容易 - 但如果我不得不猜测,我会说改变文字风格比设置舱口更容易.
mwa*_*kom 11
您可以绘制两次,将掩码应用于您不希望第二次强调的单元格:
import numpy as np
import seaborn as sns
x = np.random.randn(10, 10)
sns.heatmap(x, annot=True)
sns.heatmap(x, mask=x < 1, cbar=False,
annot=True, annot_kws={"weight": "bold"})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5597 次 |
最近记录: |