目标:
在我的图中,我希望边界和区域带的面积具有不同的颜色。该图是echarts4r使用该e_band2()函数创建的。
问题:
在文档中,我读到可以通过itemStyle函数的参数自定义区域带。borderWidth这对于我测试的所有其他选项( 、borderType、shadowBlur、 )都适用shadowColor,但不适用于borderColor. 但是,该borderColor选项似乎至少部分有效,因为图例中的符号具有所需的边框颜色,但绘图中的区域带没有。
有谁知道是否有其他方法可以更改边框颜色或者这是一个错误?

代表:
library(echarts4r)
library(dplyr)
data(EuStockMarkets)
as.data.frame(EuStockMarkets) |>
dplyr::slice_head(n = 200) |>
dplyr::mutate(day = 1:dplyr::n()) |>
e_charts(day) |>
e_band2(DAX, SMI, itemStyle = list(
borderWidth = 1,
color = "green",
borderColor = "red"
)) |>
e_y_axis(scale = TRUE)
Run Code Online (Sandbox Code Playgroud) 我正在 R Studio 中使用 Quarto 制作 Revealjs 演示文稿。我正在使用该包{echarts4r}来制作我的绘图。{echarts4r}带有默认动画。当我渲染演示文稿时,所有幻灯片的默认动画已加载。
我想在幻灯片处于活动状态时(即当幻灯片处于视图中时)运行默认的 echarts4r 动画,并在看到其他幻灯片时重置。有人可以帮我解决这个问题吗?
这是四开本演示文稿的代码。
---
title: "A Title"
subtitle: "A Subtitle"
author: "First Last"
institute: "Some Institute"
date: today
self-contained: true
format: revealjs
---
## Introduction
Hello There!
## Pie Chart
```{r}
library(tidyverse)
library(echarts4r)
data <- tibble(name = c("A", "B", "C", "D", "E", "F", "G"),
number = c(9.7, 2.1, 2.1, 1.9, 1.9, 1.9, 80.4))
data %>%
e_charts(name) %>%
e_pie(number, radius = c("50%", "70%")) %>%
e_legend(orient = "vertical", right …Run Code Online (Sandbox Code Playgroud) 我正在尝试将一些相关的悬停信息添加到 echarts4r 图的工具提示中。我想制作一个箱线图,向用户显示异常值的名称(或一些其他信息)。这与向工具提示饼图 echarts4r 添加额外变量和向工具提示饼图 echarts4r 添加额外变量有些相关,但这些解决方案不起作用,因为bind不适用于e_boxplot。
这就是我到目前为止所拥有的
library(echarts4r)
df <- data.frame(
my_name = letters[1:11],
x = c(1:10, 25),
y = c(1:10, -6)
)
df |>
e_charts() |>
e_boxplot(y, outliers = TRUE) |>
e_boxplot(x, outliers = TRUE) |>
e_tooltip(
formatter = htmlwidgets::JS("
function(params)
{
return `<strong>${params.name}</strong>
<br/>val: ${params.value[1]}
<br/>name: ${params.my_name}`
}
"))
Run Code Online (Sandbox Code Playgroud) 我早些时候在这里问过这个问题,但它被标记为重复并关闭。不幸的是,我指出的答案不起作用......
所以,再次:
我可以制作一个 eCharts4r 仪表,例如
library(echarts4r)
library(magrittr)
CA_gauge <- e_charts() %>%
e_gauge(4.1,
"INCIDENCE",
min=0,
max=20,
axisLine = list(
linestyle = list(
color=list(
c(1.5/20, "green"),
c(3/20, "yellow"),
c(1, "red")
)
))) %>%
e_title("CA")
print(CA_gauge)
Run Code Online (Sandbox Code Playgroud)
但我还没有找到将输出保存到文件以便稍后在表中使用它的好方法gt。我能找到的最好的方法是将“saveAsImage”添加到输出中
e_charts() %>%
e_gauge(4.1,
"INCIDENCE",
min=0,
max=20,
axisLine = list(
linestyle = list(
color=list(
c(1.5/20, "green"),
c(3/20, "yellow"),
c(1, "red")
)
))) %>%
e_toolbox_feature(feature = c("saveAsImage"))
Run Code Online (Sandbox Code Playgroud)
这会在 RStudio 查看器的右上角添加一个“另存为”按钮
但我真正想做的只是将代码中的图像(显然没有动画)保存到 tiff/jpg/png 图像文件中。我每周为一个工作项目制作大约十几个这样的文件,所以我一直手动保存这些文件。但它们很受欢迎,老板想要一个包含 75 个以上的新版本。
我尝试使用标准设备,例如
tiff(paste("CA_gauge.tif",sep=""),
res=600, compression = "lzw", height=5, width=15, units="in") …Run Code Online (Sandbox Code Playgroud) 我想用来echarts4r绘制一个条形图,其中截止值以上的值涂为绿色,低于红色,并且条形从该值开始。如果截止值为 0,我们可以使用此处提供的答案,对于其他值(例如下面示例中的 1),这效果不佳,因为条形始终从零开始。有没有办法让栏从其他值开始?
请参阅下面的 MWE:
library(echarts4r)
set.seed(1)
df <- data.frame(
x = 1:10,
y = 1 + cumsum(rnorm(10, 0, 0.1))
)
df %>%
e_charts(x) %>%
e_bar(y) %>%
e_visual_map(
type = "piecewise",
pieces = list(
list(
gt = 1,
color = "green"
),
list(
lte = 1,
color = "red"
)
)
)
Run Code Online (Sandbox Code Playgroud)
使用ggplot2我会这样做
library(ggplot2)
CUTOFF <- 1
df$color <- ifelse(df$y > CUTOFF, "green", "red")
ggplot(df, aes(xmin = x - 0.5, xmax = x + …Run Code Online (Sandbox Code Playgroud) 我正在开发一个提供销售业绩的仪表板。我正在使用echarts4r,并部署在shinyapps.io的云中
datafpytd[datafpytd$NIK==input$NIK,] %>%
e_charts(Month) %>%
e_bar(serie = GAP_Revenue, name = "Gap Revenue YTD") %>%
e_color(ifelse(datafpytd[datafpytd$NIK==input$NIK,]$GAP_Revenue>0,"green","red"))
Run Code Online (Sandbox Code Playgroud)
如何使条形图的颜色根据其值而不同,如果大于0,则颜色应为绿色,否则应为红色?
这是示例数据:
structure(list(Index = c(1L, 1L, 1L, 1L, 1L, 1L), Group = structure(c(1L,
1L, 1L, 1L, 1L, 1L), .Label = "Major Accounts", class = "factor"),
Div = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "Financial Institution", class = "factor"),
Dept = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "-", class = "factor"),
Name = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label …Run Code Online (Sandbox Code Playgroud) 如何更改使用 e_mark_line 生成的线的标签?这是我的尝试,我希望它有自己的标签,而不是显示数字 200。
library(echarts4r)
library(tidyverse)
line <- list(
xAxis = 200
, name = "label 1"
)
USArrests %>%
e_charts(Assault) %>%
e_scatter(Murder, Rape) %>%
e_mark_line(data = line, symbol = "none", name = "label 2")
Run Code Online (Sandbox Code Playgroud)