相关疑难解决方法(0)

在geom_point中标记点

我正在玩的数据来自下面列出的互联网资源

nba <- read.csv("http://datasets.flowingdata.com/ppg2008.csv", sep=",")
Run Code Online (Sandbox Code Playgroud)

我想要做的是创建一个2D点图,比较该表中的两个指标,每个玩家在图上表示一个点.我有以下代码:

nbaplot <- ggplot(nba, aes(x= MIN, y= PTS, colour="green", label=Name)) + 
                  geom_point() 
Run Code Online (Sandbox Code Playgroud)

这给了我以下内容:

NBA情节

我想要的是一个玩家名字的标签就在点旁边.我认为ggplot美学中的标签功能会为我做这个,但事实并非如此.

我也尝试过text()函数和textxy()函数library(calibrate),它们似乎都不适用于ggplot.

如何为这些点添加名称标签?

plot r ggplot2 labeling ggrepel

153
推荐指数
3
解决办法
23万
查看次数

如何在此散点图中标记点?

你能帮我把标签贴在下图上吗?

http://img849.imageshack.us/img849/7594/snap1034.png

我使用的代码是:

valbanks<-scan("banks.txt", what=list(0,0,""), sep="", skip=1, comment.char="#")
valbanks

valj2007<-valbanks[[1]]
valj2009<-valbanks[[2]]
namebank<-valbanks[[3]]

percent_losses<-(valj2009-valj2007)/valj2007
percent_losses

abs_losses<-(valj2007-valj2009)
abs_losses

plot(abs_losses, percent_losses,main="Absolute Losses vs. Relative Losses(in%)",xlab="Losses (absolute, in miles of millions)",ylab="Losses relative (in % of January´2007 value",col="blue", pch = 19, cex = 1, lty = "solid", lwd = 2,text(percet_losses, abs_losses,namebank))

text(percet_losses, abs_losses,labels=namebank, cex= 0.7, offset = 10)
Run Code Online (Sandbox Code Playgroud)

而数据是:

Value_Jan_2007  Value_Jan_2009  Bank    #
49  16  Morgan_Stanley
120 4.6 RBS
76  10.3    Deutsche_Bank
67  17  Credit_Agricole
80  26  Societé_Generale
91  7.4 Barclays
108 32.5    BNP-Paribas
93  26 …
Run Code Online (Sandbox Code Playgroud)

label r point scatter-plot

50
推荐指数
1
解决办法
16万
查看次数

如何抖动文本以避免ggplot2散点图中的重叠?

我想在ggplot2中创建一个干净版本的文本标签散点图.目标是直观地表示与约25个项目相关联的增加值.我已经在使用"position_jitter"了,但我想知道我能不能做得更好.

这是一些模拟数据:

title <- rep("A Really Rather Long Text Label", 25)
value <- runif(25, 1,10)
spacing <- seq(1:25)
df <- data.frame(title, value, spacing, stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)

以下是生成图表的代码:

library(ggplot2)
myplot <- ggplot(data=df, aes(x=spacing, y=value, label = title)) +
geom_text(aes(colour = value),
    size = 2.5, fontface = "bold",
    vjust = 0,
    position = position_jitter(width=5, height=0)) +
theme_bw() +
scale_x_continuous(limits = c(-5, 30))+
scale_colour_gradient(low = "#6BAED6", high = "#08306B") +
theme(axis.title.x = element_blank(),
      axis.ticks = element_blank(),
      axis.text.x = element_blank(),
      legend.position = "none")
myplot …
Run Code Online (Sandbox Code Playgroud)

position r scatter-plot ggplot2

35
推荐指数
1
解决办法
2万
查看次数

找到绘制文本的边界框

我想在一个情节上抖动文字,以避免过度绘图.为此,我假设我需要一个围绕文本组件的边界框.有没有办法得到这个?

例如,在基本图形中:

plot.new()
text(.5,.5,"word")
text(.6,.5,"word") #does this overlap?
Run Code Online (Sandbox Code Playgroud)

在网格中有一种方法可以删除重叠的文本,但我似乎无法找到一种方法来访问代码,如果发生了重叠,则会发现这些代码.

grid.text(c("word","other word"),c(.5,.6),c(.5,.5),check=T)
Run Code Online (Sandbox Code Playgroud)

r

13
推荐指数
1
解决办法
1502
查看次数

R中的Boxplot异常值标记

我想在R中绘制箱图并为异常值添加名称.到目前为止,我发现了这个解决方案.

那里的功能提供了我需要的所有功能,但它不正确地标记标签.在以下示例中,它将异常值标记为"u"而不是"o":

library(plyr)
library(TeachingDemos)
source("http://www.r-statistics.com/wp-content/uploads/2011/01/boxplot-with-outlier-label-r.txt") # Load the function
set.seed(1500)
y <- rnorm(20)
x1 <- sample(letters[1:2], 20,T)
lab_y <- sample(letters, 20)
# plot a boxplot with interactions:
boxplot.with.outlier.label(y~x1, lab_y)
Run Code Online (Sandbox Code Playgroud)

你知道任何解决方案吗?ggplot2库非常好,但没有提供这样的功能(据我所知).我的替代方法是使用text()函数并从boxplot对象中提取异常值信息.但是,像这样标签可能会重叠.

非常感谢 :-)

r

5
推荐指数
1
解决办法
5290
查看次数

使用geom_text在geom_point上组织文本

我有一个线图,其中一些时间点难以通过单独的颜色来区分,因此我想在图上标记时间点,但标签重叠(见下图),其中难以阅读标签.

情节目前看起来像这样,

目前的情节

我想知道是否有办法"堆叠"标签或某种方式(脚本),以确保它们不重叠.像这样的东西,

 -   - >

任何帮助,将不胜感激.

这是我用来制作情节的代码,

 require(ggplot2)
 require(plyr)
 require(reshape)

# create sample data
set.seed(666)
dfn <- data.frame(
Referral  = seq(as.Date("2007-01-15"), len= 26, by="23 day"),
VISIT01  = seq(as.Date("2008-06-15"), len= 24, by="15 day")[sample(30, 26)],
VISIT02  = seq(as.Date("2008-12-15"), len= 24, by="15 day")[sample(30, 26)],
VISIT03  = seq(as.Date("2009-01-01"), len= 24, by="15 day")[sample(30, 26)],
VISIT04  = seq(as.Date("2009-03-30"), len= 24, by="60 day")[sample(30, 26)],
VISIT05  = seq(as.Date("2010-11-30"), len= 24, by="6 day")[sample(30, 26)],
VISIT06  = seq(as.Date("2011-01-30"), len= 24, by="6 day")[sample(30, 26)],
Discharge = seq(as.Date("2012-03-30"), len= 24, by="30 day")[sample(30, 26)], …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

5
推荐指数
1
解决办法
2143
查看次数

从Label中绘制线到R中的点

我目前正在尝试生成一个自动脚本来创建标记的折线图.此线图将具有1个或更多个最大值,如果它们高于某个阈值,则必须标记.目前我可以标记最大值.

https://drive.google.com/file/d/0B50V8cCfhJDQWF94SG85NXVZY1k/view?usp=sharing

为此,我在校准包中使用textxy()

然而,当出现多个峰值时,事情会变得更复杂

https://drive.google.com/file/d/0B50V8cCfhJDQUmF5VERhUV8zNmc/view?usp=sharing

很快就会很难看到标签的分配位置.所以我想要的是从标签到峰顶(或下面)的一条线.

我今天整天环顾四周,没有运气.我尝试了R智能点标签放置的所有内容

wordcloud,但不幸的是,它不允许你偏移标签,如果你只有一个标签就会失败.

识别,太慢了.我需要能够自动执行此操作,以便每天拍摄数千张图像.

pointLabel,thigmophobe.labels都没有工作,因为他们没有划线,我也没有处理很多标签.

我还尝试在标签和点之间手动绘制箭头,但这非常耗时.

有谁知道任何包或简单的方法来做到这一点?这不可能自动化吗?

谢谢!卡梅伦

r lines labels

5
推荐指数
1
解决办法
476
查看次数

每组geom_text位置

我正在使用geom_line,geom_pointgeom_text绘制如下图所示的内容:

在此输入图像描述

我正在分组,并为我的数据框着色,但我希望geom_text不要彼此如此接近.我想把一个文本放在最上面,另一个放在底部.或者至少,隐藏两者中的一个.有什么方法可以做到这一点吗?

r ggplot2

1
推荐指数
1
解决办法
1610
查看次数

如何在 R 中复制绘图

你能帮我如何在我的 R 图表中添加数据标签吗

date = c(1.45,0.89,0.74,3.28)
plot(date,type = "l")
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我需要显示百分比

我怎样才能做到这一点

plot r

0
推荐指数
1
解决办法
35
查看次数

标签 统计

r ×9

ggplot2 ×4

plot ×2

scatter-plot ×2

ggrepel ×1

label ×1

labeling ×1

labels ×1

lines ×1

point ×1

position ×1