Технические детали:
Я работаю над макетом сетки для представления приборной панели на веб-сайте, основанном на Aurelia. Отдельные сетки будут отображать небольшой график посередине. Поскольку мне нужен только базовый линейный график, я использую библиотеку Graph2D.
После нескольких попыток можно было заставить его отобразить график, но он отображается с линиями сетки и метками сзади, что в сетке небольшого размера выглядит отвратительно.
1) Может ли кто-нибудь поделиться фрагментом кода, чтобы отключить отображение линий сетки и меток .. мои текущие настройки параметров:
var options= {
start : '2014-06-11',
end : '2014-06-16',
graphHeight: '45px',
dataAxis:{
showMinorLabels:false,
showMajorLabels:false,
visible:false
}
}
2) Кроме того, мой текущий массив элементов выглядит следующим образом (на самом деле, я использую тот, что в примере):
var items = [
{x: '2014-06-13', y: 30},
{x: '2014-06-14', y: 10},
{x: '2014-06-15', y: 15},
{x: '2014-06-16', y: 30},
{x: '2014-06-17', y: 10},
{x: '2014-06-18', y: 15}
];
Когда я пытался изменить значения «x:» на что-то другое (для отображения времени в моем случае), например
var items = [
{x: '10:00', y: 30},
{x: '10:30', y: 10},
{x: '11:00', y: 15},
{x: '11:30', y: 30},
{x: '12:00', y: 10},
{x: '12:30', y: 15}
{x: '13:00', y: 30},
{x: '13:30', y: 10}
];
Он выдал ошибку "X is NaN" .. Как я могу изменить значения .. Я видел несколько предложений по использованию форматера ..
Подробный код:
import {BindingSignaler} from 'aurelia-templating-resource'
import * as vis from 'vis'
import * as _ from loadash
export class GraphDisplay{
@bindable data : any;
private graph= vis.Graph2D;
private container = HTMLElement;
attached()
{
this.drawGraph();
}
activate()
{
this.drawGraph();
}
private drawGraph()
{
if (!this.data)
{
return;
}
var items = [
{x: '2014-06-13', y: 30},
{x: '2014-06-14', y: 10},
{x: '2014-06-15', y: 15},
{x: '2014-06-16', y: 30},
{x: '2014-06-17', y: 10},
{x: '2014-06-18', y: 15}
];
var dataset = new vis.Dataset(items);
var options= {
start : '2014-06-11',
end : '2014-06-16',
graphHeight: '45px',
dataAxis:{
showMinorLabels:false,
showMajorLabels:false,
visible:false
}
}
if (this.container)
{
this.graph = new vis.Graph2D(this.container, dataset, groups, options);
}
else
{
console.info('No container found');
}
}
}
HTMLElement привязывается через атрибут ref в представлении
<template>
<div class = "containerClass" id = "graphContainer" ref = "container" style = "height:200px; width:200px;">
</template>
О каком именно компоненте Vis вы говорите? График?
@Joao Menighin: библиотека Graph2D, базовый линейный график
1) Чтобы скрыть сетку, используйте CSS:
.vis-background {
display: none;
}
2) Чтобы скрыть ось времени, переместите опции showMajorLabels
и showMinorLabels
на верхний уровень:
var options = {
start: '2014-06-13 09:30',
end: '2014-06-13 13:00',
graphHeight: '45px',
dataAxis: {
visible: false
},
showMajorLabels: false,
showMinorLabels: false
};
3) Вы можете указать минуты в данных:
var items = [{
x: '2014-06-13 10:00',
y: 30
}, ...
Полный пример: https://jsfiddle.net/atnnL13f/
Спасибо за кучу @stdob, код решил 95% моих проблем с дисплеем. Пара небольших просьб .. 1. Я все еще вижу тонкую прямоугольную рамку вокруг графика. Как бы то ни было, чтобы от этого избавиться? 2. Вы знаете, как изменить цвет линии и иконок?
@MaxxD Если вы хотите скрыть границу, установите границу .vis-timeline
: jsfiddle.net/zrqst0oe; Пример изменения цвета: visjs.org/docs/graph2d/#Styles
@ stbob--: спасибо за еще одно фантастическое предложение .. Я добавил CSS, который вы предоставили, чтобы скрыть линии сетки. Затем я использовал инструменты разработчика, чтобы проверить CSS на наличие строк и добавил следующее: code
-------------------------------------------------- ---------- -------------------- ----- .vis-graph-group0 {fill: lime; ширина штриха: 3 пикселя; инсульт: аквамарин; заливка-непрозрачность: 0; } .vis-шкала времени .vis-fill {непрозрачность заливки: 0,1; / * ход: нет; * /} code
Я вижу небольшую проблему: элементы не достигают тех же эффектов, что и при изменении в инструменте разработки. Здесь появляется светлая заштрихованная область, которой нет, когда это делается в инструментах разработчика ... также цвет значка меняется с изменением атрибута заливки, тогда как он не имеет никакого эффекта при добавлении в проект какой-либо идеи?
Вы можете исключить из селектора класс точек: .vis-graph-group0:not(.vis-point) { fill: lime; stroke-width: 3px; stroke: aqua; fill-opacity: 0; }
- jsfiddle.net/x6mb8eL3
2) To hide time axis move the options showMajorLabels and showMinorLabels to the upper level
Этого нет в инструкции, полезно
Maxx, если возможно, вы можете добавить больше деталей или предоставить пример кода в
plunker
,jsfiddle
или вcodepen
? Проверьте эту ссылку plnkr.co/edit/agDy37or5U99OkhE о том, как реализовать проект aurelia вplunker
.