Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Bücher:

Differentialgleichungen mit MathCad und MATLAB

Fachkräfte:
weitere Angebote

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Plotten von Ergebnissen

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.08.2021, 21:21     Titel: Plotten von Ergebnissen
  Antworten mit Zitat      
Guten abend zusammen,

gibt es eine Möglichkeit mir Ergebnisse in einem definierten Objekt, z.B. einem Kreis oder Rechteck, als Kreise bzw. Punkte darstellen zu lassen (vllt mit der Funktion scatter?)?

Als Beispiel:
Für den Kreis 5 wurden folgenden Werte berechnet:
wert1=1,
wert2=2,
wert3=3,
wert4=4,...

Jetzt würde ich in einer for-Schleife schreiben, dass alle Werte unter 2 in dem Kreis in rot und alle Werte größer als 2 in blau dargestellt werden. Die Ergebnisse sind lediglich auf den Kreis bezogen und haben keinen exakten x- und y-Wert. Gibt es also eine Funktion mit der ich die Ergebnisse, also die Kreise bzw. Punkte in dem Kreis 5 zufällig plotten kann? Zufällig, weil sie sich wie zuvor bereits erwähnt nicht auf einem x- und y-Wert beziehen, sondern Ergebnisse des Kreises an sich darstellen. Ich würde diese halte gerne in dem Kreis als Verteilung darstellen lassen bzw zeigen, dass bei meiner aufgeführtem Beispiel sich zwei rote Punkte Punkte und zwei Blaue Punkte in dem Kreis befinden.

Hat jemand einen Tipp?

Vielen Dank vorab!


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2021, 07:35     Titel:
  Antworten mit Zitat      
Hat keiner eine Idee? Smile
 
Harald
Forum-Meister

Forum-Meister


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

wenn ich eine Idee hätte, hätte ich sie geschrieben. :)
Generell ist Code hilfreicher als wortreiche Beschreibungen.

Mir ist aber alles andere als klar, wie das aussehen soll. Kannst du ein entsprechendes Bild oder eine Skizze für Beispieldaten anhängen? Es kann notwendig sein, die Beispieldaten etwas komplexer zu wählen als 1-4, um wirklich was zu sehen.

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
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.08.2021, 06:46     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für deine Hilfsbereitschaft. Ich habe nun meine Problematik anhand des beigefügten Bildes dargelegt. Meine Tabelle ist in Wirklichkeit viel größer, mit bis zu 800 Zeilen, daher ein vereinfachtes Beispiel mit nur 6 Zeilen. Aber die Problematik bleibt dieselbe.

Vielleicht hast du jetzt einen Tipp wie ich mir die Punkte in den jeweiligen Raster ausgeben lassen kann.
Die Punkte sollen zufallsverteilt in den Raster dargestellt werden (falls du da eine besser Idee hast, gerne erwähnen), da ich keine direkten X- und Y- Werte besitze sondern sich diese auf die Raster an sich beziehen.

Vielen Dank vorab und beste Grüße!

P.S: ich hätte natürlich auch einen Code gepostet, aber die tatsächlich Werte sind zu komplex und verschachtelt das ich ein vereinfachtes Beispiel darstellen muss.

20570A93-BC67-48BA-B05E-AB6A62518B35.jpeg
 Beschreibung:

Download
 Dateiname:  20570A93-BC67-48BA-B05E-AB6A62518B35.jpeg
 Dateigröße:  1.25 MB
 Heruntergeladen:  18 mal
 
Harald
Forum-Meister

Forum-Meister


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

für mich klingt das jetzt nach einer anderen Frage. Das liegt aber wohl daran, dass du dich in der ursprünglichen Frage auf ein Raster konzentriert hast und das dann erweitert hast?
Wenn es darum geht anzugeben, wieviele Datenpunkte es pro Raster und Gruppe gibt, würde ich Histogramme oder Balkendiagramme verwenden. Für ein Raster beispielsweise:
counts = histcounts(data, [0 1.5 2.5]);
Code:
b = bar([counts; [NaN,NaN]], "stacked");
xlim([0.5, 1.5])
xticks([])
ylim([0 10])
yticks(1:10)


Über subplot oder tiledlayout könnte das dann für jedes Raster gemacht werden. Natürlich kann man da auch eine prozentuale Verteilung pro Raster darstellen.

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
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.08.2021, 20:49     Titel:
  Antworten mit Zitat      
Hallo Harald,

entschuldige das ich mich anfangs falsch ausgedrückt habe. Du hast recht, dass ich die Verteilung auch über ein Histogramm oder über Balkendiagramme darstellen lassen kann. Aber das möchte ich an dieser Stelle nicht. Die Raster sind in einer Infrastruktur hinterlegt und anhand der Punkte in den jeweiligen Raster möchte ich stellen in der Infrastruktur lokalisieren, wo häufige Werte vorkommen. Die farblichen Abstufungen in meinem gewählten Beispiel stellen verschiedenen Einstufungen dar. Rot bedeutet der Wert ist kritisch und blau nicht.
Daher benötige ich die Darstellung der Ergebnisse anhand von Punkten. Bei fast 100 Rechtecke, die ein Raster darstellen, wäre deine vorgeschlagene Variante zu unübersichtlich.

Ich hoffe ich konnte meine Problematik nochmal genauer darlegen.
Vielen Dank für deinen Tipp!

Beste Grüße
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 23.351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.08.2021, 22:39     Titel:
  Antworten mit Zitat      
Hallo,

was haben denn jetzt Infrastrukturen mit dem ganzen zu tun? Wenn du viele solcher Rechtecke, Infrastrukturen, Raster oder was auch immer hast, dann wird das mit x Punkten doch erst recht unübersichtlich? Wäre es dann nicht viel einfacher, statt vieler Punkte nur den Prozentsatz oder die Gesamtzahl kritischer Punkte darzustellen?
Du kannst natürlich auch dein ursprüngliches Vorhaben mit rand und scatter umsetzen, aber ich kann mir halt beim besten Willen nicht vorstellen, dass das übersichtlicher sein wird als eine der genannten Optionen.

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
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2021, 06:37     Titel:
  Antworten mit Zitat      
Hallo Harald,

Vielen Dank für deine Antwort. Ich untersuche in der Infrastruktur Unfalldaten und dafür wurden die Raster zur Lokalsierung eingefügt. Und die Punkte sollen dann die Häufigkeiten darstellen. Aber ich überlege mir ob dein Vorschlag nicht sinniger ist.
Aber wie würde ich meinen Ansatz mit Rand und scatter umsetzen?

Vielen Danke und beste Grüße!
 
Harald
Forum-Meister

Forum-Meister


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

Code:
data = [1.1 1.2 1.4 1.6 1.8];
x = rand(size(data));
y = rand(size(data));
gscatter(x, y, data>1.5 ,"rb")


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
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2021, 18:25     Titel:
  Antworten mit Zitat      
Hallo Harald,
Danke für deine Antwort. Und wie kann ich mir die Scatter in den Raster anzeigen lassen? Von den Raster habe ich die x- und y-Werte.

Wenn ich weitere Abstufung einfügen möchte, zb. 4 Abstufungen:
<1,5 rot
1,5 -2 orange
2-2,5 gelb
2,5-3 Blau
wie schreibe ich das dann in deinen geposteten Code?

Beste Grüße
 
Harald
Forum-Meister

Forum-Meister


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

Zitat:
Und wie kann ich mir die Scatter in den Raster anzeigen lassen? Von den Raster habe ich die x- und y-Werte.

Ich würde wie gesagt mit subplot oder tiledlayout arbeiten. Dann musst du jeweils die Daten zu dem jeweiligen Teil herausfiltern.

Zitat:
Wenn ich weitere Abstufung einfügen möchte, zb. 4 Abstufungen:
<1,5 rot
1,5 -2 orange
2-2,5 gelb
2,5-3 Blau
wie schreibe ich das dann in deinen geposteten Code?

Code:
data = [1.1 1.2 1.4 1.6 1.8 2.3 2.7];
data = discretize(data, [0, 1.5, 2 2.5 3]);
x = rand(size(data));
y = rand(size(data));
gscatter(x, y, data , [1 0 0; 1 0.6 0; 1 1 0; 0 0 1])


Bei 4 Abstufungen sind die Möglichkeiten eingeschränkter als bei 2 Abstufungen. Es wäre daher sehr hilfreich, sich das vorher zu überlegen.

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