0

请先看看这个jsfiddle

迷你图的 jsfiddle 示例

Highcharts.SparkLine = function (a, b, c) {
var hasRenderToArg = typeof a === 'string' || a.nodeName,
    options = arguments[hasRenderToArg ? 1 : 0],
    defaultOptions = {
        chart: {
            renderTo: (options.chart && options.chart.renderTo) || this,
            backgroundColor: null,
            borderWidth: 0,
            type: 'area',
            margin: [2, 0, 2, 0],
            width: 120,
            height: 20,
            style: {
                overflow: 'visible'
            },

            // small optimalization, saves 1-2 ms each sparkline
            skipClone: true
        },
        title: {
            text: ''
        },
        credits: {
            enabled: false
        },
        xAxis: {
            labels: {
                enabled: false
            },
            title: {
                text: null
            },
            startOnTick: false,
            endOnTick: false,
            tickPositions: []
        },
        yAxis: {
            endOnTick: false,
            startOnTick: false,
            labels: {
                enabled: false
            },
            title: {
                text: null
            },
            tickPositions: [0]
        },
        legend: {
            enabled: false
        },
        tooltip: {
            hideDelay: 0,
            outside: true,
            shared: true
        },
        plotOptions: {
            series: {
                animation: false,
                lineWidth: 1,
                shadow: false,
                states: {
                    hover: {
                        lineWidth: 1
                    }
                },
                marker: {
                    radius: 1,
                    states: {
                        hover: {
                            radius: 2
                        }
                    }
                },
                fillOpacity: 0.25
            },
            column: {
                negativeColor: '#910000',
                borderColor: 'silver'
            }
        }
    };

options = Highcharts.merge(defaultOptions, options);

return hasRenderToArg ?
    new Highcharts.Chart(a, options, c) :
    new Highcharts.Chart(options, b);

};

我尝试在表格标签之间使用那些迷你图的概念,并实现左右两列超过 2 列的图表,但是我需要条形图而不是迷你图,如下图所示

样本数据图表

请帮我解决这个问题...

更新 :

感谢 ppotaczek 和他关于改变酒吧类型的建议,我在路上遇到了另一个问题

用 bar 类型更新了 jsfiddle

好吧,现在我不知道如何让每一行都采用 115 的 xrow 大小。此时所有条形图都绘制整个单元格,但 115 中的 20 必须通过 71 和 115 具有不同的视图...

关于如何将 0 到 115 放在表格顶部并以此调整条形图的任何建议?

4

1 回答 1

2

您需要更改chart.type'bar'调整 HTML 表中的数据。

  chart: {
    type: 'bar',
    ...
  }

现场演示: https ://jsfiddle.net/BlackLabel/cyuvws37/

API 参考: https ://api.highcharts.com/highcharts/chart.type

于 2020-10-29T09:57:19.193 回答