R根据y-max的不同,高租赁利润率会变得很奇怪

R根据y-max的不同,高租赁利润率会变得很奇怪,r,graph,highcharts,margin,r-highcharter,R,Graph,Highcharts,Margin,R Highcharter,当我将y-max设置为大于500时,我在右侧获得了巨大的利润,但当ymax小于500时,它看起来很好 见下文MWE: library(highcharter) library(data.table) tmp.df.agg <- data.table(ContractName_interval = factor(c("Republican1", "Republican2",

当我将y-max设置为大于500时,我在右侧获得了巨大的利润,但当ymax小于500时,它看起来很好

见下文MWE:

library(highcharter)
library(data.table)

tmp.df.agg <- data.table(ContractName_interval = factor(c("Republican1",
                                                          "Republican2",
                                                          "Republican3",
                                                          "No Market1",
                                                          "Democratic3",
                                                          "Democratic2",
                                                          "Democratic1")),
                         votes = c(15,73,38,337,9,56,10),
                         color = c("#9f0000",
                                   "#cf0000",
                                   "#f9adad",
                                   "#d3d3d3",
                                   "#b5cacf",
                                   "#81b5c0",
                                   "#578b96"))

p <- highchart() %>%
  hc_add_series(type = "bar",
                data = tmp.df.agg,
                hcaes(y = votes, group = ContractName_interval),
                dataLabels = list(
                  enabled = TRUE,
                  style = list(textOutline = FALSE, fontSize = 20)
                )) %>%
  hc_colors(tmp.df.agg$color) %>%
  hc_xAxis(visible = FALSE, min = -1, max = 1) %>%
  hc_legend(enabled = FALSE) %>%
  hc_plotOptions(series=list(stacking='normal')) %>%
  hc_chart(backgroundColor = "transparent")


p %>%
  hc_yAxis(visible = FALSE, min = 1, max = 501)
p %>%
  hc_yAxis(visible = FALSE, min = 1, max = 500)

库(highcharter)
库(数据表)
tmp.df.agg%
hc_颜色(tmp.df.agg$color)%>%
hc_xAxis(可见=假,最小值=-1,最大值=1)%>%
hc_图例(启用=错误)%>%
hc\U绘图选项(系列=列表(堆叠=正常'))%>%
hc_图表(backgroundColor=“透明”)
p%>%
hc_yAxis(可见=假,最小=1,最大=501)
p%>%
hc_yAxis(可见=假,最小=1,最大=500)

当我根本不使用轴限制时,右边距也太大。

这是因为Highcharts将axis.max设置为最后一个勾号,该勾号将四舍五入为“整数”(如十或百等)。如果您使yAxis可见,您将看到最后一个记号是500或550(因此记号很好地对齐)。这是有道理的。 当勾号设置为550时,将创建一个空白(您称之为边距)

为了防止出现这种情况,您可以严格定义yAxis.tick,也可以将yAxis.endOnTick设置为false。为了安全起见,您还可以将yAxis.maxPadding设置为0

API参考资料:

如果仍要隐藏yAxis,最好的解决方案是将endOnTick设置为false:

p %>%
  hc_yAxis(visible = TRUE, min = 1, max = 501, endOnTick = FALSE, maxPadding = 0)

如果您还有任何问题,请告诉我。

这是因为Highcharts将axis.max设置为最后一个刻度,该刻度将四舍五入为“整数”(如十或百等)。如果您使yAxis可见,您将看到最后一个记号是500或550(因此记号很好地对齐)。这是有道理的。 当勾号设置为550时,将创建一个空白(您称之为边距)

为了防止出现这种情况,您可以严格定义yAxis.tick,也可以将yAxis.endOnTick设置为false。为了安全起见,您还可以将yAxis.maxPadding设置为0

API参考资料:

如果仍要隐藏yAxis,最好的解决方案是将endOnTick设置为false:

p %>%
  hc_yAxis(visible = TRUE, min = 1, max = 501, endOnTick = FALSE, maxPadding = 0)
如果您还有任何问题,请告诉我