1

在创建 JSON 数据结构并迭代该 JSON 结构后,我想出了以下数据表示。第 1 列和第 2 列是字符串数据类型第 4 列表示第 3 列中解释的类型的总和。示例:

A | B | Level1 | 10
A | C | Level2 | 1

为了对此进行口头解释,我会假设 A 国的国家中有可以说 B 国语言的人具有 1 级专业知识,他们的总数等于 10。

我想在 3 Axis 中表示这一点,X = Country1,Y = Country2,Z 表示级别。如果是这样,这是否明智我该如何做到这一点?我之前没有使用 R 3D 图形的经验。

这是我的实际数据的样子:它们在 CSV 文件中。

这是数据框中的数据:

  country1 country2 langLevel frequency
1       gv       ca    level1         2
2       gv       bg    level1         1
3      zea       li    level1         1
4      zea       li    level3         1

我希望我用我想要完成的事情清楚地解释了这个问题。我在想,似乎 3D 是代表这一点的最佳方式,但我可能是错的。

CSV 格式的数据:

country1,country2,langLevel,frequency
gv,ca,level1,2
gv,bg,level1,1
zea,li,level1,1
zea,li,level3,1
zea,de,level1,26
zea,de,level3,5
zea,el,level1,1
zea,eo,level1,3
zea,en,level1,5
zea,en,level2,34
zea,en,level3,38
zea,en,level4,12
zea,es,level1,7
zea,la,level1,7
zea,zea,level1,5
zea,zea,level3,4
zea,stq,level1,1
zea,sk,level2,1
zea,nl,level4,4
zea,fr,level2,9
zea,fy,level2,1
cdo,cdo,level3,1
cdo,de,level1,23
cdo,de,level2,4
cdo,de,level3,4
cdo,eo,level1,1
cdo,eo,level2,1
cdo,eo,level3,3
cdo,en,level1,6
cdo,en,level2,31
cdo,en,level3,38
cdo,en,level4,17
cdo,es,level1,8
cdo,es,level2,6
cdo,es,level3,3
cdo,fr,level1,14
cdo,fr,level2,11
cdo,fr,level3,6
gd,als,level1,1
gd,af,level1,2
vls,de,level1,32
vls,de,level2,7
vls,de,level3,6
vls,de,level4,3
vls,eo,level1,2
vls,eo,level2,3
vls,eo,level3,3
vls,en,level1,7
vls,en,level2,38
vls,en,level3,53
vls,en,level4,16
vls,es,level1,15
vls,es,level2,4
vls,es,level3,1
vls,es,level4,1
vls,ru,level2,8
vls,ru,level3,1
vls,ja,level1,2

这是我尝试过的,但是,它真的必须在这个情节中看到任何清晰的东西:

library("rgl")
plot3d(template_levels$country1, template_levels$country2, template_levels$frequency, col=template_levels$langLevel)

这是情节: 在此处输入图像描述

4

1 回答 1

3

一种可能性是使用不同颜色的条形图。这是一个使用包的解决方案ggplot2,并假设您的数据框名为df.

在 x 轴上,我们看到country2值,然后对于每个country1我们都有单独的方面。每个条都根据 着色langLevelscales="free_y"infacet_grid()确保我们在每个方面都有不同的 y 比例(因为值完全不同)。

library(ggplot2)
ggplot(df,aes(country2,frequency,fill=langLevel))+geom_bar(stat="identity")+
  facet_grid(country1~.,scales="free_y")

在此处输入图像描述

于 2013-03-28T07:15:46.747 回答