Javascript 自定义amCharts股票图表图例

Javascript 自定义amCharts股票图表图例,javascript,amcharts,amstock,Javascript,Amcharts,Amstock,我使用带有比较功能的amCharts股票图表。我将StockLegend对象用于图例,并希望自定义valueTextComparing参数。事实上,我有: var stockLegend = new AmCharts.StockLegend(); stockLegend.markerType = 'bubble'; stockLegend.markerSize = 8; stockLegend.horizontalGap = 1; stockLegend.spacing = 100; stock

我使用带有比较功能的amCharts股票图表。我将StockLegend对象用于图例,并希望自定义
valueTextComparing
参数。事实上,我有:

var stockLegend = new AmCharts.StockLegend();
stockLegend.markerType = 'bubble';
stockLegend.markerSize = 8;
stockLegend.horizontalGap = 1;
stockLegend.spacing = 100;
stockLegend.periodValueText = '[[value.close]]';
stockLegend.valueTextComparing = '[[value]] | [[percents.value]]%';
我想要的是为
[[percents.value]]
设置两种不同的颜色,将值切换为正值或负值(并在所有
值文本比较中添加粗体效果)

我在文档中看到了一个
valueFunction
参数,但不是用于比较的等效参数


你能帮我吗?

好的,我想办法做我想做的事。这有点作弊,但这是工作。 首先,我使用一个特定字符来分隔值和百分比(此处为“|”):

之后,我创建了另一个没有HTML格式amCharts的图例:

<div id="graph_second_legend">
    <div id="gsl_0_circle"></div>
    <div id="gsl_0"></div>
    <div id="gsl_1"></div>
    <div id="gsl_2_circle"></div>
    <div id="gsl_2"></div>
    <div id="gsl_3"></div>
</div>
当鼠标移动时,将鼠标悬停在图形上:

$('.amChartsPanel').mouseover(function(){
    setTimeout(function(){parseLegend($);}, 10);
});
$('.amChartsPanel').mouseout(function(){
    setTimeout(function(){parseLegend($);}, 10);
});
$('.amChartsPanel').mousemove(function(){
    setTimeout(function(){parseLegend($);}, 10);
});
$('.amChartsPanel').mouseleave(function(){
    setTimeout(function(){parseLegend($);}, 10);
});

(我使用了一个超时,因为amCharts需要一点时间来更改图例,javascript事件对他来说太快了)。

好的,我找到了一种方法来做我想做的事情。这有点作弊,但这是工作。 首先,我使用一个特定字符来分隔值和百分比(此处为“|”):

之后,我创建了另一个没有HTML格式amCharts的图例:

<div id="graph_second_legend">
    <div id="gsl_0_circle"></div>
    <div id="gsl_0"></div>
    <div id="gsl_1"></div>
    <div id="gsl_2_circle"></div>
    <div id="gsl_2"></div>
    <div id="gsl_3"></div>
</div>
当鼠标移动时,将鼠标悬停在图形上:

$('.amChartsPanel').mouseover(function(){
    setTimeout(function(){parseLegend($);}, 10);
});
$('.amChartsPanel').mouseout(function(){
    setTimeout(function(){parseLegend($);}, 10);
});
$('.amChartsPanel').mousemove(function(){
    setTimeout(function(){parseLegend($);}, 10);
});
$('.amChartsPanel').mouseleave(function(){
    setTimeout(function(){parseLegend($);}, 10);
});

(我使用了一个超时,因为amCharts需要一点时间来更改图例,javascript事件对他来说太快了)。

虽然这不会帮助您更改颜色或字体重量,
valueFunction
实际上可以用于主图形和比较图形。至于你的格式要求,恐怕没有办法。哦。。。但我可以用旧的flash版本的amCharts来做。奇怪的是,我不能处理最近的一个。难道不能用图表事件来解决这个问题吗?恐怕图例不接受格式选项。虽然这不会帮助您更改颜色或字体重量,
valueFunction
实际上对主图和比较图都有效。至于你的格式要求,恐怕没有办法。哦。。。但我可以用旧的flash版本的amCharts来做。奇怪的是,我不能处理最近的一个。难道不能用图表的事件来解决这个问题吗?恐怕图例不接受格式选项。
$('.amChartsPanel').mouseover(function(){
    setTimeout(function(){parseLegend($);}, 10);
});
$('.amChartsPanel').mouseout(function(){
    setTimeout(function(){parseLegend($);}, 10);
});
$('.amChartsPanel').mousemove(function(){
    setTimeout(function(){parseLegend($);}, 10);
});
$('.amChartsPanel').mouseleave(function(){
    setTimeout(function(){parseLegend($);}, 10);
});