Hur du använder Plotly MATLAB/Octave API (5 / 6 steg)
Steg 5: Skicka Data med Octave
Stegen för att med hjälp av plotly API om Octave är ungefär densamma som i MATLAB, men det finns en liten sak du måste göra först, som är att ändra filen API, heter 'makecall.m'.
Du kan hitta denna fil på zip-filen du hämtade i katalogen: / plotly /.
Det enda du behöver göra här är att ändra ordet "Post" till "post" på linje 10. Är du redo att gå!
Från och med nu är det alla i grunden samma. I mitt fall, jag var bara tvungen att ändra några andra saker på data och layout del, men jag ska förklara på dessa delar.
Om detta steg, ska jag fokusera mer på de förändringar jag har gjort. Kontrollera "Skicka Data med MATLAB" steg, för detaljerad info om varje funktion.
Kataloger:
Här är exakt samma som MATLAB, ändra bara katalogen:
>>> api_path = / hem/Joao/PlotlyAPI/plotly.
>>> addpath(genpath(api_path))
Autentisering:
Underteckna i förlopp är också den samma:
>>> inloggning ('joaoduarte', 'my_api_key')
Data:
Så är här där jag började har problem. Data från min "scl" fältet bildades av en cell matriser med tal och strängar. Siffrorna hade decimalkomman, som av någon anledning, inte skickades. Octave beräknas dem ordentligt, men de var inte skickas korrekt.
Jag trodde det bero på det Ubuntu systemspråk och regionala format som på portugisiska, men jag ändrade det till engelska, och ingenting hände. Jag fixade det till slut genom att göra dessa siffror till strängar, dock kan det finnas en bättre lösning.
Jag hade samma problem med min X- och Y-matriser, när deras steg var sämre än en, också på grund av decimalkommat. Vad jag har gjort här var att skapa nya vektorer, med samma storlek, men med en ökning på en, ändra sina gränser.
Detta fungerar, men axel gränserna på plotly kommer komma ut fel. Så behövde jag fixa dem, genom att skicka min anpassade skala inom funktionen plotly().
Så är här den resulterande kod:
>>> XX =-400:1:400; % före var från -40 till 40 med steg om 0,1
>>> Åå = 0:1:500; % före var från 0 till 50 med steg om 0,1
>>> dataE = struct ("x", XX, "y", åå, "z", K, "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', false...
'xtype', 'skalas', 'x0', '-40', 'dx', "0,1",...
'[NULL] 'ytype', skalas, "y0", "0", "dy", "0,1")
>>> plotly ({dataE}, struct ('filnamn', Kalle, 'fileopt', 'skriva'))
Som ni kan se, inuti fältet "scl" vänder siffrorna nu mellan enkla citattecken, dem i strängar. Variablerna XX och YY är min nya matriser, med en ökning på en.
De nya funktioner som används här är namnen på 'xtype' och 'ytype'. Detta kan du använda skalan du vill längs X- och Y-axeln i diagrammet. 'x0' och "y0" är de första värdena, och "dx" och "dy" är påslagen. Till exempel på Y-axeln, jag vill att det ska vara från 0 till 50, med steg om 0,1, men jag skickar data från 0 till 500 med steg 1, så jag kommer att använda dessa alternativ för att ändra den. Jag lägger "y0" = 0 och "dy" = 0,1, detta kommer ut Y-axeln från 0 till 50.
Så detta problem kom som en bra sak, eftersom det fick mig att lära sig fler funktioner om plotly API.
Slutligen bör detta utgång ett svar som den som observerats på föregående steg.
Layout:
I mitt fall, i den layout delen, fanns det bara en liten sak att ändra, på grund av samma decimaltecknet problem. Vilket var "anteckningar" struktur, särskilt om fältet "y", eftersom den har värdet-0.15. Fix var densamma som tidigare, förvandla det till en sträng med citattecken. Återigen, det kan vara en bättre lösning för detta, men detta fungerade bra för mig.
Så kommer funktionen plotlylayout() som:
>>> layoutE = struct ("titel", "Elektriska fältet Spacial Distribution [Octave]",...
'xaxis', struct ("titel", "X-axeln [m]")...
'yaxis', struct ("titel", "Y-axeln [m]")...
"anteckningar", {{struct ("text", Kalle...
"xref", "papper", "yref", "papper"...
'x', 0, "y", "-0.15", "justera", "vänster"...
'showarrow', false)}})
>>> plotlylayout(layoutE)
Alla övriga hölls som det var. Den här funktionen bör också returnera ett svar som på föregående steg.
Övrig Info:
Som innan, glöm inte att kolla API dokumentation sida för detaljerad information om JSON objekt.
Var också noga med att prova JSON betraktaren på plotly web app.