R - 强制绘制缺失值

标签 r plotly

我想绘制多个图,所有图都具有相同的 X 轴。

其中一个图在开始时有一些缺失值(根据定义,就像移动平均数据一样)。

为了可比性,我希望所有绘图的 X 轴起点都相同。

这是一个可重复的示例 -

library(plotly)
plotdata <- data.frame(Month=as.POSIXct(c(1309435200, 1312113600, 1314792000, 1317380400, 1320058800, 
                                     1322650800, 1325329200, 1328007600, 1330513200, 1333191600, 1335787200, 
                                     1338465600, 1341057600, 1343736000, 1346414400, 1349002800, 1351681200, 
                                     1354273200, 1356951600, 1359630000, 1362049200, 1364727600, 1367323200, 
                                     1370001600, 1372593600, 1375272000, 1377950400, 1380538800, 1383217200, 
                                     1385809200, 1388487600, 1391166000, 1393585200, 1396263600, 1398859200, 
                                     1401537600, 1404129600, 1406808000, 1409486400, 1412074800, 1414753200, 
                                     1417345200, 1420023600, 1422702000, 1425121200, 1427799600, 1430395200, 
                                     1433073600, 1435665600, 1438344000, 1441022400, 1443610800, 1446289200, 
                                     1448881200, 1451559600, 1454238000, 1456743600, 1459422000, 1462017600, 
                                     1464696000, 1467288000, 1469966400, 1472644800, 1475233200, 1477911600, 
                                     1480503600, 1483182000, 1485860400, 1488279600, 1490958000, 1493553600
), origin='1970-01-01'), Value=c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.02, 0.05, 
                                     0.06, 0.04, 0.06, 0.06, 0.03, 0.04, 0.07, 0.03, 0.08, 0.05, 0.08, 
                                     0.09, 0.06, 0.05, 0.04, 0.08, 0.1, 0.07, 0.01, 0.11, 0.07, 0.04, 
                                     0.05, 0.05, 0.03, 0.05, 0.04, 0.02, 0.02, 0.05, 0.1, 0.01, 0.03, 
                                     0.03, 0.05, 0.03, 0.05, 0.05, 0.05, 0.08, 0.08, 0.1, 0.07, 0.07, 
                                     0.06, 0.08, 0.11, 0.06, 0.08, 0.07, 0.08, 0.08, 0.08, 0.03, 0.02, 
                                     0.13, 0.07))

现在,我不能强制包含前 12 个点,因为它们是 NA

文档建议使用 tickvals、ticktext。但这似乎不起作用。也不会试图强制 X 轴从 2011-07-01(第一个月)开始。这是我尝试过的-
plot_ly(plotdata, x=~Month, y=~Value, type='scatter', mode='lines') %>% layout(xaxis=list(tickmode='array', ticktext=plotdata$Time, tickvals=plotdata$Time))
plot_ly(plotdata, x=~Month, y=~Value, type='scatter', mode='lines') %>% layout(xaxis=list(tick0='2011-07-01', dtick='M12'))

两个图都生成了从 2012 年 7 月开始的 X 轴,而不是我想要的 2011 年 7 月。

我应该如何强制执行所需的行为?谢谢!

附言我不想将 Month 列转换为因子/字符,以便我可以在布局中使用日期格式选项。

最佳答案

您可以通过设置范围来做到这一点:

plot_ly(plotdata, x=~Month, y=~Value, type='scatter', mode='lines') %>%
  layout(xaxis=list(range = c(min(plotdata$Month),max(plotdata$Month))))

enter image description here

希望这可以帮助!

关于R - 强制绘制缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45497478/

相关文章:

r - countif 像 r 中的 excel 函数

删除ggplot2中geom_boxplot中的边框

r - plotly() 中的色阶

Python - 绘制周分布

r - 基于现有数据帧为 read_csv 创建 col_types 字符串规范

r - 如何仅以一个pdf保存ggforce::facet_grid_paginate的输出?

python - 这个例子 Plotly 散点图不起作用,你能告诉我为什么吗?

python - 使用 Plotly Dash 进行服务器端缓存

R 包设计 : how to export internal functions to a cluster

r - 使用 tidy 时防止数字格式化