搜索

首页  >  问答  >  正文

从另一列中将值设置为区域

<p>在我的表格中有3列</p> <pre class="brush:php;toolbar:false;">|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 |</pre> <p>第一列用作x轴<br /><br />第二列(百分比数字)我用来在样条线中可视化。第三列是点数(我在查询中生成,用于设置第二列的百分比)。我想要的是,如果推荐者点数小于43个点,就改变推荐者(%)样条线的颜色,而不显示推荐者点数的样条线。目前就不知道咋办了<br /><br />这是fiddle链接:<br /><br />https://jsfiddle.net/czmnra04/<br /><br />家人们帮一下</p><p><br /></p>
P粉333186285P粉333186285522 天前609

全部回复(1)我来回复

  • P粉203792468

    P粉2037924682023-08-09 09:59:08

    如果您想根据第三列的数据来调整颜色,那么在这里使用区域是行不通的,因为它们是基于轴的,而轴是根据第二列的值生成的。

    所以,如果您想根据第三列的自定义值来改变第二列中特定点的颜色,您可以使用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'
                })
              }
            })
          })
        }
      }
    }
    

    Demo: https://jsfiddle.net/BlackLabel/ydc3m45n/
    API: https://api.highcharts.com/highcharts/chart.events.load
    https://api.highcharts.com/class-reference/Highcharts.Point#update

    回复
    0
  • 取消回复