在c3图中将原点从零更改为1

时间:2017-02-13 11:08:57

标签: angularjs d3.js charts c3.js

我想将c3条形图的原点从零更改为1.所有值必须从一个而不是从零中提取。为了更好地理解我附加了一个图像。Rotated bar chart

1 个答案:

答案 0 :(得分:1)

没有配置/简单方法将原点从(0,0)更改为不同的(0,100)。

所以替代/简单的方法是通过更改轴刻度标签和放置网格线,以及操纵数据值,如下所示: -

在下面的示例中,我尝试将原点(x轴从0移动到100)

希望这有帮助。



var chart = c3.generate({
  bindto:'#chart_example',
    data: {
        columns: [
            //['data1', 0, 200, -100, 400, 150, -250, 50, 100, 250] // Actual values
            ['data1', -100, 100, -200, 300, 50, -350, -50, 0, 150]   // actual values -100
        ],
        type: 'bar'
    },
    axis: {
        x: {
            type: 'category',
            categories: ['cat1', 'cat2', 'cat3', 'cat4', 'cat5', 'cat6', 'cat7', 'cat8', 'cat9'],
            show: false,
        },
        y : {
            tick: {
                //format: d3.format("$,")
                format: function (d) { return "$" + (d+100); }
            }
        }
    },
    grid: {
        y: {
            lines: [
                {value: 0, text: ''},
            ]
        }
    }
});

<link href="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.11/c3.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.11/c3.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.5/d3.min.js"></script>
<div id="chart_example"/>
&#13;
&#13;
&#13;

enter image description here