我似乎不知道如何更改使用metricsgraphics包创建的直方图的颜色。我已经构建了一个功能强大的Shiny应用程序,它使用以下代码渲染直方图:
mjs_plot(zedata()$Value, format="count") %>%
mjs_histogram(bins = 10) %>%
mjs_labs(x=input$item, y="Number of VA Medical Centers")
我添加了color="#d7191c"mjs_plot和mjs_histogram,但都没有用——我在这两种情况下都得到了一个未使用的参数错误。我在hrbrmstr的信息页面上找不到任何内容http://hrbrmstr.github.io/metricsgraphics/我在帮助手册中也找不到任何东西。除了直方图之外,似乎对每种图形类型都解释了使用颜色选项。
我不擅长html/javascript,也不知道还能尝试什么。。。
您必须修改与直方图矩形对应的类的CSS(在原始CSS中查找类的名称)。
一个简单的方法是将以下代码添加到UI
定义中:
tags$head(
tags$style(HTML("
.mg-histogram .mg-bar rect {
fill: <your_color>;
shape-rendering: auto;
}
.mg-histogram .mg-bar rect.active {
fill: <another_color>;
}")))
还有其他方法可以添加自定义CSS,请参阅此处。
下面是一个完整的例子:
n <- 5
library(metricsgraphics)
library(shiny)
# Define the UI
ui <- bootstrapPage(
tags$head(
tags$style(HTML("
.mg-histogram .mg-bar rect {
fill: #ff00ff;
shape-rendering: auto;
}
.mg-histogram .mg-bar rect.active {
fill: #00f0f0;
}"))),
numericInput('n', 'Number of obs', n),
metricsgraphicsOutput('plot')
)
server <- function(input, output) {
output$plot <- renderMetricsgraphics({
mjs_plot(mtcars$mpg, format="count") %>%
mjs_histogram(bins = input$n)
})
}
shinyApp(ui = ui, server = server)