【问题标题】:My chart lines are not in order我的图表线不按顺序排列
【发布时间】:2018-03-01 17:31:13
【问题描述】:

我有一个图表,连接所有线条的结果应该如图所示。但目前他们不是。我做错了什么?

https://jsfiddle.net/r2uaq27a/

var chart = c3.generate({
  data: {
    xs: {
      data1: "data2"
    },
    columns: [
      ['data1', 2,3,4,7,8,9,8,7,3],
      ['data2', 1,2,3,4,5,4,3,2,1]
    ]

  }
});

【问题讨论】:

  • 你确定 c3 可以做到这一点吗?从文档的内容来看,它让我相信它不是。它会自动重新排序您的点,按 (x,y) 对中的 x 值排序。
  • @kyle 我不知道。我希望这是可能的。
  • @kyle 你知道我的问题的答案吗? stackoverflow.com/questions/46334644/…

标签: javascript d3.js c3.js


【解决方案1】:

datasome what undocumented xSort 属性设置为false

var chart = c3.generate({
    data: {
        xSort: false,
        x: 'x',
        order: function (i) { console.log(i); },
        columns: [
            ['x', 1,2,3,4,5,4,3,2,1],
            ['data1', 2,3,4,7,8,9,8,7,3]
        ]
    }
});

跑步:

var chart = c3.generate({
  data: {
    xs: {
      data1: "data2",
      data3: "data4"
    },
    xSort: false,
    columns: [
      ['data1', 2,3,4,7,8,9,8,7,3],
      ['data2', 1,2,3,4,5,4,3,2,1],
      ['data3', Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10],
      ['data4', Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10,Math.random() * 10]
    ]

  }
});
#catImage {
  width: 40px;
  height: 40px;
  position: absolute;
  left: 40px;
  top: 0px;
}
<link data-require="c3.js@0.4.11" data-semver="0.4.11" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.11/c3.css" />
<script data-require="c3.js@0.4.11" data-semver="0.4.11" src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.11/c3.js"></script>
<script data-require="d3@3.5.17" data-semver="3.5.17" src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.js"></script>
<div id="chart"></div>

【讨论】:

  • 这太不可思议了!我不敢相信你能做到。我很感动!非常感谢您。我只有最后一个问题,希望你能帮助我,我有点困惑。如何添加具有其他点的另一条线,以及某些颜色和名称?从已经非常感谢你了!
  • @yavg,查看更新的代码 sn-p 以获得多行支持。
  • 非常感谢。唯一不好的是没有均匀分布 x 轴值。看起来很糟糕。你真是个天才!非常感谢!
  • 你能帮我吗?我会更感激stackoverflow.com/questions/46328589/…
  • 你的聪明太让我吃惊了!我真的很惊讶。我想问你,有一种方法可以显示完整的轴,所以当你在 x 和 y 中有负值时。例如qph.ec.quoracdn.net/main-qimg-4f2307394c4f22261f62696c968730d6
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-10
  • 1970-01-01
  • 2018-09-15
相关资源
最近更新 更多