这是一个非常新的问题,但我说有这样的数据:
test_data <-
data.frame(
var0 = 100 + c(0, cumsum(runif(49, -20, 20))),
var1 = 150 + c(0, cumsum(runif(49, -10, 10))),
date = seq(as.Date("2002-01-01"), by="1 month", length.out=100)
)
Run Code Online (Sandbox Code Playgroud)
如何在x轴上使用?绘制时间序列var0和var1同一图表?奖励积分,如果你做和不同的颜色,并且可以包括一个传奇!dateggplot2var0var1
我确信这很简单,但我找不到任何例子.
将我data.frame从宽表转换为长表时遇到一些麻烦.目前它看起来像这样:
Code Country 1950 1951 1952 1953 1954
AFG Afghanistan 20,249 21,352 22,532 23,557 24,555
ALB Albania 8,097 8,986 10,058 11,123 12,246
Run Code Online (Sandbox Code Playgroud)
现在我想把它data.frame变成一个长期的data.frame.像这样的东西:
Code Country Year Value
AFG Afghanistan 1950 20,249
AFG Afghanistan 1951 21,352
AFG Afghanistan 1952 22,532
AFG Afghanistan 1953 23,557
AFG Afghanistan 1954 24,555
ALB Albania 1950 8,097
ALB Albania 1951 8,986
ALB Albania 1952 10,058
ALB Albania 1953 11,123
ALB Albania 1954 12,246
Run Code Online (Sandbox Code Playgroud)
我已经看过并尝试了它melt()的reshape()功能,因为有些人提出了类似的问题.但是,到目前为止我只得到凌乱的结果.
如果有可能我想用这个reshape() …
为什么R与函数中的add参数不一致plot()?它有时会起作用,有时却不起作用!在这个例子中,它使参数add=TRUE没有问题:
plot(0:10, 0:10*3)
plot(identity, add=TRUE, xlim=c(0,10))
plot(function (x) { sin(x)*10 }, add=TRUE, xlim=c(0,10))
Run Code Online (Sandbox Code Playgroud)
但是当我发出
plot(c(2, 3, 4), c(20,10,15), add=TRUE, pch="A")
Run Code Online (Sandbox Code Playgroud)
它不起作用!! 它说"添加"不是图形参数.
请不要写我应该使用的points().我知道我可以用它.我想了解R的奇怪行为 - 为什么它有时有效,有时不行?
绘制与给定函数对应的曲线的方法是:
fun1 <- function(x) sin(cos(x)*exp(-x/2))
plot (fun1, -8, 5)
Run Code Online (Sandbox Code Playgroud)
如何在同一个图中添加另一个函数的曲线(例如fun2,也由其数学公式定义)?
我想在一个图上绘制两个图.我读了这篇文章,但功能lines不起作用,没有任何反应.我不知道会出现什么问题.有任何想法吗?
编辑.可重复的例子:
> tr_error
[1] 0.2314984 0.2314990 0.2314981 0.2314955 0.2314955 0.2314943 0.2314912
[8] 0.2314924
> tst_error
[1] 0.001461264 0.001461767 0.001461001 0.001459936 0.001459626 0.001458594
[7] 0.001457719 0.001458288
> plot(tst_error, type='l')
> lines(tr_error, type='l', col='red')
Run Code Online (Sandbox Code Playgroud)
也许有第二个情节,但它更高?
在这个问题中使用ggplot的解决方案对我的数据非常有效.但是,我试图添加一个传奇,我尝试的一切都不起作用......
例如,在上面问题的ggplot示例中,如何添加图例以显示红色曲线与"Ocean"相关,绿色曲线与"Soil"相关?是的,我想添加我将定义的文本,它与我的data.frame中的任何其他变量无关.
以下示例是我自己的一些数据......
Rate Probability Stats
1.0e-04 1e-04 891.15
1.0e-05 1e-04 690
...
Run Code Online (Sandbox Code Playgroud)
等(大约400行).我有两个类似于上面的数据帧.所以我的代码是
g <- ggplot(Master1MY, aes(Probability))
g <- g + geom_point(aes(y=Master1MY$Stats), colour="red", size=1)
g <- g + geom_point(aes(y=Transposon1MY$Stats), colour="blue", size=1)
g + labs(title= "10,000bp and 1MY", x = "Probability", y = "Stats")
Run Code Online (Sandbox Code Playgroud)
情节看起来像
我只想要一个红色和蓝色的传说,说"大师"和"转座子"
谢谢!
我有一个可以这样定义的数据集:
Week <- c("2015_52", "2016_01", "2016_02", "2016_03", "2016_04")
y1 <- runif(5, 0, 1)
y2 <- runif(5, 0, 1)
y3 <- runif(5, 0, 1)
df <- data.frame(Week, y1, y2, y3)
Run Code Online (Sandbox Code Playgroud)
我想在同一个 ggplot 上绘制所有三个 y 随着时间的推移(每个都有手动颜色和线型),但我是 ggplot 新手,以前不需要这样做。尝试模拟 StackOverflow 上类似问题的答案会导致错误。
例如...
library(ggplot2)
ggplot(df, aes(x = Week, y = value, colour = variable)) +
geom_line()
Run Code Online (Sandbox Code Playgroud)
...正如在这个问题中给出的错误Error in eval(expr, envir, enclos) : object 'value' not found。
但尝试回答这个问题......
ggplot() +
geom_line(data = df,
aes(x = Week, y = y1, …Run Code Online (Sandbox Code Playgroud) 我正在使用 R 编程语言。我正在尝试学习如何在图表上叠加点,然后将它们可视化。
使用以下代码,我可以生成一些时间序列数据,按月聚合它们,取平均值/最小值/最大值,并绘制以下图表:
library(xts)
library(ggplot2)
library(dplyr)
library(plotly)
library(lubridate)
set.seed(123)
#time series 1
date_decision_made = seq(as.Date("2014/1/1"), as.Date("2016/1/1"),by="day")
property_damages_in_dollars <- rnorm(731,100,10)
final_data <- data.frame(date_decision_made, property_damages_in_dollars)
#####aggregate
final_data$year_month <- format(as.Date(final_data$date_decision_made), "%Y-%m")
final_data$year_month <- as.factor(final_data$year_month)
f = final_data %>% group_by (year_month) %>% summarise(max_value = max(property_damages_in_dollars), mean_value = mean(property_damages_in_dollars), min_value = min(property_damages_in_dollars))
####plot####
fig <- plot_ly(f, x = ~year_month, y = ~max_value, type = 'scatter', mode = 'lines',
line = list(color = 'transparent'),
showlegend = FALSE, name = 'max_value')
fig <- fig %>% add_trace(y …Run Code Online (Sandbox Code Playgroud)