1

Egal, was ich als die Farben meiner Linien auf diesem MATLAB Plot angeben, wird die resultierende Diagramm zeigt diese automatische Färbung:Kann nicht Linienfarbe in MATLAB Plot ändern

enter image description here

hier ist der Code, den ich verwenden:

figure 

plot(cumsum(sign([y_pred]).*tst_y)/std(sign([y_pred]).*tst_y), 'g') 
xlabel('Time'); 
ylabel('Cumulative Returns (%)');   
title('Neural Network Model Returns') 
hold on 

plot(cumsum(tst_y)/std(tst_y),'r') 

hold off 

ich habe versucht, verschiedene Methoden der die Farbe spezifizieren und sogar versucht, Linienfarbe in der Grafik-Editor zu bearbeiten. Irgendeine Idee, wie ich diese Linien verschiedene Farben machen kann? Ich verwende Matlab 2016a Testversion

+1

ich dieses Verhalten nicht reproduzieren kann. Diese Art der Färbung erscheint mir ziemlich ungewöhnlich. Hat eine einfache Figur, Plot ([1 3 2], 'r') das gleiche Problem auf Ihrem System? –

+2

Dies kann ein Artefakt der Verwendung der Testversion sein, um sicherzustellen, dass Sie die resultierenden Zahlen nicht veröffentlichen, ohne für das Produkt zu bezahlen. – Suever

+0

@ AlexanderBüse ist es nicht vorgekommen, als ich versucht habe, ein einfaches Plot wie das, das Sie vorgeschlagen haben - aber ich löste es für mein Grundstück, indem ich die Linienbreite von (was muss gewesen sein) seinen Standardwert von 0,5 bis 1,5. Danach würden die Farbspezifikationen, die ich geschrieben habe, in der Grafik erscheinen, während sich vorher nichts ändern würde! Ich brauchte eine schnelle Lösung, also experimentierte ich nicht, um das Problem besser zu verstehen - irgendwelche Ideen? –

Antwort

0

Weder ich kann Ihre Probleme replizieren. Vielleicht sind die Daten in y_pred oder tst_y keine einfache Doppelklasse (vielleicht etwas Spezifisches für die Toolbox des neuronalen Netzwerks?) Und hat daher eine anders definierte Plot-Funktion in Matlab.

Andernfalls sollten Sie in der Lage sein, zu versuchen

figure 

pl=plot(cumsum(sign([y_pred]).*tst_y)/std(sign([y_pred]).*tst_y)); 
pl.Color='g'; 
xlabel('Time'); 
ylabel('Cumulative Returns (%)');   
title('Neural Network Model Returns') 
hold on 

pl=plot(cumsum(tst_y)/std(tst_y)); 
pl.Color='r'; 

hold off 
+0

Sie könnten auch 'whos y_pred tst_y' ausführen, um zu sehen, ob sie einen seltsamen Datentyp haben? – Skogsv