标签: r-plotly

如何使用函数 ggplot() 和plot_ly 增加 R 中轴标签和轴标题之间的间距?

看来每当我使用包在 R 中创建图形时plotly,轴标题总是覆盖轴标签。我现在有两张发生这种情况的图表。plot_ly()我应该使用什么代码来使用和来增加轴标题和标签之间的间距ggplot()?如何确保图例在图 1 中可见并且不会被切断?

之前的 StackOverflow 问题提供了不同的代码结构方式,但它们似乎不适用于我的代码。

地块 1:

plot <- ggplot(dat, aes(x=HeightUnderCWD, y=GrassHeight))+ geom_point()+ labs(x = "Height under CWD (cm)", y = "Grass Height (cm)")+ theme(text=element_text(size=20, family="Arial"))+ stat_smooth(method = "lm",formula = y ~ x,se = FALSE, color='Darkgreen')+ stat_smooth(aes(x = HeightUnderCWD, y = 7, linetype = "Linear Fit"), method = "lm", formula = y ~ x, se = FALSE,size = 1,color='lightgreen') ggplotly(plot)

在此输入图像描述

情节2:

p<-plot_ly(y = GrassHeight+1, color = CWDPosition,type = "box",colors = "Set1")%>% …

plot r plotly r-plotly

4
推荐指数
1
解决办法
6191
查看次数

将正方形或三角形标记(不是圆形)添加到 R 绘图中

我可以在地图上绘制圆形标记,如本例所示。但我想在 add_markers 中将标记形状从圆形更改为正方形,但我在帮助(add_markers)或在线示例中找不到解决方案。我尝试添加 type=list("squares") 但不幸的是它没有改变任何东西。

require(plotly)

df<- read.csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_ebola.csv')
# restrict from June to September
df <- subset(df, Month %in% 6:9)
# ordered factor variable with month abbreviations
df$abbrev <- ordered(month.abb[df$Month], levels = month.abb[6:9])
# September totals
df9 <- subset(df, Month == 9)

p <- df %>%
  plot_geo(
    locationmode = 'country names', sizes = c(1, 600), color = I("black")
  ) %>%
  add_markers(
    y = ~Lat, x = ~Lon, locations = ~Country,
    size = ~Value, color = ~abbrev, text = ~paste(Value, "cases") …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 r-plotly

4
推荐指数
1
解决办法
6745
查看次数

Rplotly:调整 3D 散点图上的绝对标记大小

我正在 R 中使用plotly 创建 3D 散点图,我想减小所有点的标记大小。

library(plotly)
plot_ly(iris,x=~Petal.Width,y=~Sepal.Width,z=~Petal.Length) %>% 
add_markers(color=~Species)
Run Code Online (Sandbox Code Playgroud)

默认

我试图设定sizes论点,但这似乎并没有改变任何事情。

plot_ly(iris,x=~Petal.Width,y=~Sepal.Width,z=~Petal.Length) %>%
  add_markers(color=~Species,sizes=0.02)
Run Code Online (Sandbox Code Playgroud)

还尝试了另一种说法sizeref。然而,什么也没发生。

plot_ly(iris,x=~Petal.Width,y=~Sepal.Width,z=~Petal.Length) %>%
  add_markers(color=~Species,marker=list(sizeref=0.02))
Run Code Online (Sandbox Code Playgroud)

还有其他解决方案可以减小所有点的标记大小吗?或者我做错了什么?

r plotly r-plotly

4
推荐指数
1
解决办法
4525
查看次数

在R中的plotly直方图函数中自定义bin宽度

我有一个数据集,其中包含每天的日期和通话量。当我使用plotly R 包绘制它们时,除了其中 1 个之外,所有日期都将每个日期分隔到不同的容器中。然而,这一棘手的数据子集而是将数据分组为 2 天的间隔,这并不是非常有用的信息。我确信这是一个简单的修复,但我不太确定如何更改垃圾箱宽度。

a <- as.Date(c("2019-02-01", "2019-01-14", "2019-01-15", "2019-01-24", "2019-01-31", "2019-01-22","2019-01-14", "2019-01-25", "2019-02-06","2019-01-17", "2019-01-10", "2019-02-06","2019-01-15", "2019-01-17", "2019-01-28","2019-02-04", "2019-01-18","2019-01-15","2019-01-18", "2019-01-25", "2019-01-17","2019-01-30", "2019-01-25", "2019-01-23","2019-01-28", "2019-01-28", "2019-02-06","2019-02-04", "2019-01-24", "2019-01-30","2019-02-01", "2019-01-24", "2019-01-18","2019-01-22", "2019-02-06", "2019-01-17","2019-01-11", "2019-02-06", "2019-01-16","2019-01-31", "2019-02-04", "2019-01-23","2019-01-29", "2019-01-25", "2019-01-22","2019-02-05", "2019-02-01", "2019-01-28","2019-01-22", "2019-01-24", "2019-02-01","2019-01-23", "2019-01-30", "2019-02-05","2019-02-06", "2019-01-24", "2019-02-06","2019-01-30", "2019-01-28", "2019-01-16","2019-01-10", "2019-02-04", "2019-02-07","2019-02-01", "2019-02-04", "2019-01-17","2019-01-17", "2019-02-05", "2019-01-30","2019-02-04", "2019-02-01", "2019-02-01","2019-01-24", "2019-01-23", "2019-02-04","2019-02-04", "2019-01-23", "2019-02-04","2019-01-18", "2019-01-22", "2019-01-24","2019-01-17", "2019-01-22", "2019-02-06","2019-01-10", "2019-01-14", "2019-01-09","2019-02-05", "2019-01-11", "2019-01-17","2019-01-23", "2019-01-23", "2019-02-05","2019-01-11", "2019-02-04", "2019-01-28","2019-01-24", "2019-01-22", "2019-01-24","2019-01-18", "2019-01-31", "2019-02-04","2019-01-22", "2019-01-14", "2019-01-11","2019-01-11", …
Run Code Online (Sandbox Code Playgroud)

r histogram bins r-plotly

4
推荐指数
1
解决办法
1万
查看次数

带有变换和颜色映射的plot_ly

我一直在尝试使用plot_lywith transforms(最终从下拉菜单中提取数据子集)颜色映射。

以下是基于的可重现示例mtcars

transforms没有颜色映射

如果我排除颜色映射,一切都会按预期工作:

library(plotly)
library(tidyverse)

plot_ly(
    data = mtcars %>% rownames_to_column("id"),
    x = ~mpg, y = ~disp, text = ~id,
    type = "scatter", mode = "markers+text",
    marker = list(size = 10, opacity = 0.8),
    transforms = list(
        list(
            type = "filter",
            target = ~cyl,
            operation = "=",
            value = sort(unique(mtcars$cyl))[1])))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

数据会被过滤以mtcars$cyl匹配 的值sort(unique(mtcars$cyl))[1] = 4。到目前为止,一切都很好。

transforms带有颜色映射

我现在喜欢根据化油器的数量对标记进行颜色编码mtcars$carb;如果我添加颜色映射,我最终会得到

library(plotly)
library(tidyverse)

plot_ly(
    data = …
Run Code Online (Sandbox Code Playgroud)

r r-plotly

4
推荐指数
1
解决办法
1941
查看次数

如何使用管道工在网络上显示/发送 r 绘图?

我有一个绘图,我想使用 R Plumber 在其他 UI(例如角度)上显示绘图。

r plumber r-plotly

4
推荐指数
1
解决办法
1065
查看次数

更改 Plotly 动画中的“框架”标签

TLDR:我想用三个字母缩写而不是每个月的数字来标记框架滑块。

我创建了一个条形图,显示 40 年来每个月的平均积雪深度。我从 NOAA 提取数据,然后使用 lubridate 按年份和月份进行分组。这是代码:

  snow_depth <- govy_data$snwd %>%
     replace_na(list(snwd = 0)) %>%
     mutate(month_char = month(date, label = TRUE, abbr = TRUE)) %>%
     group_by(year = year(date), month = month(date), month_char) %>%
     summarise(avg_depth = mean(snwd))
Run Code Online (Sandbox Code Playgroud)

mutate 函数在数据框中创建一个列 (month_char),其中包含每个月份的三个字母缩写。此列的类是有序因子。

下面的代码显示了我如何创建图表/动画:

snow_plot <- snow_depth %>% plot_ly(
    x = ~year, 
    y = ~avg_depth, 
    color = ~avg_temp, 
    frame = ~month,
    text = ~paste('<i>Month</i>: ', month_char,
                  '<br><b>Avg. Depth</b>: ', avg_depth, 
                  '<br><b>Avg. Temp</b>: ', avg_temp),
    hoverinfo = 'text',
    type = 'bar'
  )

snow_plot
Run Code Online (Sandbox Code Playgroud)

此代码生成一个动画效果良好的绘图,如下所示: …

r plotly r-plotly

4
推荐指数
1
解决办法
1637
查看次数

手绘图ggplot。如何改进和/或格式化情节?

我有一个客户希望能够在 Rshiny 中“徒手”绘制绘图 (ggplot) 图表。我说在绘图上使用套索选择按钮,但他们不高兴的是,如果您单击图表上的其他位置,它会删除第一个套索。

通过这篇文章,我能够制作一个可以绘制的 ggplot。然而,我无法让它与情节一起工作,因为我不知道下面用户界面中的悬停选项的等效项。我希望得到一些关于如何用绘图来做到这一点,如何改进代码以使其更快,和/或如何不让它从 (1,1) 的任意值开始的输入。

可以理解的是,只有当数据完全是数字时,这才有效。如果说数据中的第一列是 c("a","b","c") 而不是像下面那样的 c(1,2,3) ,是否有办法做到这一点。

注意:第一次单击该线从 (1,1) 开始,因为 ggplot 需要一个值来绘制图表,但反应性输入需要一个图表。为了绕过这个循环,我只是将列放在 c(1,vals$x)...希望这是有道理的。

library(shiny)
library(tidyverse)
ui <- fluidPage(
  actionButton("reset", "reset"),
  plotOutput("plot",
             hover=hoverOpts(id = "hover", delay = 300, delayType = "throttle", clip = TRUE, nullOutside = TRUE),
             click="click"))


server <- function(input, output, session) {
  vals = reactiveValues(x=NULL, y=NULL)
  draw = reactiveVal(FALSE)
  observeEvent(input$click, handlerExpr = {
    temp <- draw(); draw(!temp)
    if(!draw()) {
      vals$x <- c(vals$x, NA)
      vals$y <- c(vals$y, NA)
    }})
  observeEvent(input$reset, handlerExpr …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 shiny plotly r-plotly

4
推荐指数
1
解决办法
813
查看次数

删除条形图中显示的文本

我有data.frame以下内容:

dp <- structure(list(`Demand Per Section` = c(125, 350, 100, 538, 75, 
25, 138, 138, 75, 150, 37, 225, 35, 40, 125, 25, 25, 125, 50, 
250, 88, 325, 4, 50, 6, 5, 500, 500, 3, 146, 5, 34, 15, 51, 2, 
32, 48, 18, 5, 6, 44, 16, 46, 12, 100, 750, 15, 500, 30, 333), 
    `Element Name` = c("Nitric acid (concentrated)", "Sulphuric acid(concentrated)", 
    "2-hydroxybenzoic acid", "Acetic anhydride", "2-Naphthol", 
    "Sodium Hydroxide", "Phenyl hydrazine hydrochloride", "Glucose", 
    "Sodium acetate", …
Run Code Online (Sandbox Code Playgroud)

r plotly r-plotly

4
推荐指数
1
解决办法
3016
查看次数

当数据中存在 NA 值时,如何隐藏(插值)绘图填充?(使用R)

我正在尝试绘制带有填充和 NA 值的线图。Plotly 自动用 NA 值填充我希望其为空的部分。获得正确图表的最佳方法是什么?

不能将 NA 值设置为 0。我也在使用胡佛,并且不希望将鼠标悬停在线上时得到 0 的结果。

R 数据+代码示例:

library(plotly)

set.seed(1)
A = data.frame(x = 1900:2000, value=cumsum(rnorm(101)))
A[40:70, 2:3] = NA

fig <- plot_ly(x = A$x, y = A$value, type = 'scatter', mode = 'lines', fill = 'tozeroy')
fig
Run Code Online (Sandbox Code Playgroud)

结果: 在此输入图像描述

期望的结果: 在此输入图像描述

r na plotly r-plotly

4
推荐指数
1
解决办法
687
查看次数

标签 统计

r ×10

r-plotly ×10

plotly ×6

ggplot2 ×2

bins ×1

histogram ×1

na ×1

plot ×1

plumber ×1

shiny ×1