当使用 fontsize.labels 设置为 0 作为顶级标签时,R Treemap 标签不合理吗?
R Treemap labels don't justify when using fontsize.labels set to 0 for top level labels?
我正在尝试删除在 Macbook Air 运行 Mavericks 上使用 R 3.1 版上的 2.4 版创建的 R 树形图上的顶级标签。
运行 以下示例来自树图文档:
require(treemap)
data(business)
business <- transform(business, data.available = factor(!is.na(turnover)), x = 1)
tm <- treemap(business,
index=c("NACE1", "NACE2"),
vSize="x",
vColor="data.available",
type="categorical")
这是生成的树状图:
我想删除顶级标签,例如"C - Manufacturing",等等,使用 fontsize.labels 参数表示:
"Use value 0 to omit the labels for the corresponding aggregation level."
当我尝试这个时:
tm <- treemap(business,
index=c("NACE1", "NACE2"),
vSize="x",
vColor="data.available",
type="categorical",
fontsize.labels = c(0,16))
顶层标签确实被删除了,但二级标签不再正确对齐 - 字体大小减小,使文本全部排成一行,这使得阅读变得困难。
我试过使用 inflate.labels 但这是一个适用于所有级别的单一逻辑值(我的用例有 3 个嵌套级别,我只想删除顶级标签)和 lowerbound.cex.labels, force.print.labels 但似乎没有得到我想要的结果。
从 2.5 年前找到这个答案:How do I omit labels in the R treemap? 但我更愿意避免 post- 在绘制树图后对其进行处理(我将这些发送到 pdf,所以我不不想 post-之后处理 pdf 文件)。另外,我宁愿避免 运行 依赖于创建的树状图的内部结构的代码。
似乎 fontsize.labels 应该满足我的需要 - 只是无法让二级标签正确对齐(换行)。我错过了什么吗?
我认为这是由于一个错误导致所有标签换行都基于 fontsize.labels 向量中的第一个元素,而不是与相关级别相关的元素。此问题的一种解决方法是在树形图函数中设置 fontcolor.labels 和 bg.labels 参数以使标签透明(请注意 bg.labels 可以是颜色名称或从 0 到255 表示不透明度)。在您的示例中,这将是:
tm <- treemap(business,
index=c("NACE1", "NACE2"),
vSize="x",
vColor="data.available",
type="categorical",
fontsize.labels = 16,
fontcolor.labels=c("transparent", "black"),
bg.labels=0
)
唯一的缺点是这会阻止 treemap 根据矩形的背景自动分配标签颜色。
我正在尝试删除在 Macbook Air 运行 Mavericks 上使用 R 3.1 版上的 2.4 版创建的 R 树形图上的顶级标签。
运行 以下示例来自树图文档:
require(treemap)
data(business)
business <- transform(business, data.available = factor(!is.na(turnover)), x = 1)
tm <- treemap(business,
index=c("NACE1", "NACE2"),
vSize="x",
vColor="data.available",
type="categorical")
这是生成的树状图:
我想删除顶级标签,例如"C - Manufacturing",等等,使用 fontsize.labels 参数表示:
"Use value 0 to omit the labels for the corresponding aggregation level."
当我尝试这个时:
tm <- treemap(business,
index=c("NACE1", "NACE2"),
vSize="x",
vColor="data.available",
type="categorical",
fontsize.labels = c(0,16))
顶层标签确实被删除了,但二级标签不再正确对齐 - 字体大小减小,使文本全部排成一行,这使得阅读变得困难。
我试过使用 inflate.labels 但这是一个适用于所有级别的单一逻辑值(我的用例有 3 个嵌套级别,我只想删除顶级标签)和 lowerbound.cex.labels, force.print.labels 但似乎没有得到我想要的结果。
从 2.5 年前找到这个答案:How do I omit labels in the R treemap? 但我更愿意避免 post- 在绘制树图后对其进行处理(我将这些发送到 pdf,所以我不不想 post-之后处理 pdf 文件)。另外,我宁愿避免 运行 依赖于创建的树状图的内部结构的代码。
似乎 fontsize.labels 应该满足我的需要 - 只是无法让二级标签正确对齐(换行)。我错过了什么吗?
我认为这是由于一个错误导致所有标签换行都基于 fontsize.labels 向量中的第一个元素,而不是与相关级别相关的元素。此问题的一种解决方法是在树形图函数中设置 fontcolor.labels 和 bg.labels 参数以使标签透明(请注意 bg.labels 可以是颜色名称或从 0 到255 表示不透明度)。在您的示例中,这将是:
tm <- treemap(business,
index=c("NACE1", "NACE2"),
vSize="x",
vColor="data.available",
type="categorical",
fontsize.labels = 16,
fontcolor.labels=c("transparent", "black"),
bg.labels=0
)
唯一的缺点是这会阻止 treemap 根据矩形的背景自动分配标签颜色。