在图表中修改UpsetR更改集名称标签

3
我正在尝试更改我的 UpsetR 图中的集名称标签(使用 Upset 函数),使其成为多个单词的字符串。我想让集标签显示为“A Description”、“B Description”、“C Description”,而不是“A”、“B”、“C”。我不希望单词之间有句点或下划线。
test <- upset(grouped_hot,
sets= c("A Description", "B Description","C Description", "N Description"),
nintersects = 8, 
mb.ratio = c(0.6, 0.4),
sets.x.label = "Number of Patients",
sets.bar.color =  "#56B4E9", 
mainbar.y.label = "Number of Patients",
order.by = "freq", 
empty.intersections = "on", 
keep.order = FALSE,
 scale.sets = "identity", 
att.pos = "top", 
text.scale = c(2.5,2.5,2,1.5,2.5,2.5))

实际结果是我的图像上的集合标签为A.Description、B.Description和C.Description。但是,我不想在单词之间使用句点,而是想要一个空格。有什么办法可以仅用于绘图目的更改Set Name Labels的名称吗?谢谢!

2个回答

2

我正在以略微不同的方式使用"upset"函数,但如果您能重新格式化/重新排序输入数据,则可能会对您有所帮助。

这里:

Original Answer翻译成"最初的回答"

##make input list
listInput = list(data.list1,
                 data.list2,
                 data.list3)
##rename list
names(listInput) = c("Name 1", "Name 2", "Name 3")

#make diagram
upset(fromList(listInput), order.by = "freq", #input, descending order  
      mainbar.y.label = "Number of common genes", #y axis
      sets.x.label = "Number of genes \nin the dataset", #x axis small plot
      main.bar.color = "black",
      sets.bar.color = "black",
      mainbar.y.max = 10 #y axis adjustment
        )

它将名称读作Name 1、Name 2和Name 3。希望有所帮助 :) Ana

0

由于我使用的是data.frame,Ana的答案对我没有用。

但是,在同样的思路下,仅在UpSet图中最后一刻更改列名非常适合更改标签:

names(data.frame)[names(data.frame) == 'old_name_01'] <- 'New_name_1'
names(data.frame)[names(data.frame) == 'old_name_02'] <- 'New_name_2'
names(data.frame)[names(data.frame) == 'old_name_03'] <- 'New_name_3'

upset(data.frame, sets = c("New_name_1", "New_name_2", "New_name_3"
), sets.bar.color = c("chocolate1", "chocolate2", "chocolate3"),
order.by = "freq", empty.intersections = "on")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接