Vis.js - как скрыть линии сетки

Технические детали:

  • JS Framework: Аурелия
  • Платформа построения диаграмм: vis.js (библиотека graph2D)

    Я работаю над макетом сетки для представления приборной панели на веб-сайте, основанном на 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> 
    
  • Maxx, если возможно, вы можете добавить больше деталей или предоставить пример кода в plunker, jsfiddle или в codepen? Проверьте эту ссылку plnkr.co/edit/agDy37or5U99OkhE о том, как реализовать проект aurelia в plunker.

    Ray 02.05.2018 14:04

    О каком именно компоненте Vis вы говорите? График?

    João Menighin 02.05.2018 14:27

    @Joao Menighin: библиотека Graph2D, базовый линейный график

    Maxx D 02.05.2018 20:41
    Стоит ли изучать PHP в 2023-2024 годах?
    Стоит ли изучать PHP в 2023-2024 годах?
    Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
    Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
    Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
    В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
    Приемы CSS-макетирования - floats и Flexbox
    Приемы CSS-макетирования - floats и Flexbox
    Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
    Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
    В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
    Концепция локализации и ее применение в приложениях React ⚡️
    Концепция локализации и ее применение в приложениях React ⚡️
    Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
    Пользовательский скаляр GraphQL
    Пользовательский скаляр GraphQL
    Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
    2
    3
    1 281
    1
    Перейти к ответу Данный вопрос помечен как решенный

    Ответы 1

    Ответ принят как подходящий

    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. Вы знаете, как изменить цвет линии и иконок?

    Maxx D 03.05.2018 14:57

    @MaxxD Если вы хотите скрыть границу, установите границу .vis-timeline: jsfiddle.net/zrqst0oe; Пример изменения цвета: visjs.org/docs/graph2d/#Styles

    stdob-- 03.05.2018 17:52

    @ stbob--: спасибо за еще одно фантастическое предложение .. Я добавил CSS, который вы предоставили, чтобы скрыть линии сетки. Затем я использовал инструменты разработчика, чтобы проверить CSS на наличие строк и добавил следующее: code-------------------------------------------------- ---------- ‌ -------------------- ‌ ----- .vis-graph-group0 {fill: lime; ширина штриха: 3 пикселя; инсульт: аквамарин; заливка-непрозрачность: 0; } .vis-шкала времени .vis-fill {непрозрачность заливки: 0,1; / * ход: нет; * /} code

    Maxx D 04.05.2018 14:21

    Я вижу небольшую проблему: элементы не достигают тех же эффектов, что и при изменении в инструменте разработки. Здесь появляется светлая заштрихованная область, которой нет, когда это делается в инструментах разработчика ... также цвет значка меняется с изменением атрибута заливки, тогда как он не имеет никакого эффекта при добавлении в проект какой-либо идеи?

    Maxx D 04.05.2018 14:26

    Вы можете исключить из селектора класс точек: .vis-graph-group0:not(.vis-point) { fill: lime; stroke-width: 3px; stroke: aqua; fill-opacity: 0; } - jsfiddle.net/x6mb8eL3

    stdob-- 04.05.2018 14:33
    2) To hide time axis move the options showMajorLabels and showMinorLabels to the upper level Этого нет в инструкции, полезно
    JCH77 13.01.2020 18:59

    Другие вопросы по теме