【问题标题】:How can I limit the length of a HighCharts PlotLine on the Y-Axis for a BoxPlot?如何限制 BoxPlot Y 轴上 HighCharts PlotLine 的长度?
【发布时间】:2015-06-06 00:04:52
【问题描述】:

我正在使用 highchairs 3.0 创建一个包含 N 个框的图表。到目前为止,一切都很好。然而,用户的愿望之一是为图表上的每个 Box 绘制几条 plotLines(基于 Y 轴上的值)。问题是每个框的信息都不同,因此他们希望 plotLine 仅从左侧(x 轴)框的起点延伸到单个框的右侧。

Highchairs 默认从左到右绘制 y 轴 plotLines(以及 plotBands,也查看了这些),这确实导致了一个非常混乱的图表!

有没有办法将箱形图中 plotLine 的长度(我猜是 x 轴上的开始/结束)限制为框的宽度?我想我基本上想在图表上每个 Box 的区域上叠加线条。

谢谢!

【问题讨论】:

  • 不适用于plotLinesplotBands。您可以通过一条线连接 2 个点来执行此操作 - 需要一个新系列。

标签: javascript highcharts


【解决方案1】:

我发现最好的方法是扩展标记符号类型以创建一条水平线。 使用它作为散点系列的标记符号类型来完成您正在寻找的内容。

Highcharts.Renderer.prototype.symbols.hline = function(x, y, width, height) {
    return ['M',x ,y + height / 2,'L',x+width,y + width / 2];
};

例子:

需要的输入:半径、线宽、颜色

((也是构建子弹图的有用方法:

))

【讨论】:

  • 这是一个惊人而美丽(和完美)的解决方案!伙计——我从没想到 HighCharts 会让你做这些整洁的事情!谢谢!
  • 原始代码的功劳(如答案中所示)归功于 Torstein 本人,当我要求设置子弹图的方法时,他提供了它。如果您可以计算出要绘制的路径,则可以将此绘制成任何您想要的标记形状:)
  • 顺便说一句——我很乐意为答案投票……但我还没有足够的排名!嗬! :)
  • @sjmcdowall - 我相信即使您没有足够的声望投票,您仍然可以将此标记为“已接受的答案”(因为您提出了这个问题)。
  • @mralexlau - 谢谢!不知道我能做到这一点!完成!
猜你喜欢
  • 2015-03-27
  • 1970-01-01
  • 2016-01-10
  • 2016-12-09
  • 1970-01-01
  • 1970-01-01
  • 2012-03-09
  • 1970-01-01
相关资源
最近更新 更多