簡體   English   中英

如何在 R 中查看日期 plot3D 而不是 5 位整數

[英]How can I see dates plot3D in R instead of 5 - digit integers

我使用library(rgl) package 在 R-studio 中制作 3d 繪圖。 如圖所示,幾乎所有看起來都不錯

在此處輸入圖像描述

日期格式除外。 無論我嘗試做什么,它都不會顯示日期來代替整數。 這是我用來生成圖的代碼:

 # Plot
Date <- as.Date(df$Date)

df["Color"] <- NA 
mycolors <- c('royalblue')
df$Color <- mycolors

par(mar=c(0,0,0,0))
plot3d(
  x = Date, y = C, z = L,
  col = df$Color,
  type = 'p',
  size = 2,
  xlab="Date", ylab="C", zlab="L")
filename <- writeWebGL(dir = file.path(folder, coln),
                       width=600, height=600, reuse = TRUE)

我嘗試了一些方法來獲取軸上的日期,例如:

Date1 = as.character(df$Date)
Date = as.Date(Date1, format = "%Y%m%d")
Date = format(as.Date(df$Date, origin="1970-01-01"))
Date <- seq(as.Date("2016-02-29", format = "%Y-%m-%d"), by ="days", length = length(df$Date), origin = "1970-01-01")

但沒有任何效果。 我總是得到代表日期的整數,例如

as.Date(17000, "1970-01-01")
1 《2016-07-18》

誰能知道如何解決這個問題? 我將不勝感激。

rgl package 不使用與基本圖形相同的格式化函數,因此您需要自己格式化值。 例如,

df <- data.frame(Date = seq(as.Date("2016-02-29"), as.Date("2019-01-01"), length=100),
                 y = rnorm(100),
                 z = rnorm(100))
library(rgl)
plot3d(df, axes = FALSE)
ticks <- pretty(df$Date, 3)
labels <- format(ticks, format = "%Y-%m")
axis3d("x", at = ticks, labels = labels) # Custom on x axis
axes3d(c("y", "z"))                      # Defaults on other axes 
box3d()

代表 package (v0.3.0) 於 2021 年 3 月 5 日創建

截屏

pretty()的結果可能會超出數據范圍,因此您可能希望減少它,或更改xlim以避免軸超出范圍,如2016-01的這張圖片。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM