首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中的circlize软件包中制作绘图

在R中的circlize软件包中制作绘图
EN

Stack Overflow用户
提问于 2018-11-02 14:53:25
回答 1查看 328关注 0票数 0

我有不同城市之间的航空公司连接数据。我想在Circize软件包的帮助下制作一个带有颜色控制的和弦图。我需要帮助

代码语言:javascript
复制
Place1<-c("Delhi","Hongkong","Manila","Delhi","Hongkong","Manila","Delhi","Hongkong","Manila")
Place2<-c("Delhi","Delhi","Delhi","Hongkong","Hongkong","Hongkong","Manila","Manila","Manila")
value<-c(8,21,29,41,23,16,14,8,9)
df1<-cbind(Place1,Place2,value)

数据如下所示

代码语言:javascript
复制
Place1     Place2     value
 [1,] "Delhi"    "Delhi"    "8"  
 [2,] "Hongkong" "Delhi"    "21" 
 [3,] "Manila"   "Delhi"    "29" 
 [4,] "Delhi"    "Hongkong" "41" 
 [5,] "Hongkong" "Hongkong" "23" 
 [6,] "Manila"   "Hongkong" "16" 
 [7,] "Delhi"    "Manila"   "14" 
 [8,] "Hongkong" "Manila"   "8"  
 [9,] "Manila"   "Manila"   "9"
EN

回答 1

Stack Overflow用户

发布于 2018-11-02 18:05:36

我们可以尝试这样的方法:

代码语言:javascript
复制
# Here your data:
Place1<-c("Delhi","Hongkong","Manila","Delhi","Hongkong","Manila","Delhi","Hongkong","Manila")
Place2<-c("Delhi","Delhi","Delhi","Hongkong","Hongkong","Hongkong","Manila","Manila","Manila")
value<-c(8,21,29,41,23,16,14,8,9)
# df1<-cbind(Place1,Place2,value)    this is not useful, it's better to put them in a data.frame
df1 <-data.frame(Place1,Place2,value = as.numeric(value))

然后,我们可以操作数据,并得到曲线图。正如this simple example中所述,数据应该放在一个表中:你也有这些值,所以我们可以把它们放在一个基函数中:

代码语言:javascript
复制
dat <- xtabs(value ~ Place1 + Place2, df1)

现在我们可以绘制数据了:

代码语言:javascript
复制
library(circlize)
chordDiagram(as.data.frame(dat), transparency = 0.5)

但是,您可以考虑使用some other ways来可视化这些类型的数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53113888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档