如何从此代码生成的图例中删除字母"a"?如果我删除了geom_text,那么'a'字母将不会显示在图例中.不过我想保留geom_text.
ggplot(data = iris, aes(x = Sepal.Length, y=Sepal.Width, shape = Species, colour = Species)) +
geom_point() +
geom_text(aes(label = Species))
Run Code Online (Sandbox Code Playgroud) 1)是否有任何R库/函数可以在R图中实现INTELLIGENT标签放置?我尝试了一些,但它们都有问题 - 许多标签彼此重叠或其他点(或图中的其他对象,但我发现这更难处理).
2)如果没有,有什么方法可以如何舒适地帮助算法与特定问题点的标签放置?最舒适,最有效的解决方案.
您可以使用我可重复的示例来玩和测试其他可能性,看看您是否能够取得比我更好的结果:
# data
x = c(0.8846, 1.1554, 0.9317, 0.9703, 0.9053, 0.9454, 1.0146, 0.9012,
0.9055, 1.3307)
y = c(0.9828, 1.0329, 0.931, 1.3794, 0.9273, 0.9605, 1.0259, 0.9542,
0.9717, 0.9357)
ShortSci = c("MotAlb", "PruMod", "EriRub", "LusMeg", "PhoOch", "PhoPho",
"SaxRub", "TurMer", "TurPil", "TurPhi")
# basic plot
plot(x, y, asp=1)
abline(h = 1, col = "green")
abline(v = 1, col = "green")
Run Code Online (Sandbox Code Playgroud)
为了标记,我尝试了这些可能性,没有人真的很好:
1)这个很可怕:
text(x, y, labels = ShortSci, cex= 0.7, offset = 10)
Run Code Online (Sandbox Code Playgroud)
2)如果您不想为所有点放置标签,但仅针对异常值,这一点很好,但是,标签通常也是错误的:
identify(x, y, labels = …Run Code Online (Sandbox Code Playgroud) 我目前正在使用igraph,并将颜色标记为我的顶点.我想添加一个图例指示每种颜色代表什么.
我现在能想到的是使用ggplot2只打印图例并隐藏条形图.有没有办法输出传奇?
我试图找出如何在Google表格,Excel或Numbers上显示标签.
我的信息看起来像这样
name|x_val|y_val
----------------
a | 1| 1
b | 2| 4
c | 1| 2
Run Code Online (Sandbox Code Playgroud)
然后我希望我的最终图表看起来像这样.
4| .(c)
3|
2| .(b)
1| .(a)
|__ __ __ __
0 1 2 3 4
Run Code Online (Sandbox Code Playgroud)
就像为什么我不能用它的名字标记这些点?我似乎只能标记价值,例如,(c)会显示4
D3是唯一的解决方案吗?
是否有可能在PCA图上测试2个已知组之间聚类的重要性?测试它们的接近程度或扩散量(方差)以及簇之间的重叠量等.
我试图通过在R中使用ggplot来标记我的多边形.我在stackoverflow上找到了一个主题,我认为它非常接近我想要的除了点数.
我在网上找到了一些方法.现在我首先需要找到每个形状的中心位置,然后我必须将这些位置与名称放在一起.然后将其链接到geom_text()中的标注函数
因为我已经尝试了很长时间,所以我决定提出这个问题,并希望这里的某个人可以给我最终的推动力.我的绘图功能:
region_of_interest.fort <- fortify(region_of_interest, region = "score")
region_of_interest.fort$id <- as.numeric(region_of_interest.fort$id)
region_of_interest.fort$id <- region_of_interest.fort$id
region_of_interest.fort1 <- fortify(region_of_interest, region = "GM_NAAM")
region_of_interest.fort1$id <- as.character(region_of_interest.fort1$id)
region_of_interest.fort1$id <- region_of_interest.fort1$id
idList <- unique(region_of_interest.fort1$id)
centroids.df <- as.data.frame(coordinates(region_of_interest))
names(centroids.df) <- c("Longitude", "Latitude")
randomMap.df <- data.frame(id = idList, shading = runif(length(idList)), centroids.df)
ggplot(data = region_of_interest.fort, aes(x = long, y = lat, fill = id, group = group)) +
geom_polygon() +
geom_text(centroids.df, aes(label = id, x = Longitude, y = Latitude)) +
scale_fill_gradient(high = "green", …Run Code Online (Sandbox Code Playgroud) 我正在尝试在ggplot2中的特定散点图中标记各个兴趣点。我的数据以带有多列的csv文件存在。
Gene chr start stop A B C D E
APOBEC3G chr22 39472992 39483773 97.06 214.56 102.34 20.00 19.45
APOBEC3C ...
Run Code Online (Sandbox Code Playgroud)
等等等等。我正在尝试通过ggplot绘制A列对B列,并且我成功了,并且可以用相应的基因名称标记所有点。但是,如何突出显示(即颜色,大小变化)感兴趣的单个基因?(又名:如何确定我手头有10个基因的列表的数据点?或者如何在散点图上注释感兴趣的基因而又不注释所有其他点?)
我已经尝试过使用该subset函数,但是我在R的新手角色使我有些滞留。
在下面的图中,我想将标签“V-Engine”移到图边距中。调整nudge_x参数是移动“S-Engine”标签而不是“V-Engine”标签。
library(ggplot2)
library(ggrepel)
library(dplyr)
ds <-
mtcars %>%
mutate(vs = factor(vs, labels = c("V-Engine", "S-Engine"))) %>%
# Create labels for the rightmost data points
group_by(vs) %>%
mutate(
label =
case_when(
wt == max(wt) ~ as.character(vs),
TRUE ~ NA_character_
)
) %>%
ungroup()
ds %>%
ggplot(aes(x = wt, y = mpg, color = vs)) +
geom_smooth(se=FALSE) +
geom_label_repel(aes(label = label), nudge_x = 1, na.rm = TRUE) +
guides(color = FALSE) +
theme_minimal() +
theme(plot.margin = unit(c(1,3,1,1), "cm"))
Run Code Online (Sandbox Code Playgroud)
我在循环中使用 ggplot 为 200 个变量(V1、V2 等)中的每一个生成散点图。为了使散点图更清晰,我希望能够自动标记异常值。我想为每个唯一变量标记大于第 95 个百分位值的点。
我尝试使用此处的代码 - Label points in geom_point,但是,这更多的是标记异常值的手动方法。我有大约 200 个变量,无法指定每个变量的值。
同样,我能找到的最接近的解决方案来自上面的链接:county_list[i] 是我循环的变量列表
ggplot(nba, aes(x= county_list[i], y= Afd_2017, colour="green", label=Name))+
geom_point() +
geom_text(aes(label=ifelse(value_of_V[i]>24,as.character(Name),'')),hjust=0,vjust=0)
Run Code Online (Sandbox Code Playgroud)
我想要的是这样的:
ggplot(nba, aes(x= county_list[i], y= Afd_2017, colour="green", label=Name))+
geom_point() +
geom_text(aes(label=ifelse((value_of_V[i] >greater-than-
value-of-the-95-Percentile-of-the-
value_of_V[i]),as.character(Name),'')),hjust=0,vjust=0)
Run Code Online (Sandbox Code Playgroud) 你能帮我如何在我的 R 图表中添加数据标签吗
date = c(1.45,0.89,0.74,3.28)
plot(date,type = "l")
Run Code Online (Sandbox Code Playgroud)
我需要显示百分比