Javascript 海图-如何将气泡图放在直线上?

Javascript 海图-如何将气泡图放在直线上?,javascript,highcharts,Javascript,Highcharts,我正在使用Highcharts,并希望创建一个气泡图,该图的条目都在一条直线上,且气泡大小的降幅相等。诀窍是使气泡之间几乎没有任何空间。像这样 除了编写某种算法将其沿x轴放置在某一点之外,还有没有一种简单的方法可以做到这一点 非常感谢。没有内置选项,没有。您必须自己计算尺寸/x轴关系 另一方面,我觉得有义务指出,这是展示数据的可怕方式。 很受欢迎,但很糟糕 不太受欢迎但更好的选择是一个简单的水平条形图,它将允许更好的可读性 关于以下原因的一些讨论: {{编辑:: 我手动设置了一个,只

我正在使用Highcharts,并希望创建一个气泡图,该图的条目都在一条直线上,且气泡大小的降幅相等。诀窍是使气泡之间几乎没有任何空间。像这样

除了编写某种算法将其沿x轴放置在某一点之外,还有没有一种简单的方法可以做到这一点


非常感谢。

没有内置选项,没有。您必须自己计算尺寸/x轴关系

另一方面,我觉得有义务指出,这是展示数据的可怕方式。 很受欢迎,但很糟糕

不太受欢迎但更好的选择是一个简单的水平条形图,它将允许更好的可读性

关于以下原因的一些讨论:


{{编辑::

我手动设置了一个,只是为了计算
思维过程

基本思想是:

  • 设置x轴最小值和最大值,使1个x轴单位=打印宽度的1个像素,以便于计算
  • 不要使用气泡序列类型,而是使用散射,并为每个点指定标记半径值(以像素为单位。这是气泡成为序列类型之前的“旧”方式)
  • 通过确定最大气泡所需的最大像素大小来计算半径,然后将编码值(美元或其他值)除以最大值,再乘以每个值的最大像素大小
  • 然后计算相应的x值-在我的示例中,最大像素半径为50。第一个数据点的x值为50。第二个数据点的x值为100+其半径像素值,等等
如果您仔细查看示例,并确保像素宽度和x轴设置相互关联,则数学运算相当简单。编写循环来完成这一切只会稍微复杂一点

{再次编辑:尝试了一下 粗糙,但工作,或多或少

{再次: 这一项自动说明图表的宽度:


    • 没有内置选项,不。您必须自己计算尺寸/x轴关系

      另一方面,我觉得有义务指出,这是展示数据的可怕方式。 很受欢迎,但很糟糕

      不太受欢迎但更好的选择是一个简单的水平条形图,它将允许更好的可读性

      关于以下原因的一些讨论:


      {{编辑::

      我手动设置了一个,只是为了计算
      思维过程

      基本思想是:

      • 设置x轴最小值和最大值,使1个x轴单位=打印宽度的1个像素,以便于计算
      • 不要使用气泡序列类型,而是使用散射,并为每个点指定标记半径值(以像素为单位。这是气泡成为序列类型之前的“旧”方式)
      • 通过确定最大气泡所需的最大像素大小来计算半径,然后将编码值(美元或其他值)除以最大值,再乘以每个值的最大像素大小
      • 然后计算相应的x值-在我的示例中,最大像素半径为50。第一个数据点的x值为50。第二个数据点的x值为100+其半径像素值,等等
      如果您仔细查看示例,并确保像素宽度和x轴设置相互关联,则数学运算相当简单。编写循环来完成这一切只会稍微复杂一点

      {再次编辑:尝试了一下 粗糙,但工作,或多或少

      {再次: 这一项自动说明图表的宽度:


      我确实非常直接地回答了这个问题:除了自己写一些东西来计算位置之外,没有其他方法可以做到这一点。不幸的是,我只是前端人员,这就是设计:)你会使用什么样的算法?我一直在试验一些算法,但无法想出一个有效的算法:(我确实非常直接地回答了这个问题:除了自己写一些东西来计算位置之外,没有其他方法可以做到这一点。不幸的是,我只是前端人员,这就是设计:)你会使用什么样的算法?我一直在试验一些算法,但无法想出一个有效的算法:(