如何在Highcharts图例值中逐个设置颜色数组?

时间:2012-11-28 12:26:00

标签: highcharts

我必须在饼图图例值中设置不同的颜色。如果我使用静态颜色,则在所有图例中设置颜色代码。但是当我设置数组[0]时,不显示颜色。

我的代码:

data: [
    {/literal}
        {section name=foo start=1 loop=$value.0.count+1 step=0}
            {assign var=op value=$smarty.section.foo.index}
            {assign var=a value=optcount$op}
            {assign var=an value=optans$op} 
            {assign var=cor value=$colors.col$op}
            {literal}
                {name: '{/literal}{$value.0.$an}{literal}',y: {/literal}{$value.0.$a}{literal}, color: '{/literal}$cor{literal}'}
            {/literal}
            {if $op neq $value.0.count},{/if}
        {/section}
    {literal}
]

此处$colors是一个数组,具有以下值:

$colors = array(col1 => '#6B8E23', col2 => '#A9A9A9', col3 => '#696969', col4 => '##FFFFFF', col5 => 'blue');

如果我传递这样的值,它的工作方式却在一种颜色的所有图例中分配:

{literal}
    {name: '{/literal}{$value.0.$an}{literal}',y: {/literal}{$value.0.$a}{literal}, color: '{/literal}green{literal}'}
{/literal}

1 个答案:

答案 0 :(得分:0)

                            {foreach from=$value[1] item=foo key=k name=myloop}                             
                            {assign var=op value=$smarty.foreach.myloop.index}                                  
                            {assign var=cor value=$colors.$op}                                  
                            {literal}                               
                            {name: '{/literal}{$k}:{$foo}{literal}',y: {/literal}{$foo}{literal}, color: '{/literal}{$cor}{literal}'}
                            {/literal}  
                            {if $op le $count},{/if}                                
                            {/foreach}