0

当使用Pivottable.jsPlotly Line Chart 时,点用垂直线连接。右边它应该与水平线相连。

重现代码


<div id="output" style="overflow:scroll;width:100%"></div>
<script>
    var numberFormat = $.pivotUtilities.numberFormat;
    var floatFormat = numberFormat({digitsAfterDecimal: 1});
    var tpl = $.pivotUtilities.aggregatorTemplates; 
    var derivers = $.pivotUtilities.derivers;
    var renderers = $.extend($.pivotUtilities.renderers,
        $.pivotUtilities.plotly_renderers);   
    
    
    var months = ['2000-01','2000-01',  '2000-02', '2000-03', '2000-04', '2000-05', '2000-06', '2000-07', '2000-08', '2000-09', '2000-10', '2000-11', '2000-12', '2001-01', '2001-01'];
    var scores = [-6.5, -30.0, -26.6, -43.6, -52.3, -71.5, -81.4, -80.5, -82.2, -76, -67.3, -46.1, -35, -30, -10];
    var objs =[];
    var i = 0;
    for (m of months) {
        var obj = {};
        obj['month'] = m;
        obj['score'] = scores[i];
        obj['user'] = 'Joe';
        objs.push(obj);
        i++;
    }
    
    $('#output').pivotUI(
        objs,
            {
            renderers: renderers,
            showUI: false,
                rows: ['user'],
                cols: ['month'],
                rendererName: 'Line Chart',
                rowOrder: 'value_a_to_z', 
                colOrder: 'value_a_to_z',
            aggregators: {
                    "Score": function() { return tpl.sum(floatFormat)(['score']) }
             }, 
                rendererOptions: {
                    plotly: { 
                            xaxis: {
                                tickmode: "linear", 
                                tick0: '1999-12-15',
                                dtick: 30 * 24 * 60 * 60 * 1000 // milliseconds 
                            }
                         
                    }
                }               
            }
    );
</script>

预期行为

图片

实际行为

图片

环境

  • 数据透视 v2.23.0
  • 剧情基础 v1.53.0
  • jQuery v3.4.1
  • Opera 浏览器 v70.0:
4

1 回答 1

1

问题可能出在rowOrdercolOrder在这里设置...按照给定的顺序绘制数据,在这里看起来您正在按 Y 值对数据进行排序:)

于 2020-09-21T00:58:31.750 回答