Отобразить набор точек и набор линий на одном графике? - PullRequest
3 голосов
/ 11 октября 2011

Как я могу отобразить два ряда данных в одном графике с плавающей запятой, если один ряд представляет собой набор точек, а другой - линию?

Я видел примеры таких рядов линий, как этот , но сложным фактором является то, что я хотел бы отображать точки данных и строки данных на одном графике.

Это похоже на довольно распространенный вариант использования - в основном я хочу отобразить график рассеяния вместе с его линией наилучшего соответствия.

В настоящее время у меня есть

    var options = {
        series: {
            lines: {
                show: false
            },
            points: {
                show: true
            },
            lines: { 
                show: true
            }
        },
        grid: {
            hoverable: true,
        },
        yaxis: {
            min: 0,
            max: 1100000,
            font: 'Georgia'
        },
        xaxis: {
            min: 10,
            max: 480,
            font: 'Georgia'
        } 
        };
    var plot = $.plot($("#placeholder"),
    [{
        data: scatterdata,
        color: 'dodgerblue',
    }], options);
    var line = $.plot($("#placeholder"),
    [{
        data: linedata,
        color: 'black',
    }], options );

Но при этом отображается только второй набор данных, а не оба.

1 Ответ

3 голосов
/ 11 октября 2011

Вы хотите сделать что-то вроде этого (указать наборы данных по одному за раз):

$(function () {

    var points = [[1, 6], [2, 3], [3, 9], [4, 2], [5, 11]];

    var fitLine = [];
    for (var i = 0; i < 10; i += 0.5)
        fitLine.push([i, (0.9 * i) + 3.5]);

    $.plot($("#placeholder"), [
        {
            data: points,
            points: { show: true }
        },
        {
            data:fitLine,
            lines: { show: true }
        }
    ]);
});

Производит:

enter image description here

...