R / d3heatmap - 有没有办法旋转轴标签?

R / d3heatmap - is there a way to rotate the axis label?

在 R d3heatmap 包中,有没有办法将 x 轴标签旋转 90 度(垂直于轴)而不是 45 度?

我找不到将旋转值传递给函数的简单选项,但您可以进入 d3heatmap 包的内部并在 javascript 代码中更改旋转。

运行 R 中的“.libPaths()”以查找 R 包及其数据的存储位置。在我的例子中,我在 '/home/nick/R/x86_64-suse-linux-gnu-library/3.1/d3heatmap/'.

中找到了 d3heatmap 包

您要查找的文件类似于“/home/nick/R/x86_64-suse-linux-gnu-library/3.1/d3heatmap/htmlwidgets/lib/d3heatmapcore/heatmapcore.js'

使用文本编辑器打开文件。有两个地方有设置:"rotate(45),translate(6, 0)".

所以搜索 "rotate(45)" 并将两个地方的“45”替换为“90”​​。您还必须将 "translate(6, 0)" 更改为可以更好地放置文本的内容。我发现 "translate(12, -20)"(将文本向下移动 12 个像素,向右移动 20 个像素)使用 "mtcars" 数据集作为测试效果很好。

d3heatmap with vertical row labels

当使用具有更多或更少行的数据集时,您必须尝试正确的翻译,将它从 -20 稍微更改一下,以便正确对齐。可能有一种方法可以自动执行此操作,但我大多只知道 R,而不是 javascript,所以我不知道该怎么做。