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

Nur jede x-te Gitternetzlinie beschriften

 

AL3392
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 12.01.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2016, 13:37     Titel: Nur jede x-te Gitternetzlinie beschriften
  Antworten mit Zitat      
Hallo zusammen,
ich bin noch ein ziemlicher Anfänger was Matlab betrifft und habe folgendes Problem:
Ich habe eine Funktion erstellt, die zu verschiedenen Datensätzen ein Plot erzeugen kann. Das Gitternetz ist hierbei sehr fein. Der minimale und maximale Skalenwert richtet sich nach dem Minimal- bzw. Maximalwert des Datensatzes. Durch die feine Achsenskalierung ist jedoch die Achsenbeschriftung komplett unleserlich, da sich die Zahlenwerte überschneiden. Gibt es eine Möglichkeit nur jede x-te Gitternetzlinie mit Zahlenwerten zu beschriften?

Vielen Dank im Voraus
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.01.2016, 14:08     Titel:
  Antworten mit Zitat      
Hallo,

dazu musst du die Eigenschaft 'XTickLabel' entsprechend anpassen. Suche doch mal im Forum nach entsprechenden Einträgen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
AL3392
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 12.01.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2016, 14:51     Titel:
  Antworten mit Zitat      
Danke für den Tipp, allerdings habe ich schon vorher nichts passendes dazu gefunden aber vielleicht suche ich auch falsch. Ich konnte bisher nur finden wie man es "manuell" verändert, z.B. so: " ...,'YTickLabel', {'-1', '', '', '', '', '0', '', '', '', '', '1'},... ". Da jedoch meine Datensätze und somit auch die Skalierungen immer anders sind, klappt das bei mir nicht. Es müsste automatisch ab dem vorgegebenen Startwert (also dem variablen Minimalwert) immer nur die x-te Gitternetzlinie beschriftet werden. Wie das mit YTickLabel funktioniert, konnte ich leider noch nicht herausfinden.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.01.2016, 14:58     Titel:
  Antworten mit Zitat      
Hallo,

'XTickLabel' abfragen, alle Elemente außer den gewünschten auf '' setzen, und dann zurückschreiben.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
AL3392
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 12.01.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.01.2016, 00:02     Titel:
  Antworten mit Zitat      
Sorry falls ich es falsch verstehen sollte, bin wie gesagt noch Anfänger, aber das hört sich so an als ob das ein manueller Vorgang wäre, den ich jedes mal selber machen müsste. Bei mir muss es jedoch automatisch funktionieren.

Danke und Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.01.2016, 04:51     Titel:
  Antworten mit Zitat      
Hallo,

nein, das ist kein manueller Prozess.
Wenn du deinen bisherigen Code postest (am besten lauffähig), dann kann ich das gerne anpassen. Das (Code posten) ist übrigens schon beim Stellen der Frage eine gute Idee.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
AL3392
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 12.01.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.01.2016, 11:26     Titel:
  Antworten mit Zitat      
Hallo,
den ganzen Code kann ich leider nicht posten aber hier ein entsprechender Ausschnitt:

Code:
subplot (4,1,2);                                                          

b = (1/windowSize2)*ones(1,windowSize2);
a = 1;
y1 = filter(b,a,Fx);  
Zeit_gefiltert1 = filter(b,a,Zeit);

Diagramm_Fx = plotyy(Zeit,Fx, Zeit_neu, y_Werte_Zeit);
hold on
plot(Zeit_gefiltert1, y1, 'r')
xlabel('Zeit [s]');
ylabel(Diagramm_Fx(1), 'Kraft [N]');
ylabel(Diagramm_Fx(2), 'Weg [mm]');
legend('Kraft Fx', 'Kraft Fx gleitender Mittelwert', 'Verfahrweg im Eingriff');
grid on  
set(Diagramm_Fx(1),'XTick',0:1:Zeit(end))
set(Diagramm_Fx(2),'XTick',0:1:Zeit(end))
set(Diagramm_Fx(1),'YTick',(round(min(Fx)-1):1:round(max(Fx)+1)))
set(Diagramm_Fx(2),'YTick',y_Werte_Zeit(1):10:y_Werte_Zeit(end))
set(Diagramm_Fx(1),'YLim',[round(min(Fx)) round(max(Fx))])


[EDITED, Jan, bitte Code-Umgebung verwenden - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.01.2016, 15:20     Titel:
  Antworten mit Zitat      
Hallo,

... und ich kann damit leider nichts anfangen, da du viele Variablen nutzt, deren Werte ich nicht kenne.

Hier ein Minimalbeispiel:
Code:
plot(rand(10,1))
set(gca, 'XTick', 1:0.1:10);

% Nur jeden N. beschriften
N = 10;
currentLabels = get(gca, 'XTicklabel');
newLabels = repmat({''}, size(currentLabels));
newLabels(1:N:end) = currentLabels(1:N:end);
set(gca, 'XTicklabel', newLabels)


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 - 2025 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.