相关疑难解决方法(0)

分组数据并绘制多条线

我想在R中为这个数据集绘制多条线:(x =年,y =值)

School_ID   Year    Value
A           1998    5
B           1998    10
C           1999    15
A           2000    7
B           2005    15
Run Code Online (Sandbox Code Playgroud)

每所学校都有不同年份的数据.我希望每所学校都有一行.

r linechart ggplot2

21
推荐指数
2
解决办法
9万
查看次数

ggplot:离散 x 轴的线图

我有下表,但经过多次尝试无法绘制数据,以便 x 轴刻度线与year. 我找到了箱线图的解决方案,但不适用于geom_line()

我怎样才能制作一年的离散标签?

以下解决方案不起作用

g + scale_x_discrete(limits=c("2013","2014","2015"))
g + scale_x_discrete(labels=c("2013","2014","2015"))
Run Code Online (Sandbox Code Playgroud)
distance_of_moves
  距离移动年
1 2.914961 2013
2 2.437516 2014
3 2.542500 2015

ggplot(data = distance_of_moves, aes(x = year, y = `distancemoved`, group = 1)) +
 geom_line(color = "red", linetype = "dashed", size = 1.5) +
 geom_point(color = "red", size = 4, shape = 21, fill = "white") + 
 ylab("平均移动距离") + 
 xlab("年") 

在此处输入图片说明

r ggplot2

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

如何根据R中的某些因素绘制稀疏(带有间隙)线及其段的颜色?

我有data.frame时间序列.其中NA还有一个因素,我想用它来突出显示一行的不同部分.

flow.mndnr <- function(id, start, end) {
  uri <- sprintf("http://maps1.dnr.state.mn.us/cgi-bin/csg.pl?mode=dump_hydro_data_as_csv&site=%s&startdate=%s&enddate=%s", id, start, end)
  dat <- read.csv(url(uri), colClasses=c(Timestamp="Date"))
  rng <- range(dat$Timestamp)
  d <- data.frame(Timestamp=seq(rng[1], rng[2], by='day'))
  merge(d, dat, all.x=TRUE)
}
dat <- flow.mndnr("28062001", as.Date("2002-04-02"), as.Date("2011-10-05"))
Run Code Online (Sandbox Code Playgroud)

我可以无条件地绘制它

library(lattice)
xyplot(Discharge..cfs. ~ Timestamp, dat, type='l', cex=0.5, auto.key=TRUE)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是当我尝试引入因素时,我无法摆脱连接线

xyplot(Discharge..cfs. ~ Timestamp, dat, type='l',
    groups=dat$Discharge..cfs..Quality, cex=0.5, auto.key=TRUE)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

与ggplot2相同

dat$quality <- dat$Discharge..cfs..Quality
ggplot(dat, aes(x=Timestamp, y=Discharge..cfs.)) +
  geom_path(aes(colour=quality)) + theme(legend.position='bottom')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我试过geom_line没有成功.我读了ggplot2邮件存档,这geom_path是要走的路.但它对我来说并不适用.

PS为什么ggplot2不喜欢名字中的点,所以我不得不使用另一个?

r ggplot2 lattice

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

R - ggplot 中连续数据的离散颜色

我正在尝试绘制一些时间连续的数据。我应用了一个简单的算法,state为数据的每一行分配一个离散数字 ( )。它看起来像这样。

time   flow    pre    state
0.0    0.0     3      1
0.2    0.01    4      1
0.4    0.10    10     2
0.6   -0.11    -2     0      # Set as NA in the example below
Run Code Online (Sandbox Code Playgroud)

现在,我想绘制例如流量(使用ggplot)并state确定颜色。问题是,如果我这样做

ggplot(data) +
  geom_line(aes(x = time, y = flow, color = state))
Run Code Online (Sandbox Code Playgroud)

该图的颜色对比度太小,无法轻松区分state。但如果我这样做

ggplot(data) +
  geom_line(aes(x = time, y = flow, color = factor(state))) +
  scale_color_manual(values = c("red", "green", "blue"))
Run Code Online (Sandbox Code Playgroud)

它将线分开,它们显示为三条不同的线。我想要的是使用连续比例,但添加一种或几种中间颜色以进行对比。目前的解决方案是这样的

ggplot(data = alg1) +
  geom_line(aes(x = time, y = flow, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

在 r 中为组的平均值创建折线图

我正在尝试使用 r 创建简单的折线图,将数据点连接到受访者组的平均值(也可以用不同的颜色标记它们或区分它们等)我的数据是长格式的,并按如下所示排序(我如果有任何价值,也可以使用宽格式):

    ID  gender  week  class  motivation
    1   male    0     1       100
    1   male    6     1       120
    1   male    10    1       130
    ...
    2   female  0     1       90
    2   female  6     1       NA
    2   female  10    1       117
    ...
    3   male    0     2       89
    3   male    6     2       112
    3   male    10    2       NA
    ...
Run Code Online (Sandbox Code Playgroud)

基本上,每个受访者总共测量了n次,并且每个人的场合(周)都相同。一些受访者在一次或多次失踪。让我们说动机。性别、阶级和 ID 等变量不会改变,动机会。我尝试使用 ggplot2 获取折线图

 ## define base for the graphs and store in object 'p'
plot <- ggplot(data = DataRlong, aes(x = week, …
Run Code Online (Sandbox Code Playgroud)

r linechart line ggplot2 trendline

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

ggplot2:使用geom_line的x轴因子不起作用

我想要一个线图,其中value绘制为expt每个级别一行的函数var:

这是我的数据:

lines <- "
expt,var,value
1,none.p,0.183065327746799
2,none.p,0.254234138384241
3,none.p,0.376477571234912
1,male.p,-1.58289835719949
2,male.p,-1.98591548366901
3,male.p,-2.02814824729229
1,neutral.p,-2.01490302054226
2,neutral.p,-1.88178562088577
3,neutral.p,-1.68089687641625
1,female.p,-3.27294304613848
2,female.p,-3.07711187982237
3,female.p,-2.89652562347054
1,both.p,-2.40011011312792
2,both.p,-2.24495598015741
3,both.p,-2.78501124223834"
con <- textConnection(lines)
data <- read.csv(con)
close(con)
Run Code Online (Sandbox Code Playgroud)

expt 是一个因素:

data$expt <- factor(data$expt)
Run Code Online (Sandbox Code Playgroud)

当我使用时,一切都按预期工作 geom_point

ggplot(data, aes(expt, value, colour=var)) + geom_point()
Run Code Online (Sandbox Code Playgroud)

但是当我用的时候 geom_line

ggplot(data, aes(expt, value, colour=var)) + geom_line()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息

geom_path: Each group consists of only one observation. Do you need to adjust the group aesthetic?
Run Code Online (Sandbox Code Playgroud)

和一个空的情节.什么时候expt是数字,它可以工作,但我更喜欢使用因子,因为这给了我在x轴上的正确标签.这有什么问题?我发现它非常违反直觉,它适用于点,但不适用于线条.

r ggplot2

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

尽管+ geom_line(),情节图中没有线

我已经阅读了文档,我认为我的代码应该是正确的,但输出中的点之间仍然没有线.怎么了?

x'轴是离散的,y轴是连续的.

我的代码

 point.sqrmPrice  <- ggplot(overview.df, aes(x = areaSize, y = sqrmPrice)) + 
      geom_line() +
      geom_point() + 
      scale_y_continuous(breaks = c(seq(min(overview.df$sqrmPrice), max(overview.df$sqrmPrice), by = 10000) )) + 
      theme_bw()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r ggplot2

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

标签 统计

ggplot2 ×7

r ×7

linechart ×2

lattice ×1

line ×1

trendline ×1