javascript - Chart.js - 每条边框线具有不同颜色的折线图

标签 javascript reactjs charts chart.js chart.js2

根据 chart.js documentation我可以为边框和背景的颜色指定一个数组。

但是,在对 chart.js 使用以下配置时。我想弄清楚为什么 borderColorbackgroundColor 的数组值不起作用。

我通过 react-chartjs-2 使用 chart.js 2.6.0。这不是 chart.js v2 开箱即用的支持吗?

"{
 "type": "Line",
 "labels": [
  "Monday",
  "Tuesday",
  "Wednesday",
  "Thursday",
  "Friday",
  "Saturday",
  "Sunday"
 ],
 "datasets": [
  {
   "label": "Page Views (This Week)",
   "fill": false,
   "lineTension": 0.1,
   "backgroundColor": [
    "rgba(75,192,192, 0.4)",
    "rgba(1, 223, 111, 0.4)",
    "rgba(75,192,192, 0.4)",
    "rgba(1, 223, 111, 0.4)",
    "rgba(75,192,192, 0.4)"
   ],
   "borderColor": [
    "rgba(75,192,192, 1)",
    "rgba(1, 223, 111, 1)",
    "rgba(75,192,192, 1)",
    "rgba(1, 223, 111, 1)",
    "rgba(75,192,192, 1)"
   ],
   "borderCapStyle": "butt",
   "borderDash": [],
   "borderDashOffset": 0,
   "borderJoinStyle": "miter",
   "pointBorderColor": [
    "rgba(75,192,192, 1)",
    "rgba(1, 223, 111, 1)",
    "rgba(75,192,192, 1)",
    "rgba(1, 223, 111, 1)",
    "rgba(75,192,192, 1)"
   ],
   "pointBackgroundColor": "#fff",
   "pointBorderWidth": 1,
   "pointHoverRadius": 5,
   "pointHoverBackgroundColor": "rgba(75,192,192, 1)",
   "pointHoverBorderColor": "rgba(220,220,220,1)",
   "pointHoverBorderWidth": 2,
   "pointRadius": 1,
   "pointHitRadius": 10,
   "data": [
    19615,
    37337,
    54307,
    70944,
    87444
   ]
  },
  {
   "label": "Page Views (Last Week)",
   "fill": false,
   "lineTension": 0.1,
   "backgroundColor": [
    "rgba(242, 169, 12, 0.4)",
    "rgba(1, 223, 111, 0.4)",
    "rgba(242, 169, 12, 0.4)",
    "rgba(1, 223, 111, 0.4)",
    "rgba(242, 169, 12, 0.4)",
    "rgba(1, 223, 111, 0.4)",
    "rgba(242, 169, 12, 0.4)"
   ],
   "borderColor": [
    "rgba(242, 169, 12, 1)",
    "rgba(1, 223, 111, 1)",
    "rgba(242, 169, 12, 1)",
    "rgba(1, 223, 111, 1)",
    "rgba(242, 169, 12, 1)",
    "rgba(1, 223, 111, 1)",
    "rgba(242, 169, 12, 1)"
   ],
   "borderCapStyle": "butt",
   "borderDash": [],
   "borderDashOffset": 0,
   "borderJoinStyle": "miter",
   "pointBorderColor": [
    "rgba(242, 169, 12, 1)",
    "rgba(1, 223, 111, 1)",
    "rgba(242, 169, 12, 1)",
    "rgba(1, 223, 111, 1)",
    "rgba(242, 169, 12, 1)",
    "rgba(1, 223, 111, 1)",
    "rgba(242, 169, 12, 1)"
   ],
   "pointBackgroundColor": "#fff",
   "pointBorderWidth": 1,
   "pointHoverRadius": 5,
   "pointHoverBackgroundColor": "rgba(242, 169, 12, 1)",
   "pointHoverBorderColor": "rgba(220,220,220,1)",
   "pointHoverBorderWidth": 2,
   "pointRadius": 1,
   "pointHitRadius": 10,
   "data": [
    17819,
    35785,
    52761,
    69470,
    84987,
    104958,
    125497
   ]
  }
 ]
}"

生成的图形看起来像这样,我希望交替的线段具有不同的颜色。

enter image description here

最佳答案

您将不得不使用两个数据集。

然后对于第二个数据集,你可以这样做:

borderColor: [null, #fff]

在第三个数据集上,您将添加两个 null 等。

来源:https://github.com/chartjs/Chart.js/issues/2430

关于javascript - Chart.js - 每条边框线具有不同颜色的折线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45037335/

相关文章:

javascript - SetInterval 不从 HTML 表单的 onClick 事件运行

javascript - html引用jquery库+外部文件

javascript - 使用 setState() 更新嵌套的 React 状态属性的最佳替代方法是什么?

javascript - 导入语句和 Babel

reactjs - 从实用程序类型中解构 Prop (提取和排除 - TypeScript 和 React)

javascript - javascript : cipher broken 中的凯撒密码

javascript - websocket onmessage 在 ajax 请求期间未触发

javascript - GWT EXT 仅在图表中出现异常

java - 如何使用 jasper 报告为从 java 中的子报告调用的图表填充系列颜色

javascript - chart.js - 用户添加线的最后一点