2015-08-30 2 views
0

Я использую flot для отображения некоторых данных на гистограмме. Но по какой-то причине мои данные не отображаются, и я понятия не имею, почему.Javascript flot не показывает данные серии

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

JsFiddle: http://jsfiddle.net/9jhpyne4/1/

Код:

var plotData = [ 
    [1, 12.35], 
    [2, 34.6], 
    [3, 56.7], 
    [4, 4.35] 
]; 

$.plot($("#main-chart"), plotData, { 
bars: { 
    show: true, 
    lineWidth: 0, 
    fill: true, 
    fillColor: { 
     colors: [{ 
      opacity: 0.8 
     }, { 
      opacity: 0.1 
     }] 
    } 
} 
}); 

ответ

1

Данные, которые вы передаете для построения функции необходимо иметь некоторые метаданные (например, этикетки и цвета):

var data = [ 
    [1, 12.35], 
    [2, 34.6], 
    [3, 56.7], 
    [4, 4.35] 
]; 
var dataset = [{ label: "a label", data: data, color: "red" }]; 

https://jsfiddle.net/9jhpyne4/3/

+0

Вам не нужен объект с метаданными. Единственной обязательной вещью является дополнительный массив вокруг массива 'data'. (В целом для данных нужны три этапа массивов: точка данных, ряды данных и данные в целом, последний здесь отсутствовал.) – Raidri

1

консоль выдаст ошибку о вашей # главной диаграммы ширина & высота как недействительные.

Изменение вашей ширины & Высота от процентного до пикселя, похоже, исправлена ​​ошибка.

HTML

<div id="main-chart" style="width:200px;height:200px;"></div> 

Вот ваш обновленный fiddle

+1

Похоже график кадр отображения, но я дон Не вижу ни одного из данных в вашем JSFiddle. –

+0

как @MaximillianLaumeister указал, теперь он отображает график, но не данные –

0

Вам нужно указать ширину и высоту.

<div id="main-chart" style="width:200px;height:200px;"></div> 

И Вам нужно немного изменить переменную plotData к:

var plotData = [ 
[[1,0], [1, 12.35]], 
[[2,0], [2, 34.6]], 
[[3,0], [3, 56.7]], 
[[4,0], [4, 4.35]]]; 

Вы можете увидеть полный пример здесь: here

+0

Это уже был дан ответ. Также ваш пример работает, но это не правильный способ сделать это в соответствии с документами –