Javascript 我们的数据中的ues,我们稍后将使用它来放置不同颜色的浮动柱图,以给这些柱的“尖端”上色 为提示添加浮动图形;(如上所述) 最后,在其余的图形上添加一个额外的图形,该图形使用模式填充来应用漂亮的条纹效果

Javascript 我们的数据中的ues,我们稍后将使用它来放置不同颜色的浮动柱图,以给这些柱的“尖端”上色 为提示添加浮动图形;(如上所述) 最后,在其余的图形上添加一个额外的图形,该图形使用模式填充来应用漂亮的条纹效果,javascript,amcharts,Javascript,Amcharts,通过在数据中设置最后两列颜色并使用fillColorsField相应地自动为其着色,可以处理最后两列颜色 以下是完整的工作代码: var chart=AmCharts.makeChart(“chartdiv”{ “类型”:“串行”, /** *这些不是内置属性 *我们只是将这些设置为我们的自定义插件所使用 */ “自定义属性”:{ “阈值1”:6.1, “thresholdColor1”:“93bcdc”, “阈值2”:8, “阈值颜色2”:“eab144” }, “数据提供者”:[{ “国家

通过在数据中设置最后两列颜色并使用
fillColorsField
相应地自动为其着色,可以处理最后两列颜色

以下是完整的工作代码:

var chart=AmCharts.makeChart(“chartdiv”{
“类型”:“串行”,
/**
*这些不是内置属性
*我们只是将这些设置为我们的自定义插件所使用
*/
“自定义属性”:{
“阈值1”:6.1,
“thresholdColor1”:“93bcdc”,
“阈值2”:8,
“阈值颜色2”:“eab144”
},
“数据提供者”:[{
“国家”:“美国”,
“访问”:9
}, {
“国家”:“中国”,
“访问”:10
}, {
“国家”:“日本”,
“访问”:8
}, {
“国家”:“德国”,
“访问”:6
}, {
“国家”:“英国”,
“访问”:8,
“fillColor”:“#中交”
}, {
“国家”:“法国”,
“访问”:8,
“fillColor”:“#中交”
}],
“价值轴”:[{
“gridAlpha”:0.1,
“dashLength”:0,
“stackType”:“常规”
}],
“起始持续时间”:1,
“图表”:[{
“填充字母”:1,
“填充颜色”:“345e80”,
“fillColorsField”:“fillColor”,
“lineAlpha”:0,
“类型”:“列”,
“valueField”:“访问”,
“xpattern”:{
“url”:“patterns/white/pattern10.png”,
“宽度”:4,
“高度”:8
}
}],
“图表光标”:{
“可缩放”:错误,
“cursorAlpha”:0
},
“类别字段”:“国家”,
“分类法”:{
“网格位置”:“开始”,
“gridAlpha”:0,
“滴答声位置”:“开始”,
}
});
/**
*自定义插件
*/
addInitHandler(函数(图表){
//检查是否设置了customProperties
//如果不是,什么都不要做
if(chart.customProperties==未定义)
返回;
//让我们将自定义属性放入一个简单的变量中
var c=chart.customProperties;
//我们假设使用图表中的第一个图形
var-graph=chart.graphs[0];
//首先,让我们设置负的基值和颜色
//因此,图表会自动处理颜色
//低于阈值1的图
如果(c.threshold1!==未定义){
graph.negativeBase=c.threshold1;
graph.NegativeFillColor=c.thresholdColor1;
}
//现在,最难的部分-颜色的顶部部分
//超过某个阈值的列
//为此,我们需要遍历数据
对于(var i=0;ic.threshold2){
//更大的价值
//让我们为浮动oeverlay图添加一个浮动值
行[graph.valueField+'Close']=行[graph.valueField];
行[graph.valueField+'Open']=c.threshold2;
}
}
//现在,让我们添加一个单独的浮动图,它将为提示着色
var tipGraph=new AmCharts.AmGraph();
tipGraph.valueField=graph.valueField+“关闭”;
tipGraph.openField=graph.valueField+'Open';
tipGraph.stackable=false;
tipGraph.clustered=false;
tipGraph.lineAlpha=0;
tipGraph.fillAlphas=1;
tipGraph.fillColors=c.thresholdColor2;
tipGraph.type=“列”;
tipGraph.showBalloon=false;
图表。添加图表(TIPGRAPHE);
//现在,让我们添加带有模式的虚拟图来遍历
//提供条带化效果的实际图形
var stripeGraph=new AmCharts.AmGraph();
stripeGraph.valueField=graph.valueField;
stripeGraph.stackable=false;
stripeGraph.clustered=false;
stripeGraph.lineAlpha=0;
stripeGraph.fillAlphas=1;
stripeGraph.type=“列”;
stripeGraph.showBalloon=false;
stripeGraph.pattern={
“url”:“patterns/white/pattern10.png”,
“宽度”:4,
“高度”:8
};
图.添加图(条带图);
},[“序列号])
#chartdiv{
宽度:500px;
高度:300px;
}

虽然不是开箱即用的,但可以使用带有少量自定义代码的amCharts来实现

下面是完整的工作代码,但总体思路是这样的

当图表加载(使用)时,我们执行以下步骤:

  • 检查图表配置以获取设置阈值和颜色的自定义属性
  • 设置图形的
    negativeBase
    negativeFillColors
    属性,以便图表本身可以处理高于或低于特定值阈值的列的着色
  • 遍历数据,查看是否有超过某个阈值的列(在您的示例中为8)。如果有,我们在数据中创建两个附加值,稍后我们将使用它们来放置不同颜色的浮动列图,以给这些列的“提示”着色
  • 为提示添加浮动图形;(如上所述)
  • 最后,在其余的图形上添加一个额外的图形,该图形使用模式填充来应用漂亮的条纹效果
  • 通过在数据中设置最后两列颜色并使用
    fillColorsField
    相应地自动为其着色,可以处理最后两列颜色

    以下是完整的工作代码:

    var chart=AmCharts.makeChart(“chartdiv”{
    “类型”:“串行”,
    /**
    *这些不是内置属性
    *我们只是将这些设置为我们的自定义插件所使用
    */
    “自定义属性”:{
    “阈值1”:6.1,
    “thresholdColor1”:“93bcdc”,
    “阈值2”:8,
    “阈值颜色2”:“eab144”
    },
    “数据提供者”:[{
    “国家”:“美国”,
    “访问”:9
    }, {
    “国家”:“中国”,
    “访问”:10
    }, {
    “国家”:“日本”,
    “访问”:8
    }, {
    “国家”:“德国”,
    “访问”:6
    }, {
    “国家”:“英国”,
    “访问”:8,
    “fillColor”:“#中交”
    }, {
    “国家”:“法国”,
    “访问”:8,
    “fillColor”:“#中交”
    }],
    “价值轴”:[{
    “gridAlpha”:0.1,
    “dashLength”:0,
    “stackType”:“常规”
    }],
    “起始持续时间”:1,
    “图表”: