Значения дисплея в графике R

Шаблоны разработки определяются как следующее (из Википедии, но я считал то же в некоторой книге также)

В разработке программного обеспечения, шаблон разработки является общим допускающим повторное использование решением обычно происходящей проблемы в разработке программного обеспечения. Шаблон разработки не является законченным дизайном, который может быть преобразован непосредственно в код. Это - описание или шаблон для того, как решить проблему, которая может использоваться во многих различных ситуациях.

, Если Вы смотрите на применение шаблонов прямо от смещения, не входя в проблемную область экстенсивно, может привести к проблемам. Используйте шаблоны разработки в качестве руководства или больше в качестве подсказки/подсказки для решения проблемы. Сильно примененный шаблон разработки, конечно, не даст решение, это достаточно абстрактно. Часто замечается, что в Программном обеспечении предприятия вариант или комбинация нескольких шаблонов разработки используются.. вид гибридов. Если бы Вы говорите, что никогда не использовали шаблоны разработки тогда, Вы были бы рады знать, что что-то как цикл foreach - на самом деле interator шаблон, и можно искать для более очевидных реализаций около Вас!

13
задан omarish 19 September 2009 в 19:11
поделиться

6 ответов

b0 = 2.5; b1 = 2
n = 100
x = rnorm(n, 20, 15)
y = b0 + b1*x + rnorm(n, 0, 15)
plot(x, y)
plot(x, y, type='n')
text(x, y, round(y, 2), cex=0.45)
text(x, y, round(y, 2), cex=0.8)
text(x, y, paste(round(x, 2), round(y, 2), sep=", "), cex=0.8) # for (x, y), but this gets cluttered. 

alt text

Используйте cex для размера символа (см. Текст в справке). И используйте plot (x, y, type = 'n') , чтобы правильно настроить ваше окно, не отображая ничего.

27
ответ дан 1 December 2019 в 19:40
поделиться

Используйте текст () :

plot(1:10, 1:10) 
text(5, 5, "Foo")

и см. справку (текст) , чтобы узнать о вариантах размещения текста. Функция векторизована, поэтому вы можете также сделайте что-нибудь вроде

 text(1:10, 1:10, LETTERS[1:10])

, если у вас есть векторы текста и позиции.

5
ответ дан 1 December 2019 в 19:40
поделиться

С помощью ggplot2 вы можете добавлять как точки, так и метки. Помещение aes () в ggplot () имеет то преимущество, что этот aes () будет по умолчанию для всех геометрий. Следовательно, в этом случае вам нужно указать x и значения только один раз, но они используются как geom_point (), так и geom_text ()

Модифицированный код Иэна Феллоуза будет выглядеть так:

b0 <- 2.5
b1 <- 2
n <- 20
dat <- data.frame(x = rnorm(n, 20, 15))
dat$y <- b0 + b1*dat$x + rnorm(n, 0, 15)
dat$text <- with(dat, paste(round(x, 2), round(y, 2), sep=", "))
library(ggplot2)
ggplot(data=dat, aes(x = x, y = y, label = text)) + geom_point() + geom_text(size=4, hjust = 1, vjust = 1)
2
ответ дан 1 December 2019 в 19:40
поделиться

аналогично ответу Винса, за исключением использования ggplot2:

b0 = 2.5; b1 = 2
n = 20
x = rnorm(n, 20, 15)
y = b0 + b1*x + rnorm(n, 0, 15)
dat<-data.frame(x,y)
library(ggplot2)
ggplot(data=dat)+geom_text(aes(x=x,y=y),size=4,label=paste(round(x, 2), round(y, 2), sep=", "))

размер символа можно изменить, изменив параметр размера.

1
ответ дан 1 December 2019 в 19:40
поделиться

Может быть, это тоже поможет

# example data
dat <- data.frame(name = sample(letters[1:4],20, replace=T), x1 = rnorm(20,2), x2 = 42+x1*rnorm(20,0,2))
# plot the data
plot(dat$x1,dat$x2)
# use identify to print name for each 'dot' that you click with left mouse
identify(dat$x1,dat$x2,labels=name)
# When done identifying point, click with right mousebutton.

Мне нравится эта функция для интерактивных целей. Не знаю, как этого добиться в ggplot

0
ответ дан 1 December 2019 в 19:40
поделиться
x <- 1/3
plot(1,type="none",ann=FALSE)
## text and values only
text(mean(par("usr")[1:2]),mean(par("usr")[3:4])-par("cxy")[2]*2,
     paste("z = ",round(x,2)))
## text, values, and mathematical expressions
text(mean(par("usr")[1:2]),mean(par("usr")[3:4]),
     bquote(x^2==.(round(x,2))))
text(mean(par("usr")[1:2]),mean(par("usr")[3:4])-par("cxy")[2],
     substitute(gamma==value,list(value=round(x,2))))
0
ответ дан 1 December 2019 в 19:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: