Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Bücher:

Rapid Control Prototyping: Methoden und Anwendungen

Studierende:
weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Abstand der Skalierung anpassen

 

trying
Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 30.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2020, 23:49     Titel: Abstand der Skalierung anpassen
  Antworten mit Zitat      
Hallo Leute,

ich würde gerne eine Datenreihe graphisch darstellen.
Dafür habe ich auf der x-Achse die Werte [ 100, 200, 500, 750, 3000, 5000].

Leider presst es mir jetzt die ersten vier Wert zusammen, dann kommt iwann die 3000 und nochmal einiges weiter rechts die 5000.

Kann man das iwie einstellen, dass meine Werte alle die gleichen Abstände zueinander haben ?
Also genau so als ob ich die Werte [1, 2, 3, 4, 5, 6] darstellen wollen würde?

Vielen Dank !!

Lg
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 22.350
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.11.2020, 09:13     Titel:
  Antworten mit Zitat      
Hallo,

categorical sind hier hilfreich:
Code:
x = [ 100, 200, 500, 750, 3000, 5000];
y = rand(size(x));
xCat = categorical(x);
plot(xCat, y)


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
trying
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 30.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2020, 10:42     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich habe es jetzt mit categorical versucht.
Leider habe ich jetzt auf der X-Achse nur die Einteilung [1,2,3,4,5,6] und nicht [ 100,200,500,750,3000,5000].

Hast du hier noch einen Tipp?

Was ich vllt noch sagen sollte, es handelt sich insgesamst um ein dreidimensionales Diagramm. Der Befehl ist steam3.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 22.350
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.11.2020, 10:48     Titel:
  Antworten mit Zitat      
Hallo,

in meinem Beispiel erscheint mir die Einteilung korrekt. Hast du das Beispiel mal genau so laufen lassen?

Wenn es daran hakt, dann stelle bitte ein Beispiel zur Verfügung, das steam3 aufruft und das Problem aufweist.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
trying
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 30.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2020, 11:36     Titel:
  Antworten mit Zitat      
Bei deinem Beispiel funktioniert es.

Dein Code:

x = [ 100, 200, 500, 750, 3000, 5000];
y = rand(size(x));
xCat = categorical(x);
plot(xCat, y)

Mein Code :

x = [ 100, 200, 500, 750, 3000, 5000];
y = rand(size(x));
z = rand(size(x));
xCat = categorical (x);
stem3(xCat, y, z)
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 22.350
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.11.2020, 11:43     Titel:
  Antworten mit Zitat      
Hallo,

da muss man mehr tricksen:
Code:
x = [ 100, 200, 500, 750, 3000, 5000];
y = rand(size(x));
z = rand(size(x));
stem3(1:numel(x), y, z)
ax = gca;
ax.XTick = 1:numel(x);
ax.XTickLabel = num2str(x');


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
trying
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 30.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2020, 11:48     Titel:
  Antworten mit Zitat      
Es funktioniert.
Wieder mal vielen Dank!!
Private Nachricht senden Benutzer-Profile anzeigen
 
trying
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 30.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2020, 12:28     Titel:
  Antworten mit Zitat      
Jetzt muss ich mich leider nochmal melden...
Leider schaffe ich es nicht meinen Code anzupassen...

Mein Code den ich verwenden will:


V2 = [v2, v2, v2, v2, v2, v2, v2];
V3 = [v3'; v3'; v3'; v3'; v3'; v3'; v3'];

EV=stem3(1:numel(V2), V3, a_points);
ax = gca;
ax.XTick = 1:numel(x);
ax.XTickLabel = num2str(x');

view(-8,30);
EV.LineStyle=':';
EV.Marker='^';
EV;

v2 und v3 sind Variabeln, die eine Wertereihe beinhalten.

v2 beinhaltet mein Beispiel.
v2 = [ 100, 200, 500, 750, 3000, 5000]
v3 = [ 10, 20, 30, 40, 50, 60 ]

Ich bekomme als Fehlermedlung, dass x und y beide Matrizen oder Vektoren sein müssen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 22.350
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.11.2020, 12:32     Titel:
  Antworten mit Zitat      
Hallo,

Code:
v2 = [ 100, 200, 500, 750, 3000, 5000]'
v3 = [ 10, 20, 30, 40, 50, 60 ]'

V2 = [v2, v2, v2, v2, v2, v2, v2]; % repmat verwenden!
V3 = [v3'; v3'; v3'; v3'; v3'; v3'; v3']; % repmat verwenden!

a_points = rand(7,6);

EV=stem3(repmat(1:numel(v2), size(V3,1), 1), V3, a_points);
ax = gca;
ax.XTick = 1:numel(v2);
ax.XTickLabel = num2str(v2);

view(-8,30);
EV.LineStyle=':';
EV.Marker='^';


Bitte verwende du doch auch die Code-Umgebung.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
trying
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 30.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2020, 16:07     Titel:
  Antworten mit Zitat      
Ich hab mal im Anhang eine Datei angehängt.

Der oberen Plot passen die Achsenskalierungen.
Beim unteren Punkt passen die ganzen einzelnen Punkte.

Ich bekomm das nun einfach immer noch nicht zusammen...
sry..

Plot 1.pdf
 Beschreibung:

Download
 Dateiname:  Plot 1.pdf
 Dateigröße:  44.33 KB
 Heruntergeladen:  3 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

ich merke gerade, dass das nicht zusammen passt.
Du hast 6 Werte für v2 und v3, fügst das aber jeweils 7 Mal zusammen. Warum?

Hier nochmal ein komplettes Beispiel.

Code:
v2 = [ 100, 200, 500, 750, 3000, 5000]
v3 = [ 10, 20, 30, 40, 50, 60, 70 ]

V2 = repmat(v2, length(v3), 1);
V3 = repmat(v3', 1, length(v2));

a_points = rand(length(v3), length(v2));

EV=stem3(repmat(1:numel(v2), length(v3), 1), V3, a_points);
ax = gca;
ax.XTick = 1:numel(v2);
ax.XTickLabel = num2str(v2');

view(-8,30);
EV.LineStyle=':';
EV.Marker='^';


Falls das noch nicht so klappt, wie du es möchtest, poste doch bitte nochmal ein komplettes, zusammenhängendes Beispiel.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2020 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.