php Highchart从另一列将值设置为区域

ryevplcw  于 2023-08-02  发布在  PHP
关注(0)|答案(1)|浏览(73)

在我的表中我有3列

|week | % |pts |
|:----|:--|:---|
|  1  |34 |37  |
|  2  |44 |21  |
|  3  |41 |67  |
|  4  |59 |135 |
|  5  |49 |102 |
|  6  |57 |11  |
|  7  |60 |4   |
|  8  |47 |53  |

字符串
第一列用于x轴
第二列(百分比数字),我用来可视化样条。在第三列中,点(我在查询中生成以设置第二列的百分比)。如果启动子点< 43点,我想改变启动子(%)样条的颜色。而不显示启动点的样条曲线。这很棘手,你有办法吗?
小提琴在这儿
https://jsfiddle.net/czmnra04/
提前致谢

ncgqoxb0

ncgqoxb01#

如果你想根据第三列中的数据来调整颜色,那么在这里使用区域是行不通的,因为它们是基于轴的,而轴是从第二列中的值生成的。
因此,如果要根据列3中的自定义值更改列2中特定点的颜色,可以使用chart.events.load()回调函数,该函数的逻辑使用point.update()方法有条件地更新所有点的颜色。

chart: {
  events: {
    load: function() {
      const chart = this;

      chart.series.forEach(series => {
        series.data.forEach(point => {
          if (point.pts < 43) {
            point.update({
              color: 'red'
            })
          }
        })
      })
    }
  }
}

字符串

Demohttps://jsfiddle.net/BlackLabel/ydc3m45n/
APIhttps://api.highcharts.com/highcharts/chart.events.load

https://api.highcharts.com/class-reference/Highcharts.Point#update

相关问题