我在一个名为Table.txt的文件中有下表
ID UMAP1 UMAP2 colors tissue shape
BR1.RPM. -6.24624137750478 8.99732825037093 darkgrey Brain 21
BR2.RPM. -4.94022374995909 9.64415254298357 darkgrey Brain 21
BR3.RPM. -6.18653161030939 10.8053867159454 darkgrey Brain 21
BR4.RPM. -5.43379029546665 10.3241840540605 darkgrey Brain 21
BR5.RPM. -6.46826671610736 10.0162047226128 darkgrey Brain 21
CO1.RPM. 8.86122160028818 -10.8480078113176 forestgreen Colon 21
CO2.RPM. 7.80124379636093 -10.8247843040215 forestgreen Colon 21
CO3.RPM. 8.7898158134908 -11.9994744387119 forestgreen Colon 21
CO5.RPM. -0.211040103092488 -15.3140536298622 forestgreen Colon 21
DU1.RPM. 2.00335081362765 -13.4547195186791 olivedrab4 Duodenum 21
DU2.RPM. 1.06254721897261 -15.2328022664155 olivedrab4 Duodenum 21
DU5.RPM. 0.441952327756353 -11.6575129379758 olivedrab4 Duodenum 21
HE1.RPM. 3.99477353770135 10.6553694455463 hotpink3 Heart 21
HE2.RPM. 4.88118814766788 9.93852960962403 hotpink3 Heart 21
HE3.RPM. 5.21631629029322 10.6650139934156 hotpink3 Heart 21
HE4.RPM. 9.10821235021812 12.9856956614779 hotpink3 Heart 21
HE5.RPM. 5.78207690863004 11.0933139113898 hotpink3 Heart 21
IL1.RPM. 6.95565094553292 -12.5702089865116 palegreen3 Ileum 21
IL2.RPM. 1.01269742361358 -14.1035198369691 palegreen3 Ileum 21
IL3.RPM. -1.17035543321198 -13.6340301656585 palegreen3 Ileum 21
IL4.RPM. 8.40353989576425 -11.6513183019901 palegreen3 Ileum 21
JE1.RPM. 2.9910580757924 -14.4211713133721 darkseagreen Jejunum 21
JE2.RPM. 2.07079714594886 -15.3772976319669 darkseagreen Jejunum 21
JE3.RPM. -1.05329335978342 -14.5968398106159 darkseagreen Jejunum 21
JE4.RPM. 3.41624683267929 -13.4919035473171 darkseagreen Jejunum 21
JE5.RPM. 4.88425475465244 -13.1567652554822 darkseagreen Jejunum 21
KI1.RPM. -10.6374735982799 4.92145224474023 orange3 Kidney 21
KI2.RPM. -11.2833854978983 4.51937765581112 orange3 Kidney 21
KI3.RPM. -11.1470520844353 5.73545480553504 orange3 Kidney 21
KI4.RPM. -10.1513698150707 5.35434236921414 orange3 Kidney 21
KI5.RPM. -10.177160813581 6.20659526440371 orange3 Kidney 21
LI1.RPM. -5.70526388552766 2.73195871448176 sienna Liver 21
LI2.RPM. -6.17843878586395 1.90790108771143 sienna Liver 21
LI3.RPM. -7.0007572520014 2.65058984741689 sienna Liver 21
LI4.RPM. -5.88973722126037 3.76962066959112 sienna Liver 21
LI5.RPM. -6.61112275268653 3.28644045310891 sienna Liver 21
LU1.RPM. -4.75953988253826 6.29883048072252 mediumpurple Lung 21
LU2.RPM. -3.31384813480563 7.3267440711153 mediumpurple Lung 21
LU3.RPM. -5.9590148653142 6.68886573490531 mediumpurple Lung 21
LU4.RPM. -4.59224273960628 7.21105859067014 mediumpurple Lung 21
LU5.RPM. -5.47580231369125 7.59756752354278 mediumpurple Lung 21
PA1.RPM. -4.39428882425657 -1.00591794767983 dodgerblue Pancreas 21
PA2.RPM. -4.81692379647447 -0.378627400147651 dodgerblue Pancreas 21
PA3.RPM. -5.19468729366945 -1.42084838130265 dodgerblue Pancreas 21
PA5.RPM. -5.51778068445221 -0.836836569975335 dodgerblue Pancreas 21
PL1.RPM. 9.93008906133938 12.6156952554679 red3 Plasma 21
PL2.RPM. 9.54209137127792 13.7400750744851 red3 Plasma 21
PL3.RPM. 10.6344639198137 12.6886944573872 red3 Plasma 21
PL5.RPM. 10.3784631029018 13.7654629384684 red3 Plasma 21
SKI.RPM. -0.202516945089861 -14.2222474767147 pink2 Skin 21
SM1.RPM. 6.88138601444705 11.6623945678116 plum Skeletal muscle 21
SM2.RPM. 6.27891336047781 10.3000397477951 plum Skeletal muscle 21
SM3.RPM. 4.8344444544445 11.9513437182199 plum Skeletal muscle 21
TE1.RPM. -0.61587780139837 -12.5741675518115 goldenrod2 Testis 21
TE2.RPM. 7.49521993036915 -11.9671985613382 goldenrod2 Testis 21
TE3.RPM. 7.68201253927473 -13.3154305341953 goldenrod2 Testis 21
Blood 11.7943923259296 13.4515420442054 red3 Plasma 23
Muscle 2.85308339005237 11.1306582760691 plum Skeletal muscle 23我想使用R中的ggplot代码从这个表中生成一个散点图,但是我想不出如何修复图例,以便正确地显示它。
我使用以下代码:
Table_UMAP = read.delim("/PATH/Table.txt", header=T, row.names=1)
Table_UMAP$colors <- factor(Table_UMAP$colors, levels=c("darkgrey", "forestgreen", "olivedrab4", "palegreen3", "darkseagreen", "red3", "hotpink3", "plum", "pink2",
"orange3", "sienna", "mediumpurple", "dodgerblue", "goldenrod2"))
Table_UMAP$tissue <- factor(Table_UMAP$tissue, levels=c("Brain", "Colon", "Duodenum", "Jejunum", "Ileum", "Plasma", "Heart", "Skeletal muscle", "Skin",
"Kidney", "Liver", "Lung", "Pancreas", "Testis"))
Table_UMAP$shape <- factor(Table_UMAP$shape, levels=c(21, 23))
library(ggplot2)
ggplot(Table_UMAP, aes(x=UMAP1, y=UMAP2, fill=tissue, color=colors)) +
geom_point(shape=shape, size=6) +
scale_fill_manual(labels = c("Brain", "Colon", "Duodenum", "Jejunum", "Ileum", "Plasma", "Heart", "Skeletal muscle", "Skin",
"Kidney", "Liver", "Lung", "Pancreas", "Testis"),
values = c("darkgrey", "forestgreen", "olivedrab4", "palegreen3", "darkseagreen", "red3", "hotpink3", "plum", "pink2",
"orange3", "sienna", "mediumpurple", "dodgerblue", "goldenrod2")) +
guides(fill = guide_legend(ncol=2)) +
ylim(c(-16,15)) + xlim(c(-12,12)) +
xlab("Component 1") + ylab("Component 2") +
theme_bw() +
theme(legend.position = c(0.22, 0.17), legend.title = element_blank(), legend.text = element_text(size=10),
legend.background = element_rect(fill = "white", color="black")) +
theme(axis.text.x = element_text(size=8),
axis.text.y = element_text(size=8),
axis.title.x =element_text(size=12, margin = margin(t = 10)),
axis.title.y =element_text(size=12, margin = margin(r = 10)),
plot.margin = margin(1, 1, 1, 1, "cm")) +
theme(panel.border = element_rect(linetype = "solid", size=1, color="black")) +
guides(fill = guide_legend(override.aes =list(shape = 21)))此代码生成以下图:

这张图看上去和我想要的一样,除了图例,它没有另外一行,两列显示不同的形状,其中21列是“狗”,23列是“其他”。
我怎么才能修正这个传说?有什么我没有补充的东西吗?
诚挚的问候。
发布于 2022-03-22 15:49:29
我不太明白你的问题,但我试着重新命名形状。
样本代码:
library(plyr)
library(ggplot2)
#Table_UMAP = read.delim("/PATH/Table.txt", header=T, row.names=1)
Table_UMAP$colors <- factor(Table_UMAP$colors, levels=c("darkgrey", "forestgreen", "olivedrab4", "palegreen3", "darkseagreen", "red3", "hotpink3", "plum", "pink2",
"orange3", "sienna", "mediumpurple", "dodgerblue", "goldenrod2"))
Table_UMAP$tissue <- factor(Table_UMAP$tissue, levels=c("Brain", "Colon", "Duodenum", "Jejunum", "Ileum", "Plasma", "Heart", "Skeletal muscle", "Skin",
"Kidney", "Liver", "Lung", "Pancreas", "Testis"))
Table_UMAP$shape <- factor(Table_UMAP$shape, levels=c(21, 23))
Table_UMAP$shape <-revalue(Table_UMAP$shape, c("21"="Dog", "23"="Other"))
Table_UMAP <-Table_UMAP [-which(is.na(Table_UMAP$shape)),] # remove NA
ggplot(Table_UMAP, aes(x=UMAP1, y=UMAP2), color=colors, shape=shape) +
geom_point(aes(shape=shape, color=tissue), size=6) +
guides(shape= guide_legend(ncol=2)) +
scale_color_manual(
values = c("Brain" = "darkgrey",
"Colon"="forestgreen",
"Duodenum"="olivedrab4",
"Jejunum"="palegreen3",
"Ileum"="darkseagreen",
"Plasma"="red3",
"Heart"="hotpink3",
"Skeletal muscle"="plum",
"Skin"="pink2",
"Kidney"="orange3",
"Liver"="sienna",
"Lung"="mediumpurple",
"Pancreas"="dodgerblue",
"Testis"="goldenrod2"))+
guides(color = guide_legend(ncol=2)) +
ylim(c(-16,15)) +
xlim(c(-12,12)) +
xlab("Component 1") +
ylab("Component 2") +
theme_bw() +
theme(legend.position = c(0.00, 0.0),
legend.justification=c(0,0),
legend.title = element_blank(),
legend.text = element_text(size=10),
legend.background = element_rect(fill = "white", color="black"))+
theme(axis.text.x = element_text(size=8),
axis.text.y = element_text(size=8),
axis.title.x =element_text(size=12, margin = margin(t = 10)),
axis.title.y =element_text(size=12, margin = margin(r = 10)),
plot.margin = margin(1, 1, 1, 1, "cm"))情节:

https://stackoverflow.com/questions/71559749
复制相似问题