Skip to content

CentroGeo/sisdai-graficas

Repository files navigation

sisdai-graficas

El proyecto sisdai-graficas es una biblioteca de visualización de datos que forma parte del Sistema de Diseño y Accesibilidad para la Investigación (Sisdai).

Cualquier persona puede hacer uso de esta biblioteca al clonarla e instalarla en su equipo a través del protocolo HTTPS.

Utilidades

  • Homologa los estilos utilizando el sistema de diseño Sisdai.
  • Mejora la accesibilidad mediante el uso de html semántico y aplicando las reglas establecidas en Sisdai.
  • Facilita la actualización de elementos institucionales requeridos.
  • Facilita y reduce el código de elementos para la visualización de datos.

Instalación y uso

Instala la biblioteca

En la carpeta principal de tu proyecto Vue, instala la biblioteca en las dependencias de tu proyecto con:

npm install git+https://codigo.conahcyt.mx/sisdai/sisdai-graficas

Dependiendo de la versión de la biblioteca a instalar, la instrucción anterior puede cambiar a:

npm install git+https://codigo.conahcyt.mx/sisdai/sisdai-graficas#vN.N.N

donde N.N.N indica el número de versión, por ejemplo v1.0.0

Importa la biblioteca

Para poder utilizar un componente de visualización de esta biblioteca, es necesario importar y registrarlo en el archivo src/main.js del proyecto (de Vue) a trabajar, por ejemplo en el siguiente script se está registrando e importando el componente de SisdaiBarras de esta biblioteca (que construye una gráfica de barras).

import Vue from 'Vue'
import App from './App.Vue'
import { SisdaiBarras } from 'sisdai-graficas'
import 'sisdai-graficas/dist/sisdai-graficas.css'

Vue.use(SisdaiBarras)

Uso

En cualquier vista en la sección <template> de tu proyecto puedes utilizar los componentes de la biblioteca sin necesidad de volver a importarlo en el script. Por ejemplo:

<template>

  <SisdaiBarras
      barras_id="..."
      :datos="[{...}]"
      :variables="[{...}]"
      nombre_color="..."
      nombre_barra="..."
      titulo_eje_x="..."
      titulo_eje_y="..."
  />

</template>

Para un uso avanzado revisa la documentación.

Actualización de la biblioteca

Si actualmente utilizas la biblioteca y necesitas utilizar otra versión de las gráficas, en la carpeta del proyecto instala la versión que requieres nuevamente

npm install git+https://codigo.conahcyt.mx/sisdai/sisdai-graficas#vN.N.N

donde N.N.N indica el número de versión, por ejemplo v1.0.0

Listado de gráficas

Gráfica Descripcion Propiedades requeridas
SisdaiAlluvial Componente para construir un gráfico de tipo alluvial :datos="{objeto}" :variales="[{arreglo de objetos}]"
SisdaiAreasApiladas Componente para construir una gráfica de áreas apiladas en el tiempo :datos="[{arreglo de objetos}]" :variales="[{arreglo de objetos}]" nombre_indice="texto" formato_temporal="texto"
SisdaiAreasApiladasOrdenadas Componente para construir una gráfica de áreas apiladas en el tiempo cuyas categorías se reordenan en cada fecha de forma ascendente :datos="[{arreglo de objetos}]" :variales="[{arreglo de objetos}]" nombre_indice="texto" formato_temporal="texto"
SisdaiBarras Componente para crear gráficas de barras simples o apiladas :datos="[{arreglo de objetos}]" :variables="[{arreglo de objetos}]" nombre_indice="texto"
SisdaiCajasBigotes Componente para construir un gráfico de cajas y bigotes, útil para visualizar distribuciones :datos="[{arreglo de objetos}]" :variables="{objeto}" nombre_indice="texto"
SisdaiDona Componente para construir un gráfico de donas :datos="[{arreglo de objetos}]" :variables="{objeto}" nombre_indice="texto" clave_cantidad="texto"
SisdaiSeriesTiempo Componente para construir un gráfico de series de tiempo :datos="[{arreglo de objetos}]" :variables="{objeto}" nombre_indice="texto" formato_temporal="texto"
SisdaiViolines Componente para construir un diagrama de violines, útil para visualizar distribuciones :datos="[{arreglo de objetos}]" :variables="{objeto}" nombre_indice="texto"

Uso local del proyecto

Pasos previos recomendados

Para desarrollar este proyecto se usa node.js como entorno de ejecución de JavaScript. La opción recomendada para instalarlo es vía nvm que es el manejador de versiones de node. Siguiendo este camino, también se instalará el manejador de paquetes npm. Las instrucciones de instalación y dependencias del proyecto se muestran aquí usando tanto npm, como nvm.

Las gráficas de esta biblioteca están desarrolladas como componentes de Vue.js usando D3.js, por lo tanto se le recomienda a la persona usuaria tener conocimientos básicos de lo anterior así como de desarrollo en JavaScript.

Dependencias

Instalación

Se puede clonar e instalar este proyecto en tu equipo utilizando solo el protocolo HTTPS, es decir:

git clone https://codigo.conahcyt.mx/sisdai/sisdai-graficas.git

Establece la versión adecuada de npm y nvm (previamente instaladas).

nvm use 18

Instala las dependencias de la biblioteca.

npm install

Documentación

Este proyecto cuenta con una documentación más extensa que aún está en proceso de desarrollo. Es posible levantarla en un ambiente local con la instrucción:

npm run docs

Testing

Si deseas correr el testing puedes ejecutar el siguiente comando, el cual implementará la pruebas unitarias

npm run test

Adicionalmente puedes ejecutar el siguiente comando para evaluar el porcentaje de código que se ha testeado y visualizar el avance en un servidor local

npm run coverage

Licencia

SOFTWARE LIBRE Y ESTÁNDARES ABIERTOS

Sisdai y sisdai-graficas están alineadas a las disposiciones establecidas por la Coordinación de Estrategia Digital Nacional ( DOF:06/09/2021) en donde se estipula que las "políticas y disposiciones tienen como objetivo fortalecer el uso del software libre y los estándares abiertos, fomentar el desarrollo de aplicaciones institucionales con utilidad pública, lograr la autonomía, soberanía e independencia tecnológicas dentro de la APF". En el artículo 63 se explicita que "cuando se trate de desarrollos basados en software libre, se respetarán las condiciones de su licenciamiento original [...]".

Considerando lo anterior, sisdai-graficas se publica bajo la licencia LGPLv3. Dicha licencia se puede consultar en el archivo LICENSE de este repositorio. Esta licencia se encuentra disponible en inglés porque aunque el Sisdai privilegia el idioma español se respeta la versión original de acuerdo al proyecto GNU.

Contribuir

Por el momento sólo quienes sean parte de un equipo de investigación del capítulo de un ENI podrán levantar issues en este repositorio. El equipo del Sisdai se encargará de mantenerlo.