<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Shimoku archivos - Frexus</title>
	<atom:link href="https://www.frexus.dev/tag/shimoku/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.frexus.dev/tag/shimoku/</link>
	<description>Generando Valor Agreado</description>
	<lastBuildDate>Tue, 05 Jul 2022 23:06:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.frexus.dev/wp-content/uploads/2024/03/cropped-Captura-de-Pantalla-2022-12-26-a-las-15.52.42-32x32.png</url>
	<title>Shimoku archivos - Frexus</title>
	<link>https://www.frexus.dev/tag/shimoku/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">215529362</site>	<item>
		<title>Shimoku &#124; Prueba de concepto</title>
		<link>https://www.frexus.dev/articulo/shimoku-prueba-de-concepto/</link>
					<comments>https://www.frexus.dev/articulo/shimoku-prueba-de-concepto/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Tue, 05 Jul 2022 23:06:36 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[numpy]]></category>
		<category><![CDATA[Pandas]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Shimoku]]></category>
		<guid isPermaLink="false">https://ajgutierrez.com.mx/?p=1149</guid>

					<description><![CDATA[<p>En la actualidad la forma en que se presentan los datos y con la rapidez que se requiere hace necesario la creación de librerías shimoku, permite hacer este salto. Es decir, con el dataframe (los datos) se pueden expresar en gráfica de todo tipo, de barras, pastel, histogramas y demás. Preparación del ambiente Para poder agilizar las cosas, es de cierta manera necesario hacer uso de panda una librería escrita para la extracción y análisis de datos. O al menos para esta prueba de concepto se utilizo, también hay que instalar la librería shimoku, desde una terminal ejecutando los siguientes comandos: Nota: es importante que la versión de python sea superior a la tres. Preferentemente la 3.9.x La línea sudo apt install python-pip permite instalar las herramientas para hacer más fácil la instalación de librerías de python. La línea pip install pandas, es la librería para la extracción y análisis de datos. la línea pip install shimoku-api-python, permite instalar la biblioteca, de shimoku. Importando las librerías Las siguientes líneas de código en python permiten la importación de las librerías necesarias, se puede observar que se utiliza shimoku_api_python y se le asigna un alias Shimoku. Lo mismo para pandas con su alias pd, numpy con el alias np. Cabe aclarar que numpy se instala por defecto con la instalación de pandas. Cargando Datos En las siguientes líneas de código se puede observar que se hace uso de la función de lectura de un archivo de panda este fichero contiene los datos para la prueba, se calcula los valores mínimos y máximos, se convierten a string para posteriormente mostrarlo como indicadores. Variables de ambiente para shimoku En las líneas anteriores se encuentran las variables que se requiere para que se autentique y se envíen los datos a la API de shimoku. Configuración Se observa en las siguientes líneas se muestra la configuración de la comunicación del cliente con shimoku. También se nota el uso de un par de las variables configuradas anteriormente. Creando una gráfica Se observa que con las líneas anteriores se genera una gráfica de barra, los datos se obtiene de la variable df, que se cargo con el dataframe, del archivo que se leyó con panda. Se debe de notar que en el eje de las equis, se colocara las horas y en el eje de la (y) los valores mínimos y máximos que se tengan de los servicios instalados o registrados. El menu_path, se refiere a la ubicación donde se encontrará la gráfica o el reporte en cuestión; esta variable fue declarada mas arriba. El valor de order, depende de la posición que se vayan a colocar los elementos (gráficas, indicadores, mas gráficas, html, entre otros.) En el title, va a colocarse el título de la gráfica. Cargando el html Para esta prueba de concepto, se quiere hacer uso del html, esto es de la variable que html, donde con el siguiente código se le envía o carga a shimoku. Se debe de observar que, se colocará en el mismo menu_path, lo diferente aquí es que el order, ya esta en la posición 1, que indica que se colocará después de la gráfica. rows_size, indica en que posición de las filas comenzará, lo mismo para cols_size, solo que esté indica las columnas. Creando indicadores La siguientes líneas de código muestran la creación de cuatros indicadores, a los que corresponde los máximos y mínimos servicios instalados, así como los registrados. Para todos los casos se le asigno un color, un título, una alineación y un valor, el cual se calculo con la función min y max de panda. Cargando indicadores En las posteriores líneas de código se muestra la manera en que se cargan o envían los datos de los indicadores a shimoku. Si todo sale bien se habrá creado un reporte en el que se incluye una gráfica de barras interactiva, una descripción de la gráfica en html y cuatro indicadores en diferentes colores. Finales Este es el código completo donde se realiza un reporte sencillo, observe la imagen 1 es como se visualiza los datos. Es importante aclarar que las credenciales hay que solicitarla mediante la página shimoku.io. Los archivos originales se encuentran en el github se puede acceder desde aqui El código fue generado con el manual de shimoku, se puede acceder desde aquí</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/shimoku-prueba-de-concepto/">Shimoku | Prueba de concepto</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>En la actualidad la forma en que se presentan los datos y con la rapidez que se requiere hace necesario la creación de librerías <strong>shimoku</strong>, permite hacer este salto. Es decir, con el dataframe (los datos) se pueden expresar en gráfica de todo tipo, de barras, pastel, histogramas y demás.</p>



<h2 class="wp-block-heading">Preparación del ambiente</h2>



<p>Para poder agilizar las cosas, es de cierta manera necesario hacer uso de panda una librería escrita para la extracción y análisis de datos. O al menos para esta prueba de concepto se utilizo, también hay que instalar la librería shimoku, desde una terminal ejecutando los siguientes comandos:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
sudo apt install python-pip
pip install pandas
pip install shimoku-api-python
</pre></div>


<p><strong>Nota:</strong> es importante que la versión de python sea superior a la tres. Preferentemente la 3.9.x</p>



<p>La línea <strong>sudo apt install python-pip</strong> permite instalar las herramientas para hacer más fácil la instalación de librerías de python.</p>



<p>La línea <strong>pip install pandas</strong>, es la librería para la extracción y análisis de datos.</p>



<p>la línea <strong>pip install shimoku-api-python</strong>, permite instalar la biblioteca, de shimoku.</p>



<h2 class="wp-block-heading">Importando las librerías</h2>



<p>Las siguientes líneas de código en python permiten la importación de las librerías necesarias, se puede observar que se utiliza <strong>shimoku_api_python</strong> y se le asigna un alias <strong>Shimoku</strong>. Lo mismo para <strong>pandas</strong> con su alias <strong>pd</strong>, <strong>numpy</strong> con el alias <strong>np</strong>. Cabe aclarar que numpy se instala por defecto con la instalación de pandas.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
from os import getenv
from typing import Dict, List
import shimoku_api_python as Shimoku
import pandas as pd
import numpy as np
</pre></div>


<h2 class="wp-block-heading">Cargando Datos</h2>



<p>En las siguientes líneas de código se puede observar que se hace uso de la función de lectura de un archivo de panda este fichero contiene los datos para la prueba, se calcula los valores mínimos y máximos, se convierten a string para posteriormente mostrarlo como indicadores.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
df = pd.DataFrame = pd.read_csv('datos.csv') #cargando datos del archivo
print('cargando datos df') #avisando en la terminal
valorMaximo=df.max() #calculando el máximo
valorMinimo=df.min() #calculando el mínimo
imax= str(valorMaximo&#x5B;1]) #convirtiendo a string los valores máximos y mínimos de las 
rmax= str(valorMaximo&#x5B;2]) #columnas instalado y registrado.
imin= str(valorMinimo&#x5B;1])
rmin= str(valorMinimo&#x5B;2])
</pre></div>


<h2 class="wp-block-heading">Variables de ambiente para shimoku</h2>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
html=(
      &quot;&lt;p style='background-color: '#daf4f0';&gt;&quot;
      &quot;&lt;b&gt;Descripcion&lt;/b&gt;: Esta grafico permite mostrar los picos de &quot;
      &quot;instalaciones y registros, realizados durante un dia de trabajo.&lt;/p&gt;&quot;
     )
env='prod'
menu_path=&quot;PruebaConcepto/Reporte&quot;
acces_token  = getenv(env,'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
universe_id: str = getenv(env,'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
business_id: str = getenv(env,'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
</pre></div>


<p>En las líneas anteriores se encuentran las variables que se requiere para que se autentique y se envíen los datos a la API de shimoku.</p>



<h2 class="wp-block-heading">Configuración</h2>



<p>Se observa en las siguientes líneas se muestra la configuración de la comunicación del cliente con shimoku. También se nota el uso de un par de las variables configuradas anteriormente.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
shimoku = Shimoku.Client(
    config={'access_token': acces_token},
    universe_id = universe_id,
    environment='production',
)
</pre></div>


<h2 class="wp-block-heading">Creando una gráfica</h2>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
shimoku.plt.set_business(business_id)
report: Dict = shimoku.plt.bar(
    df,x='hora', y=&#x5B;'instalado','registrados'],
    menu_path=menu_path,
    order=0,
    title='Instalaciones y Registros',
)
</pre></div>


<p>Se observa que con las líneas anteriores se genera una gráfica de barra, los datos se obtiene de la variable <strong>df</strong>, que se cargo con el <strong>dataframe</strong>, del archivo que se leyó con panda. Se debe de notar que en el eje de las equis, se colocara las horas y en el eje de la (y) los valores mínimos y máximos que se tengan de los servicios instalados o registrados. El<strong> menu_path</strong>, se refiere a la ubicación donde se encontrará la gráfica o el reporte en cuestión; esta variable fue declarada mas arriba. El valor de <strong>order</strong>, depende de la posición que se vayan a colocar los elementos (gráficas, indicadores, mas gráficas, html, entre otros.) En el <strong>title</strong>, va a colocarse el título de la gráfica.  </p>



<h2 class="wp-block-heading">Cargando el html</h2>



<p>Para esta prueba de concepto, se quiere hacer uso del html, esto es de la variable que <strong>html</strong>, donde con el siguiente código se le envía o carga a shimoku. Se debe de observar que, se colocará en el mismo <strong>menu_path</strong>, lo diferente aquí es que el <strong>order</strong>, ya esta en la posición 1, que indica que se colocará después de la gráfica. <strong>rows_size</strong>, indica en que posición de las filas comenzará, lo mismo para <strong>cols_size</strong>, solo que esté indica las columnas.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
shimoku.plt.html(
    html=html,
    menu_path=menu_path,
    order=1, rows_size=2, cols_size=12,
)
</pre></div>


<h2 class="wp-block-heading">Creando indicadores</h2>



<p>La siguientes líneas de código muestran la creación de cuatros indicadores, a los que corresponde los máximos y mínimos servicios instalados, así como los registrados. Para todos los casos se le asigno un color, un título, una alineación y un valor, el cual se calculo con la función min y max de panda.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
data_=&#x5B;
    {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Max.Instalado&quot;,
       &quot;value&quot;:imax,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;red&quot;,
    },
   {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Max.Registrado&quot;,
       &quot;value&quot;:rmax,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;success&quot;,
   },
   {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Min.Instalado&quot;,
       &quot;value&quot;:imin,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;blue&quot;,
   },
   {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Min.Registrado&quot;,
       &quot;value&quot;:rmin,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;orange&quot;,
   },
]
</pre></div>


<h2 class="wp-block-heading">Cargando indicadores</h2>



<p>En las posteriores líneas de código se muestra la manera en que se cargan o envían los datos de los indicadores a shimoku. Si todo sale bien se habrá creado un reporte en el que se incluye una <strong>gráfica</strong> de barras interactiva, una descripción de la gráfica en <strong>html</strong> y cuatro <strong>indicadores</strong> en diferentes colores.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
shimoku.plt.indicator(
    data=data_,
    menu_path=menu_path,
    order=2,
    rows_size=2, cols_size=12,
    value='value',
    header=&quot;title&quot;,
    footer='description',
    align='align',
    color='color',
)
</pre></div>


<h2 class="wp-block-heading">Finales</h2>



<p>Este es el código completo donde se realiza un reporte sencillo, observe la imagen 1 es como se visualiza los datos. Es importante aclarar que las credenciales hay que solicitarla mediante la página shimoku.io. Los archivos originales se encuentran en el github se puede acceder desde <a href="https://github.com/ajgutierr3z/shimoku" target="_blank" rel="noreferrer noopener">aqui</a></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
from os import getenv
from typing import Dict, List
import shimoku_api_python as Shimoku
import pandas as pd
import numpy as np
df = pd.DataFrame = pd.read_csv('datos.csv')
print('cargando datos df')
valorMaximo=df.max()
valorMinimo=df.min()
imax= str(valorMaximo&#x5B;1])
rmax= str(valorMaximo&#x5B;2])
imin= str(valorMinimo&#x5B;1])
rmin= str(valorMinimo&#x5B;2])
# codigo shimoku
html=(
      &quot;&lt;p style='background-color: '#daf4f0';&gt;&quot;
      &quot;&lt;b&gt;Descripcion&lt;/b&gt;: Esta grafico permite mostrar los picos de &quot;
      &quot;instalaciones y registros, realizados durante un dia de trabajo.&lt;/p&gt;&quot;
     )
env='prod'
menu_path=&quot;PruebaConcepto/Reporte&quot;
acces_token  = getenv(env,'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
universe_id: str = getenv(env,'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
business_id: str = getenv(env,'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
print('Entornos creados')
shimoku = Shimoku.Client(
    config={'access_token': acces_token},
    universe_id = universe_id,
    environment='production',
)
print('Cliente configurado')
shimoku.plt.set_business(business_id)
report: Dict = shimoku.plt.bar(
    df,x='hora', y=&#x5B;'instalado','registrados'],
    menu_path=menu_path,
    order=0,
    title='Instalaciones y Registros',
)
print ('Grafica generada')
shimoku.plt.html(
    html=html,
    menu_path=menu_path,
    order=1, rows_size=2, cols_size=12,
)
print ('Html generado')
data_=&#x5B;
    {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Max.Instalado&quot;,
       &quot;value&quot;:imax,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;red&quot;,
    },
   {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Max.Registrado&quot;,
       &quot;value&quot;:rmax,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;success&quot;,
   },
   {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Min.Instalado&quot;,
       &quot;value&quot;:imin,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;blue&quot;,
   },
   {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Min.Registrado&quot;,
       &quot;value&quot;:rmin,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;orange&quot;,
   },
]
print ('cargando indicadores')
shimoku.plt.indicator(
    data=data_,
    menu_path=menu_path,
    order=2,
    rows_size=2, cols_size=12,
    value='value',
    header=&quot;title&quot;,
    footer='description',
    align='align',
    color='color',
)
print ('DataWebApp creada')

</pre></div>


<p></p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="2880" height="1662" src="https://www.frexus.dev/wp-content/uploads/2022/07/shimoku.png?w=1024" alt="" class="wp-image-1165" srcset="https://www.frexus.dev/wp-content/uploads/2022/07/shimoku.png 2880w, https://www.frexus.dev/wp-content/uploads/2022/07/shimoku-300x173.png 300w, https://www.frexus.dev/wp-content/uploads/2022/07/shimoku-1024x591.png 1024w, https://www.frexus.dev/wp-content/uploads/2022/07/shimoku-768x443.png 768w, https://www.frexus.dev/wp-content/uploads/2022/07/shimoku-1536x886.png 1536w, https://www.frexus.dev/wp-content/uploads/2022/07/shimoku-2048x1182.png 2048w" sizes="(max-width: 2880px) 100vw, 2880px" /><figcaption>Imagen 1. Reporte generado en shimoku. Fuente: Captura tomada de shimoku.io</figcaption></figure>



<p>El código fue generado con el manual de shimoku, se puede acceder desde <a href="https://docs.shimoku.com/development/" target="_blank" rel="noreferrer noopener">aquí</a></p>
<p>La entrada <a href="https://www.frexus.dev/articulo/shimoku-prueba-de-concepto/">Shimoku | Prueba de concepto</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/shimoku-prueba-de-concepto/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1149</post-id>	</item>
	</channel>
</rss>
