如何消除C3时间表图表中的空白?

时间:2015-08-28 16:01:01

标签: d3.js charts c3 c3.js

我有一个用C3创建的时间序列表。图表中的数据存在时间间隔,条形图非常明显。

是否可以消除间隙?我渲染图表如下所示。请注意USE [database_1] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[stored_procedure_1] @acct char(8) AS WITH X AS ( select distinct st.ship2, t.name, null AS ident from sales_table st INNER JOIN accounts_table t ON st.ship2 = t.acct where st.bill2 = @acct ) SELECT x.ship2 AS s_acct ,x.name ,COALESCE(ident, lp.ID_1 +', '+ lp.ID_1 , lp.ID_2 , lp.ID_2 , '' ) AS Ident FROM X LEFT JOIN lp_table lp ON x.ship2 = lp.acct COLLATE Latin1_General_CS_AS WHERE COALESCE(ident, lp.ID_2 +', '+ lp.ID_1 , lp.ID_1 , lp.ID_2 , '' ) <> '' select * from X where ident is not null 2013-01-03

之间的差距
2013-01-06

DEMO http://jsfiddle.net/4nar0rne/1/

提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果您不希望均匀地绘制点而不是基于x值之间的距离,则可以使用类别轴而不是timseries轴。

var chart = c3.generate({
    data: {
        type: 'bar',
        columns: [
            ['data1', 30, 200, 100, 400, 150, 250]
        ]
    },
    axis: {
        x: {
            type: 'category',
            categories: ['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-06', '2013-01-07', '2013-01-08']
        }
    }    
});

但请注意,您将失去使用时间序列轴(根据时间值,排序等间隔的条形图)的所有优点。

小提琴 - http://jsfiddle.net/sb5p0scL/

如果你想让刻度线与标签的中心对齐,你可以像这样使用axis.x.centered

...
axis: {
    x: {
       tick: {
           centered: true
       }
       ...

小提琴 - http://jsfiddle.net/rc0uhf1y/