我使用具有2级层次结构的R treemap package创建了一个树形图。
我的问题是某些标签重叠,因此您无法真正看到较低级别的层次结构标签。在手册页(见下文)的示例中,您无法看到乌克兰的国家/地区标签,因为大陆标签(欧洲)位于其上方。我知道你可以让标签更小的字体,但有没有办法移动标签的位置?例如,我可以将大陆标签移动到大陆框的左上角,以便查看所有国家/地区名称吗?
require(treemap)
data(GNI2010)
treemap(GNI2010,
index=c("continent", "iso3"),
vSize="population",
vColor="GNI",
type="value")
答案 0 :(得分:1)
现在可以使用align.labels选项使用最新版本的treemap。还有其他一些可能有用的新选项。
在 align.list 的文档中,它说:
指定标签对齐的对象。指定水平对齐的两个值的字符向量("左","中"或"右")和垂直对齐(" top& #34;," center"或" bottom"),或者这样的字符向量列表,每个聚合级别一个。
需要注意的一点是,每个角色向量中的顺序都很重要。也就是说,首先是与x轴位置对应的值,然后是y轴位置。例如,c("右","底部")有效,但c("底部","右")不是。
以下是您的原始示例已更正,因此标签不会重叠。
data(GNI2014)
treemap(GNI2014,
index=c("continent", "iso3"),
vSize="population",
vColor="GNI",
type="value",
align.labels = list(c("left", "top"), c("right", "bottom"))
)
答案 1 :(得分:0)
不幸的是,它还不可能。此功能列在下次更新中,但优先级较低。
可能有一种困难的方法:通过使用网格包手动调整绘图。您可以尝试使用grid.ls()查找大陆标签,然后移动它们。