Paso 4: Envío de datos con MATLAB
Así que lo primero que tienes que hacer es agregar el directorio donde guardaste los archivos de datos de la API en el directorio MATLAB.
Puede hacer esto añadiendo estas líneas a su código:
>>> api_path = ' C: / Program archivos/MATLAB/plotlyAPI/plotly ';
>>> addpath(genpath(api_path))
No olvide cambiar el directorio anterior, en caso de utilice una ubicación diferente que yo.
Autenticación:
Ahora usted debe firmar en su cuenta de plotly a través de su código. Esto se hace usando esta línea:
>>> iniciar sesión ('joaoduarte', 'my_api_key')
En consecuencia debe cambiar las cuerdas a su configuración. La primera cadena es su nombre de usuario plotly, en mi caso es 'joaoduarte' y la segunda cadena es su API Key, que generó en el paso anterior, en la configuración del perfil plotly.
Personalmente me gusta poner estas líneas con la configuración en el inicio de mi código, ya que son parte de las configuraciones generales, pero se pueden utilizar en cualquier lugar que desee, como vienen antes de empezar a llamar a las funciones plotly.
Datos:
Si tienes que enviar los datos de la API de MATLAB, básicamente está enviando objetos JSON para el sitio web plotly. Estos objetos siguen una estructura muy específica y organizada, dividida en partes, como datos y el diseño.
La parte de datos es básicamente un array con todos la trace información de datos, como por ejemplo los puntos X, Y y Z, así como la configuración del gráfico, como el tipo de gráfico y el estilo.
Para enviar información de datos desde MATLAB a plotly podemos utilizar una función de API denominada plotly(). En mi caso, quiero enviar los datos de x, donde X es una matriz, básicamente de la longitud del eje X (40 m para cada lado, siendo 0 en el centro), los datos y, donde Y es también una matriz pero con la altura de la zona (desde el suelo hasta 50 m de alto) y los datos de z, que en mi caso puede ser la matriz 'K' o 'C' (de valores eléctricos y magnéticos respectivamente). Además, yo también le enviará información sobre el tipo de gráfico desea, en este caso es un 'heatmap' y el color me gusta, escalamiento que se define en el campo 'scl'. Así que estos es lo que necesito para escribir:
>>> dataM = struct ('x', X 'y', Y, 'z', C, 'tipo', 'heatmap',...
'scl',{{{0,'rgb(0,0,131)'},{0.125,'rgb(0,60,170)'}...
{0.375,'rgb(5,255,255)'},{0.625,'rgb(255,255,0)'},...
{0.875,'rgb(250,0,0)'},{1,'rgb(128,0,0)'}}},...
'showscale', false)
>>> plotly ({dataM} struct ('nombre', nameM, 'fileopt', 'sobreescritura'))
La función plotly también te permite decidir el nombre del archivo gráfico que se está creando en la Galería plotly, y si usted está creando un nuevo archivo o sobreescribir uno existente. Estos se realizan con los campos 'nombre' y 'fileopt'. En mi caso, la variable 'nameM' es una cadena con el nombre que quieras el gráfico que.
La función plotly() devuelve una respuesta de plotly sitio web que debe ser algo así:
URL: 'https://plot.ly/~joaoduarte/8'
mensaje: [1 x 0 char]
ADVERTENCIA: [1 x 0 char]
nombre de archivo: ' campo eléctrico para t = 6,667 ms
error: [1 x 0 char]
Después de usted recibió esta respuesta, el gráfico está en la galería de plotly!
En mi caso, estoy enviando muchos puntos de datos con la API, para darte una idea, toma mi computadora casi un minuto para el cálculo de todos ellos y enviarlos a plotly. Así que esta respuesta podría tomar un poco para recibirse.
Diseño de:
Ahora la parte de diseño es básicamente un objeto con ajustes de diseño gráfico global adicional, como el título del gráfico, los rótulos de los ejes, anotaciones especiales, entre otras cosas. Para enviar información de diseño de la API plotly de MATLAB, se puede utilizar la función plotlylayout().
En mi caso usaré esta funcionalidad para dar el gráfico un título, etiqueta de la X y eje Y y también para poner el nombre del archivo como una anotación debajo de la gráfica. Necesito escribir estas líneas:
>>> layoutM = struct ('titulo', 'Distribución espacial de campo magnético',...
"xaxis', struct ('title', 'Eje X [m]')...
'ejeY respectivamente', struct ('title', 'Eje [m]')...
'anotaciones', {{struct ('texto', nameM...
'xref', 'papel', 'yref', 'papel'...
'x', 0, 'y', -0,15, 'align', 'izquierda'...
'showarrow', false)}})
>>> plotlylayout(layoutM)
También, la función plotlylayout() devuelve una respuesta como esta:
URL: 'https://plot.ly/~joaoduarte/8'
mensaje: [1 x 0 char]
ADVERTENCIA: [1 x 0 char]
nombre de archivo: ' campo eléctrico para t = 6,667 ms
error: [1 x 0 char]
Como antes, esto significa que el nuevo gráfico es listo en su galería!
Información adicional:
La estructura específica del objeto JSON puede ser un poco confuso al principio, y usted necesita respetar para que la API para que funcione correctamente. En caso de dudas, usted debe comprobar la documentación de la API para más información sobre los parámetros específicos de cada función, reglas y otras funcionalidades que no he utilizado en este ejemplo. Usted puede encontrar aquí, no sólo para MATLAB sino para Python, Arduino, Raspberry PI, entre otros. Para obtener información general acerca de los objetos plotly de JSON, consulte la documentación de la API REST.
Otra cosa buena que puedes hacer, es comprobar el archivo JSON del gráfico, el editor de la web plotly. Allí se puede ver lo que usted envía o cómo debe enviar los datos.