【问题标题】:Making a plot in circlize package in R [closed]在R中的circlize包中绘制图[关闭]
【发布时间】:2018-11-02 06:53:24
【问题描述】:

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

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)

数据是这样的

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"

【问题讨论】:

  • 你试过什么和弦图代码?请注意,该包不是一个非常常用的包,该标签只有 2 个观察者和 45 个问题,所以我们需要的比您发布的更多。请使用您尝试过的代码编辑问题。

标签: r data-visualization chord-diagram circlize


【解决方案1】:

我们可以试试这样的:

# 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 中所述,数据应该放在一个表中:你也有值,所以我们可以把它们放在一个基函数中:

dat <- xtabs(value ~ Place1 + Place2, df1)

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

library(circlize)
chordDiagram(as.data.frame(dat), transparency = 0.5)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 2020-03-22
    • 2017-10-18
    • 1970-01-01
    • 2011-04-14
    相关资源
    最近更新 更多