#angularjs-directive #nvd3.js
#angularjs-директива #nvd3.js
Вопрос:
Привет, сообщество, я поражен этим в течение нескольких последних дней .. Я попробовал мастер nvd3 в github.Затем я поиграл с LinePlusBarFocusChart.У меня есть одна проблема, в примере они использовали числовые значения .. для загрузки данных
var testdata = [ { «ключ»: «Количество», «бар»: истина, «значения»: [ [ «ЯЙЦО» , 121000.0] , [ 1138683600000 , 127000.0] ] }, { » ключ» : «Цена», «значения» : [ [ «ЯЙЦО» , 71.89] , [ 1138683600000 , 75.51] ] } ]
пока я меняю первое значение в виде строки..Моя диаграмма выглядит так,
кто-нибудь может помочь мне решить эту проблему …. Ответ будет оценен по достоинству.
С уважением, Юварадж…
Ответ №1:
Каждый элемент данных представляет собой последовательный элемент, поэтому вам нужна временная переменная. Но вы можете добавить дополнительную переменную с метками в набор данных
$scope.data = [
{
"key" : "Quantity" ,
"bar": true,
"values" : [
[ 1136005200000 , 1271000.0, 'EGG1'] ,
[ 1138683600000 , 1271000.0, 'EGG2'] ,
...
]
},{
"key" : "Price" ,
"values" : [ [ 1136005200000 , 71.89], ... ]
}
].map(function(series) {
series.values = series.values.map(function(d) {
return {x: d[0], y: d[1], label: d[2] }
});
return series;
});
а затем манипулируйте им с xAxis.tickFormat
помощью опции диаграммы. Эта опция может быть определена как функция, подобная:
xAxis: {
tickFormat: function(d) {
var dx = $scope.data[0].values[d].x;
var label = $scope.data[0].values[d].label;
return label ? label : d3.time.format('%x')(new Date(dx));
}
}
Смотрите демонстрацию. (Здесь используется эта директива.)
Комментарии:
1. У меня есть набор данных со строковыми значениями, а не одна строка «ЯЙЦО». var testdata = [ { «ключ»: «Количество», «бар»: истина, «значения»: [ [ ‘ЯЙЦО’ , 121000.0] , [ 1138683600000 , 127000.0] ,[ » ЯЙЦО», 71.89] ,[ «ЯЙЦО», 71.89] , [ «ЯЙЦО», 71.89] ,[ «ЯЙЦО», 71.89],[ «ЯЙЦО», 71.89],[ «ЯЙЦО», 71.89] ] }, { «ключ»: «Цена», «значения»: [ [ ‘ЯЙЦО’ , 71.89] , [ 1138683600000 , 75.51],[ » ЯЙЦО», 71.89] ,[«ЯЙЦО», 71.89],[ «ЯЙЦО», 71.89],[ «ЯЙЦО», 71.89],[ «ЯЙЦО», 71.89],[ «ЯЙЦО», 71.89] ] } ] можете ли вы показать несколько примеров..
2. сохраните свою временную переменную и добавьте другую с метками. Я обновил ответ.
3. Спасибо за ваш ответ, криспо.. У меня есть одно сомнение в коде ur, значения EGG2, EGG3 не отображаются на этикетке .. можете ли вы проверить, пожалуйста.
4. поскольку набор данных большой — просто увеличьте масштаб диаграммы.
5. О, спасибо, Криспо, работает нормально. У меня есть один запрос, мне нужно передать три параметра ах .. Я думаю, как передать «значения»: [ [ ‘EGG’, 1210000.0] , ,[ «EGG2», 71.89] ] для загрузки диаграммы. Это невозможно ах .. я должен передать дату, значение и метку ах..