首页 > 解决方案 > R Plotly - 设置高度时图表顶部和底部的大量未使用空间

问题描述

我正在尝试在 y 轴上创建一个带有分类数据的散点图,以便可以通过向下滚动来查看数据。

为了实现这一点,我将刻度类型设置为“类别”,并将其模式设置为“线性”,并手动设置高度以留出足够的空间来显示每个标签。然而,这让我在情节的顶部和底部留下了很大的空白

这是一个例子:

testdata <- data.frame(a = sample(0:500),b = 0:500)

plot_ly(testdata,
        type = 'scatter',
        mode = 'markers',
        x = ~a,
        y = ~b,
        height = 5000
        ) %>% 
  layout(
    margin = list(
      l = 50,
      r = 50,
      b = 100,
      t = 1,
      pad = 1
    ),
    yaxis = list(
      type = 'category',
      tickmode = 'linear',
      dtick = 1
    )
  )

在顶部和底部显示大空白区域的绘图图像

我试过玩填充和边距但没有运气。设置较低的高度只会导致稍小的空白区域,而不包括所有 y 标签。

理想的结果是上下空白区域更小,并且所有 y 轴标签都显示出来。

标签: rplotlyr-plotly

解决方案


您可以简单地设置 y 轴范围:

library(plotly)

testdata <- data.frame(a = sample(0:500),b = 0:500)

plot_ly(testdata,
        type = 'scatter',
        mode = 'markers',
        x = ~a,
        y = ~b,
        height = 5000
) %>% 
  layout(
    margin = list(
      l = 50,
      r = 50,
      b = 100,
      t = 1,
      pad = 1
    ),
    yaxis = list(
      type = 'category',
      tickmode = 'linear',
      dtick = 1,
      range = c(min(testdata$b)-1, max(testdata$b)+1)
    )
  )

推荐阅读