WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Legende in Barplots (Bug ?)

 

Barplotter123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.09.2017, 16:38     Titel: Legende in Barplots (Bug ?)
  Antworten mit Zitat      
Moin Leute,

Ich habe es leider nicht geschafft in einem Barplot mit einem langen Datensatz eine Legende zu erzeugen. Folgendes Minimalbeispiel soll das Problem verdeutlichen:

Code:
h=figure
bar([1:1:599],[1:1:599])
legend('Test')

b=figure
bar([1:1:600],[1:1:600])
legend('Test')
 


Der zweite Plot gibt einfach keine Legende aus, sobald der Datensatz länger als 599 ist wird einfach keine Legende erzeugt und ich habe es auch nicht geschafft sie anders zu erzeugen. Hat jmd eine Idee wie ich trotzdem eine Legende "erschaffen" kann ?

Vielen Dank und Grüße

Version 2014a


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.09.2017, 19:24     Titel:
  Antworten mit Zitat      
Hallo,

ich kann das auch mit R2014a nicht reproduzieren.
Im Zweifelsfall mal Graphiktreiber aktualisieren und einen anderen Renderer versuchen.
Sollte das nichts helfen, versuch's mal beim Technischen Support.

... und versuch echt, eine neuere Version zu verwenden. Mit R2014b und den folgenden Releases hat sich da viel getan.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
equi
Forum-Century

Forum-Century


Beiträge: 123
Anmeldedatum: 07.03.17
Wohnort: Tübingen
Version: Matlab 2018a
     Beitrag Verfasst am: 26.09.2017, 07:07     Titel:
  Antworten mit Zitat      
Sollte es dir nicht möglich sein, aus welchem Grund auch immer, eine neuere Matlab-Version zu beschaffen, könnte dir auch Octave helfen. Habe es gerade getestet und funktioniert auch noch bei
Code:
b=figure
bar([1:1:6000],[1:1:6000])
legend('Test')
 


Jedoch kann es hier zu Problemen mit dem Code kommen, da nicht alle Befehle von Matlab implementiert sind.
Deshalb ist Haralds Empfehlung deutlich besser Smile
Support und neue Version Razz
_________________

Grüße Equi Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 26.09.2017, 07:51     Titel:
  Antworten mit Zitat      
(Zumindest in) R2014b, gab es einen Bug der sich so reproduzieren lies:

My legend appears correctly when I use the single output format for 'legend':

Code:

a = (1:100)';
b = a.^2;
c = a.^2.2;
interpStr = 'none';
figure
plot(a,b, a,c)
hL = legend('bob', 'fred_2');
hX = xlabel('time_1');
hY = ylabel('stuff_2');
hT = title('myTitle_3');
set(hL, 'Interpreter', interpStr, 'FontWeight', 'bold');
set(hX, 'Interpreter', interpStr);
set(hY, 'Interpreter', interpStr);
set(hT, 'Interpreter', interpStr);
 


However, when I use the 4 output format for 'legend', the legend formatting is no longer correct (underscore is missing and bold typeface is missing):

Code:

a = (1:100)';
b = a.^2;
c = a.^2.2;
interpStr = 'none';
figure
plot(a,b, a,c)
[hL, hIcon, hLines, hTxt] = legend('bob', 'fred_2');
hX = xlabel('time_1');
hY = ylabel('stuff_2');
hT = title('myTitle_3');
set(hL, 'Interpreter', interpStr, 'FontWeight', 'bold');
set(hX, 'Interpreter', interpStr);
set(hY, 'Interpreter', interpStr);
set(hT, 'Interpreter', interpStr);
 


Why is my output inconsistent?

Ich denke in dieser Beschreibung steckt auch ein möglicher Workaround.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Barplotter123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.09.2017, 09:23     Titel:
  Antworten mit Zitat      
Moin Leute, ich bins nochmal. Leider war ich wohl etwas unsauber, habe nochmal nachgeforscht weil manche den Fehler ja nicht reproduzieren konnten. Es liegt wohl auch an den textinterpreter (dieser wird bei einem clear all ja nicht zurückgesetzt deßhalb hatte ich das zuerst nicht gemerkt). Also hier nochmal der vollständighalber das "korrekte" Minimalbeispiel:

Code:

set(0,'defaulttextinterpreter','latex')

h=figure
bar([1:1:599],[1:1:599])
legend('Test')

b=figure
bar([1:1:600],[1:1:600])
legend('Test')
 


Mit dem Interpreter auf 'none' klappt es auch bei mir. Vielleicht könnte jmd testen ob das auch bei aktuellen Versionen zu Problemen führt ?

Sonst schonmal vielen Dank, wüßrde mich dann mal um neue Matlab Version kümmern.
Grüße
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.09.2017, 18:50     Titel:
  Antworten mit Zitat      
Hallo,

unter R2014a kann ich das Problem jetzt reproduzieren.
Unter R2017a tritt es bei mir auch jetzt nicht auf.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.