我有下面的代码,我试图使用令人惊叹的包 circlize 制作一个圆形图
我读过这个小插图并承认其中一些内容有点超出了我的理解范围,
我想知道是否有一种快速方法可以删除图表上的所有标签(包括刻度线),然后按照与扇区相同的角度以浅灰色重新添加奥迪、沃尔沃和宝马example http://jokergoo.github.io/circlize/example/genomic_zoom_inside.html
library (dplyr)
library(circlize)
df = read.table(textConnection("
Brand_from model_from Brand_to Model_to
VOLVO s80 BMW 5series
BMW 3series BMW 3series
VOLVO s60 VOLVO s60
VOLVO s60 VOLVO s80
BMW 3series AUDI s4
AUDI a4 BMW 3series
AUDI a5 AUDI a5
"), header = TRUE, stringsAsFactors = FALSE)
# Add customer satisfaction (1 being positive, 0 being negative)
df <- df %>%
mutate(Customer.Sat = c("POS","NEG","NEG","POS","POS","NEG","NEG")) %>%
select(Brand_from,Brand_to,Customer.Sat )
# Set the colour Scheme for the association
col = c("NEG" = "red",
"POS" = "green")
diffHeight = c("POS" = -0.02,
"NEG" = 0.04)
# Build the Chord Diagram
chordDiagram(df[1:2],
col = col[df$Customer.Sat],
diffHeight = diffHeight[df$Customer.Sat])
circos.clear()
我发现这是可能的插图第 17 页 https://cran.r-project.org/web/packages/circlize/vignettes/circlize.pdf使用代码
# Rotates the Labels so they are 90 Degrees to the chord diagram
circos.trackPlotRegion(track.index = 1, panel.fun = function(x, y) {
xlim = get.cell.meta.data("xlim")
ylim = get.cell.meta.data("ylim")
sector.name = get.cell.meta.data("sector.index")
circos.text(mean(xlim), ylim[1] + .1, sector.name, facing = "clockwise", niceFacing = TRUE, adj = c(0, 0.5))
circos.axis(h = "top", labels.cex = 0.5, major.tick.percentage = 0.2, sector.index = sector.name, track.index = 2)
}, bg.border = NA)
我已经看到答案了旋转和弦图中的标签 (R circlize) https://stackoverflow.com/questions/31943102/rotate-labels-in-a-chorddiagram-r-circlize这非常相似
但是,这不会删除现有标签,例如刻度线和扇区名称。