在R的电子图表中将x轴移动到零线下方

zxlwwiss  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(123)

我用电子图表绘制了一个r的交互图。y轴为负值,导致水平x轴在零处绘制。如何将这条线移到底部(值为-100)?其次,如何在x轴上显示所有日期值(最好是天)(如下面的ggplot示例所示)

####################
# interactive plot #
####################

library(tidyverse)
library(lubridate)
library(echarts4r)

birthdate <-  ymd("1980-04-20")

timeline <- seq(ymd(Sys.Date()-14), (ymd(Sys.Date()+14)), by = "days")

t <- as.numeric(timeline - birthdate)

physical <-  sin(2*pi*t/23)*100

emotional <-  sin(2*pi*t/28)*100

intellectual <-  sin(2*pi*t/33)*100

df <- tibble(timeline,t, physical, emotional, intellectual)  

df <- df |> pivot_longer(cols = c('physical', 'emotional', 'intellectual'),
                         names_to = 'biorhythms',
                         values_to = 'value')

df$biorhythms <- as.factor(df$biorhythms)

# view data tibble
df

# interactive plot
df |> dplyr::group_by(biorhythms) %>% 
  e_charts(x = timeline) |> 
  e_line(value) |>
  e_format_y_axis(suffix = "%") |>
  e_mark_line(data = list(xAxis = Sys.Date()), title = "Today", symbol = 'none') |>
  e_title("Biorhythm Pseudo-Science") |>
  e_tooltip() |> 
  e_theme("dark-digerati")
anauzrmj

anauzrmj1#

关于第一个问题,只需将e_x_axis(axisLine = list(onZero = FALSE)) |>添加到代码中:

# interactive plot
df |> dplyr::group_by(biorhythms) %>% 
  e_charts(x = timeline) |> 
  e_line(value) |>
  e_x_axis(axisLine = list(onZero = FALSE)) |>
  e_format_y_axis(suffix = "%") |>
  e_mark_line(data = list(xAxis = Sys.Date()), title = "Today", symbol = 'none') |>
  e_title("Biorhythm Pseudo-Science") |>
  e_tooltip() |> 
  e_theme("dark-digerati")

关于你的第二个问题,这些数字实际上不是天吗?我认为最好为这一个增加一个新的问题,并尝试显示/解释你想要作为一个输出。谢谢!

相关问题