Vega图表中的自定义标签文本

时间:2019-04-19 16:44:55

标签: javascript data-visualization vega

一个非常简单的问题:我有一个Vega图表,对于x轴,我想显示“低”和“高”,而不是0和1(这是域的最小值和最大值)。

所以我的x比例看起来像这样:

{
   'name': 'xscale',
   'type': 'linear',
   'domain': [0, 1],
   'range': 'width',
   'round': true,
   'zero': true,
   'nice': true
 }

我的轴看起来像这样:

{
  'orient': 'bottom',
  'scale': 'xscale',
  'tickCount': 1,
  'title': 'Prices
}

我在文档中看到可以自定义标签文本,但是我不清楚如何自定义标签文本。谢谢!

1 个答案:

答案 0 :(得分:0)

因此,基本上,解决方案非常简单。我从以下github帖子中得到了一些启发:https://github.com/vega/vega/issues/714

您只需要具有一个三元表达式即可返回标签文本的结果。当然,这仅适用于具有最小值和最大值两个值的轴。

<?php
if($dt_static == "Last_30_Days"){ 
    $Target_Arch_Graph = [];
    $cd = Carbon::createFromFormat('Y-m-d', $dt_endDate)->format('d');                       
    $d = Carbon::createFromFormat('Y-m-d', $dt_startDate)->format('d'); 
    $m = Carbon::createFromFormat('Y-m-d', $dt_startDate)->format('m');                       
    for($k = $d;$k<= $cd; $k++)
    {   
        if($k== 0)
        {
            $d = 0;                                   
            $m++;
        }
        $Get_Target_Arch_Graph = DB::table('bid_project')
        ->where('bid_project.status', '=', 'Winner')
        ->where('bid_project.date','=', date('Y-'.$m.'-'.$d))              
        ->sum('amount');
        $Target_Arch_Graph[] = json_decode('['.$d++.','.$Get_Target_Arch_Graph.']', true); 
    }                        
}

就是这样。现在,标签将显示为“ High”,而不是1,而不是0,显示为“ Low”。