Javascript 多系列线条颜色

Javascript 多系列线条颜色,javascript,kendo-ui,kendo-chart,Javascript,Kendo Ui,Kendo Chart,我有以下的实施。它已实现并具有功能 但是,我想知道,当等级为data[I]=60时,是否可以更改线条颜色,使其变为蓝色 $("#chart").kendoChart({ series: [{ name: "Grading", color: function(point){return point.value<60 ? "red" : "blue"; }, width: 1, size:

我有以下的实施。它已实现并具有功能

但是,我想知道,当等级为
data[I]=60时,是否可以更改线条颜色,使其变为蓝色

$("#chart").kendoChart({
    series: [{
            name: "Grading",
            color: function(point){return point.value<60 ? "red" : "blue"; },
            width: 1,
            size: 2,
            tooltip: {
                visible: true,
            },
            data: [81, 91, 61, 55, 59, 43, 57, 59, 66, 65, 54, 70, 72.37]}
       ],
   seriesDefaults: {
            type: "line",
            missingValues: "interpolate"

        },
});
$(“#图表”).kendoChart({
系列:[{
名称:“分级”,

color:function(point){return point.value是的,这是可能的,但是您发布的代码无法工作:

function lineColor()
{
  for(i=0;i<data.length;i++){ 
   if{data[i]<60}
    color="red";
   else{color="blue";}
   }
}
函数lineColor()
{

对于(i=0;i是的,这是可能的,但是您发布的代码无法工作:

function lineColor()
{
  for(i=0;i<data.length;i++){ 
   if{data[i]<60}
    color="red";
   else{color="blue";}
   }
}
函数lineColor()
{

对于(i=0;i在一行上获得多种颜色的方法是应用渐变作为笔划颜色。在HTML中的某个地方,可以包含一个定义了渐变的隐藏svg元素,例如:

  <div style="height: 0px;">
    <svg>
      <defs>    
      <linearGradient id="theGrad" x1="0" x2="0" y1="0" y2="1">
        <stop stop-color="blue" offset="0%"></stop>
        <stop stop-color="blue" offset="40%"></stop>
        <stop stop-color="red" offset="40%"></stop>
        <stop stop-color="red" offset="100%"></stop></linearGradient>
    </defs>
    </svg>
  </div>

注意:您也可以在脚本中创建渐变定义并将其附加到图表SVG中

然后使用“图表”小部件的“渲染”回调将渐变应用于线条:

$("#chart").kendoChart({
    series: [{
       name: "Grading",
       color: function(point){return point.value<60 ? "red" : "blue"; },
       width: 2,
       size: 2,
       tooltip: {
           visible: true,
       },
       data: [81, 95, 61, 55, 59, 5, 57, 59, 66, 65, 54, 70, 72.37]}
   ],
   seriesDefaults: {
       type: "line",
       missingValues: "interpolate"     
   },
   valueAxis: {
       max: 100
   },
   render: function(e) {
       $('#chart svg g [clip-path="url(#kdef2)"] path').css("stroke", "url(#theGrad)");        
   }
});
$(“#图表”).kendoChart({
系列:[{
名称:“分级”,

颜色:函数(点){return point.value在一行上获得多种颜色的方法是应用渐变作为笔划颜色。在HTML中的某个地方,可以包含一个定义了渐变的隐藏svg元素,例如:

  <div style="height: 0px;">
    <svg>
      <defs>    
      <linearGradient id="theGrad" x1="0" x2="0" y1="0" y2="1">
        <stop stop-color="blue" offset="0%"></stop>
        <stop stop-color="blue" offset="40%"></stop>
        <stop stop-color="red" offset="40%"></stop>
        <stop stop-color="red" offset="100%"></stop></linearGradient>
    </defs>
    </svg>
  </div>

注意:您也可以在脚本中创建渐变定义并将其附加到图表SVG中

然后使用“图表”小部件的“渲染”回调将渐变应用于线条:

$("#chart").kendoChart({
    series: [{
       name: "Grading",
       color: function(point){return point.value<60 ? "red" : "blue"; },
       width: 2,
       size: 2,
       tooltip: {
           visible: true,
       },
       data: [81, 95, 61, 55, 59, 5, 57, 59, 66, 65, 54, 70, 72.37]}
   ],
   seriesDefaults: {
       type: "line",
       missingValues: "interpolate"     
   },
   valueAxis: {
       max: 100
   },
   render: function(e) {
       $('#chart svg g [clip-path="url(#kdef2)"] path').css("stroke", "url(#theGrad)");        
   }
});
$(“#图表”).kendoChart({
系列:[{
名称:“分级”,

颜色:功能(点){return point.valueYes,是的;请在您的问题中添加相关代码。不要依赖我们访问外部站点来帮助您:让我们能够轻松地帮助您。我在代码中添加了逻辑。您链接的Fiddle似乎什么都不做,“datavis.min.css”是404-ing。您需要在JS Fiddle,一个nd发布准确再现问题中问题的代码。目前,您已经更新了问题,似乎更改了问题。添加信息,不要删除它(除非它完全无关和不必要)。请检查这一个是的,是的;请在您的问题中添加相关代码。不要依赖我们访问外部站点来帮助您:让我们能够轻松地帮助您。我在代码中添加了逻辑。您的链接小提琴似乎什么都没做,而“datavis.min.css”是404。您需要在JS Fiddl中重现您的问题e、 并发布准确再现问题中问题的代码。目前,您已经更新了问题,似乎更改了问题。添加信息,不要删除它(除非它完全无关且不必要)。请检查这一个。请参考我的JSFIDLE,我的问题实际上与剑道图更相关。这就是为什么我最初尝试
color:function(point){return point.valueMe(虽然这是文档中的答案)。我还尝试了十六进制颜色(有和没有
#
).我花了将近一个小时在这上面,通常我会说“现在是私人的”我发现FF“Found function where color is expected”中有一些错误。你可以尝试加载一个旧版本的剑道。你可以在没有JSFIDLE的情况下尝试。我已经没有主意了。提示一个follow up/新问题:将其归结为文档中的基本示例,验证它是否正确sn不起作用,将其作为stacksnippet发布,并询问为什么它不起作用(我会投赞成票)。检查这一个,我正在起作用。
颜色函数
只更改标记,而不是我一直在处理的线条颜色。啊,点正在更改,这至少是一件事。下面是一个想法,假设一个人有
数据:[70,50,70]
。值0和2高于阈值60,值1低于阈值。您到底想要什么?红色从值0到值1,红色从值1到值2?或红色从值0到值1,然后蓝色从值1到值2(或者反过来)?或者在经过60后更改线条(表示一条线是蓝色,然后是红色(从值0到值1),然后下一行是红色,然后是蓝色(从val_1到val_2)。我认为这一点很重要,如果只是为了进一步缩小您想要的确切范围。请参考我的jsfiddle,我的问题实际上与
剑道图
。这就是为什么我最初尝试
颜色:函数(点){return point.valueMe(虽然这是文档中的答案)。我也尝试了十六进制颜色(有和没有
#
)。我花了将近一个小时在这上面,通常我会说“现在它是个人的”我发现FF“Found function where color is expected”中有一些错误。你可以尝试加载一个旧版本的剑道。你可以在没有JSFIDLE的情况下尝试。我已经没有主意了。提示一个follow up/新问题:将其归结为文档中的基本示例,验证它是否正确sn不起作用,将其作为stacksnippet发布,并询问为什么它不起作用(我会投赞成票)。检查这一个,我正在起作用。
颜色函数
只更改标记,而不是我一直在处理的线条颜色。啊,点正在更改,这至少是一件事。下面是一个想法,假设一个人有
数据:[70,50,70]
。值0和2高于阈值60,值1低于阈值。您到底想要什么?红色从值0到值1,红色从值1到值2?或红色从值0到值1,然后蓝色从值1到值2(或者反过来)?或者在经过60后更改线条(表示一条线是蓝色,然后是红色(从值0到值1),然后下一行是红色,然后是蓝色(从val_1到val_2)。我认为这一点很重要,如果只是为了进一步缩小您想要的确切范围。哇,int