Hur du använder Plotly MATLAB/Octave API (4 / 6 steg)
Steg 4: Skicka Data med MATLAB
Så det första du behöver göra är att lägga till den katalog där du sparade API datafilerna till katalogen MATLAB.
Du kan göra detta genom att lägga till dessa rader till din kod:
>>> api_path = ' C: / Program filer/MATLAB/plotlyAPI/plotly ';
>>> addpath(genpath(api_path))
Glöm inte att ändra katalogen ovan, om du använde en annan plats än mig.
Autentisering:
Nu måste du logga in på ditt plotly konto genom din kod. Detta görs med hjälp av den här raden:
>>> inloggning ('joaoduarte', 'my_api_key')
Därför måste du ändra strängarna till dina inställningar. Den första strängen är ditt användarnamn på plotly, i mitt fall är "joaoduarte" och den andra strängen är din API-nyckel, som du skapade i föregående steg, i din plotly inställningar.
Personligen gillar jag att sätta dessa rader med inställningar på i början av min kod, eftersom de är en del av de allmänna konfigurationer, men du kan använda dem var som helst du vill, så länge de komma innan du börjar ringa plotly funktioner.
Data:
När du skickar data från MATLAB API, skickar du i princip JSON objekt till plotly hemsida. Dessa objekt följer en mycket specifika och organiserad struktur, uppdelad i delar, som data och layout.
Datadelen är i grunden en matris med alla data spår info, som pekar till exempel X, Y och Z, samt inställningarna för grafen, som diagramtyp och stil.
För att skicka data information från MATLAB till plotly kan vi använda en API-funktion som kallas plotly(). I mitt fall, jag vill skicka data x, där X är en matris, i princip med längden på X-axeln (40 m för varje sida, är 0 i mitten), y data, där Y är också en matris men med höjden av området (från marken till 50 m hög) och z data, som i mitt fall kan antingen vara matrisen "K" eller "C" (för elektriska och magnetiska värden respektive). Dessutom jag också kommer att skicka information om grafen typ jag vill ha, i detta fall är det en "hetta" och färgen skalning jag gillar, som definieras i fältet "scl". Så detta är vad jag behöver skriva:
>>> dataM = struct ("x", X, y, Y, "z", C, "typ", "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', falsk)
>>> plotly ({dataM}, struct ('filnamn', nameM, 'fileopt', 'skriva'))
Funktionen plotly du kan också bestämma namnet på filen diagram som du skapar på din plotly Galleri, och om du skapar en ny fil eller skriva över en befintlig. Detta görs med fälten 'filnamn' och 'fileopt'. I mitt fall är variabeln "nameM" en sträng med det namn jag vill ha figuren ha.
Funktionen plotly() returnerar ett svar från plotly webbplats som bör se ut så här:
URL: "https://plot.ly/~joaoduarte/8"
meddelande: [1 x 0 char]
Varning: [1 x 0 char]
Filnamn: "elektriska fält för t = 6.667 ms
fel: [1 x 0 char]
Efter att du fått detta svar, är din graf redo på plotly galleriet!
I mitt fall, jag skickar en massa datapunkter med detta API, så att ge dig en idé, det tar min dator nästan en minut att beräkna dem alla och skicka dem till plotly. Så kan detta svar ta lite ska tas emot.
Layout:
Nu är det layout i grunden ett objekt med ytterligare globalt diagram layoutinställningar som graf titeln, etiketter, särskilda anteckningar, bland annat. För att skicka layout information från plotly MATLAB API, kan du använda funktionen plotlylayout().
I mitt fall kommer att jag använda den här funktionen att ge diagrammet en titel, etikett X och Y-axeln, och även att sätta filnamnet som en anteckning under grafen. Jag måste skriva dessa rader:
>>> layoutM = struct ("titel", "Magnetfält Spacial Distribution",...
'xaxis', struct ("titel", "X-axeln [m]")...
'yaxis', struct ("titel", "Y-axeln [m]")...
"anteckningar", {{struct ("text", nameM...
"xref", "papper", "yref", "papper"...
'x', 0, "y",-0.15, "justera", "vänster"...
'showarrow', false)}})
>>> plotlylayout(layoutM)
Funktionen plotlylayout() returnerar också ett svar så här:
URL: "https://plot.ly/~joaoduarte/8"
meddelande: [1 x 0 char]
Varning: [1 x 0 char]
Filnamn: "elektriska fält för t = 6.667 ms
fel: [1 x 0 char]
Som innebär tidigare, detta att din nya graf är redo i ditt Galleri!
Övrig Info:
Särskilda struktur för JSON-objektet kan vara en lite förvirrande till en början, och du måste respektera det för API: N att fungera korrekt. Vid tvivel, ska du kolla in API-dokumentationen för mer information om specifika parametrarna för varje funktion, regler och andra funktioner som jag inte har använt i det här exemplet. Du hittar den här, inte bara för MATLAB men också för Python, Arduino, Raspberry PI, bland andra. För allmän information om plotly JSON objekt, kolla resten API-dokumentationen.
En annan bra sak du kan göra, är att kontrollera JSON fil av grafen, på din plotly webbredaktör. Där kan du se vad du faktiskt skickat eller hur du ska skicka data.