我试图在今年发表在Nature上的一篇文章中对图2d-f进行类似的绘图.它基本上是一个半箱图,另一半有点.
任何人都可以给我一些提示吗?非常感谢你!
这些是我的数据和代码,它们生成带有内部点的完整框
require(magrittr)
require(tidyverse)
dat <- structure(list(p1 = c(0.0854261831077604, 0.408418657218253,
0.577793646477315, 0.578028229977424, 0.48933166218204, 0.53117814324334,
0.526653494462464, 0.00687616283435221, 0.444300425796509, 0.00287319455358522,
0.949821402532831, 0.96832469523368, 0.953281969982759, 0.360125244759434,
0.407921095422844, 0.885776732104954, 0.159882184516691, 0.911094990767761,
0.0444367172734037, 0.144888951725151, 0.508858686640707, 0.694913731085945,
0.117270366119258, 0.78227546070467, 0.980457304886186, 0.711464034564424,
0.753944466390685, 0.0474210438747038, 0.00344183466223558, 0.0290017465534545,
0.75092385236303, 0.868873921257987, 0.744396990487425, 0.0140007244233847,
0.0332266395043963, 0.482897084793009, 0.0535516646483004, 0.452926358923891,
0.0144057727301603, 0.171918034525543), p2 = c(0.101262675229211,
0.196913109208586, 0.37814311161382, 0.0677625689405156, 0.12517090579686,
0.409083554335168, 0.158886941347288, 0.847394861862651, 0.180560031076741,
0.967122694294885, 0.000901627067665116, 0.00039495110143705,
9.70707318411806e-05, 0.546200038486894, 0.435475454787648, 5.95555269800323e-06,
0.0178837768834925, 8.42690065415846e-06, 0.00777059697751842,
0.0020397073541544, 0.486699073016371, 0.283679673247571, 0.857183359146641,
0.200712003853458, 0.0164911141652784, …Run Code Online (Sandbox Code Playgroud) 你好!有没有办法对图表进行索引以在特定点开始和结束(可能不符合数字顺序)?
我有从 10 月 1 日开始到次年 9 月 31 日结束的数据。该系列在过去的几年中重复出现,我想建立一个每日季节性图表。挑战在于X轴不是从低到高,它是10-11-12-1-2-3-4-5-6-7-8-9。
问题一:
您可以按月份 10-11-12-1-2-3-4-5-6-7-8-9 订购索引吗?同时,与 %m-%d 格式兼容,因为真正的问题是每日格式,但为了简洁起见,我只使用了几个月。
结果应该是这样的...抱歉我不得不使用 Excel...
问题2:
我们可以删除连接的图表线吗?或者问题 1 的解决方案会自然地解决问题 2 吗?下面尝试中的示例。
问题3:
解决方案的最终格式是否允许采用移动平均值或初始数据的其他突变?尝试 #2 中的表将允许按年取每月的平均值。由于 7 月 17 日是 6,7 月 18 日是 12,因此我们将在图表中绘制 9 等整个图。
问题4:
有没有和XTS等价的解决这个问题的?
谢谢你,谢谢你,谢谢你!
library(ggplot2)
library(plotly)
library(tidyr)
library(reshape2)
Date <- seq(as.Date("2016-10-1"), as.Date("2018-09-01"), by="month")
values <- c(2,3,4,3,4,5,6,4,5,6,7,8,9,10,8,9,10,11,12,13,11,12,13,14)
YearEnd <-c(2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,
2018,2018,2018,2018,2018,2018,2018,2018,2018,2018,2018,2018)
df <- data.frame(Date,values,YearEnd)
## PLOT THE TIMESERIES
plot_ly(df, x = ~Date, y = ~values, type = "scatter", mode = "lines")
Run Code Online (Sandbox Code Playgroud)
## PLOT THE …Run Code Online (Sandbox Code Playgroud)