Étape 5: Envoi de données avec Octave
Les étapes d’utilisation de l’API plotly sur Octave sont à peu près les mêmes que dans MATLAB, cependant il y a une petite chose que vous devez faire tout d’abord, qui consiste à modifier le fichier API, nommé 'makecall.m'.
Vous pouvez trouver ce fichier dans l’archive zip, vous avez téléchargé dans le répertoire: / plotly /.
La seule chose que vous devez faire ici change le mot de « La poste » à « publier » sur la ligne 10. Alors vous êtes prêt à partir !
Partir de là, c’est tous essentiellement la même. Pour mon cas, j’ai juste eu à changer quelques autres petites choses sur la partie données et mise en page, mais je vais vous expliquer sur ces articles.
Sur cette étape, je vais me concentrer plus sur les modifications que j’ai fait. Vérifier l’étape « Envoi données avec MATLAB », pour des informations détaillées sur chaque fonction.
Répertoires :
Voici exactement la même chose que MATLAB, changer seulement le répertoire :
>>> api_path = « / home/Joao/PlotlyAPI/plotly » ;
>>> addpath(genpath(api_path))
Authentification :
Le signe dans le processus est également le même :
>>> inscription ('joaoduarte', « my_api_key »)
Données :
Voici donc où j’ai commencé à avoir des ennuis. Les données de mon domaine « scl » a été formées par une cellule de tableaux avec les nombres et les chaînes. Les nombres avaient des points décimaux, qui pour une raison quelconque, n’étaient pas transmises. Octave calculés correctement, mais ils étaient cependant pas transmises correctement.
J’ai pensé que c’est peut-être en raison de la langue du système Ubuntu et format régional étant en Portugais, mais je l’ai changé à l’anglais, et rien n’est arrivé. Je l’ai finalement fixée en transformant ces nombres en chaînes, cependant, il pourrait y avoir une meilleure solution.
J’ai eu le même problème avec mon matrices X et Y, lorsque leurs augmentations étaient inférieures à un, aussi à cause de la virgule décimale. Ce que j’ai fait ici était de créer de nouveaux vecteurs, avec la même taille, mais avec un incrément d’un, changer leurs limites.
Cela fonctionne, mais les limites de l’axe sur la volonté plotly sortent mal. J’ai donc besoin de les corriger, en envoyant mon échelle personnalisée au sein de la fonction plotly().
Alors, voici le code qui en résulte :
>>> XX =-400:1:400 ; % avant était de -40 à 40 avec incréments de 0,1
>>> YY = 0:1:500 ; % avant était de 0 à 50 avec incréments de 0,1
>>> dataE = struct (« x », XX, « y », YY, « z », K, ' type', « 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...
« xtype », 'échelle', 'x0', '-40', 'dx', '0 ', 1...
'ytype', 'échelle', 'y0', '0', 'dy', '0,1')
>>> plotly ({dataE}, struct (prénom, « NomFichier », 'fileopt', 'écraser'))
Comme vous pouvez le voir, dans le champ « scl », les numéros sont maintenant entre guillemets simples, faire des cordes. Les variables XX et YY, sont mes nouvelles baies, avec une majoration de l’un.
Les nouvelles fonctionnalités utilisées ici sont les noms de domaine « xtype » et « ytype ». Ceci permet d’utiliser l’échelle souhaitée sur l’axe X et Y de votre graphique. Le 'x0' et 'y0' sont les premières valeurs, et le 'dx' et 'dy' sont les incréments. Par exemple, sur l’axe des Y, je veux qu’il soit de 0 à 50, avec des incréments de 0,1, mais je vous envoie données de 0 à 500 avec incréments de 1, donc je vais utiliser ces options pour le modifier. Je vais mettre « y0 » = 0 et « dy » = 0,1, cela va afficher l’axe des Y de 0 à 50.
Si ce problème est venu comme une bonne chose, car il m’a fait apprendre davantage de fonctionnalités sur l’API plotly.
Enfin, cela devrait produire une réponse semblable à celui observé sur l’étape précédente.
Mise en page :
Pour mon cas, dans le cadre de mise en page, il y avait seulement une petite chose à changer, à cause du même problème de point décimal. Qui se trouvait sur la structure de « annotations », plus précisément sur le champ de « y », parce qu’il a la valeur -0,15. Le correctif était le même que précédemment, la transformant en une chaîne à guillemets simples. Encore une fois, il pourrait y avoir une meilleure solution pour cela, mais celui-ci a bien fonctionné pour moi.
Il est la fonction plotlylayout() :
>>> layoutE = struct ("title", "Champ électrique Spacial Distribution [Octave]",...
« xaxis », struct ('title', 'Axe des X [m]')...
« yaxis », struct ('title', 'Axe des Y [m]')...
« annotations », {{struct ("text", prénom...
« xref », « papier », « yref », « papier »...
'x', 0, 'y', '-0,15', 'coin', 'gauche'...
'showarrow', false)}})
>>> plotlylayout(layoutE)
Tout le reste a été conservé tel qu’il était. Cette fonction doit aussi renvoyer une réponse comme sur l’étape précédente.
Informations additionnelles :
Comme avant, n’oubliez pas de consulter la documentation d’API page pour des informations détaillées sur les objets JSON.
Aussi, assurez-vous d’essayer le spectateur JSON sur l’application web plotly.