2017-04-20 4 views
0

wenn ich eine 2x2 Matrix wieFarbcode MatLab Histogramm Basierend auf einem Zustand einer 2x2 Matrix

1 2 
4 7 

Und ich mag ein Histogramm darstellen, basierend auf der Bedingung, dass die Diagonalen die Farbe grün sein sollten, und alles andere außer den Diagonalen sollte rot sein, wie mache ich das in Matlab.

Ich habe versucht, die 2x2-Matrix in zwei unterschiedlichen Vektoren trennt die Diagonale und die anderen darstellen (außer Diagonalen), aber wenn ich tun:

hist(diagonals) 
hist(others) 

Es ist nicht wirklich funktioniert und scheint nur zufällig Farbe Code Dinge in ein Histogramm (ich will nur das eine Histogramm.) Wie mache ich das richtig?

+0

Was ein Histogramm auf der Grundlage einer Bedingung ist? Zählen Sie nur die Anzahl der Pixel, die diese Bedingung erfüllen? Wie erkennen Sie grün oder rot an skalaren Werten? Welche Farbe hat '7'? Warum nehmen Sie ein Histogramm einer 2x2-Matrix? Ich verstehe alle Wörter, die Sie in der Frage verwenden, aber die Art und Weise, wie sie zusammengesetzt sind, ergibt für mich keinen Sinn. Kannst du das mit einem Beispiel erklären? – beaker

+0

Also, in dieser 2x2 Matrix möchte ich irgendwie die Frequenz der Werte in verschiedenen Farben überlagern. Also sollte jeder Balken des Histogramms in der Diagonalen (d. H. 1/7) die Farbe Grün haben, der Rest der Balken sollte rot sein. Dies bedeutet, dass eine Leiste einer anderen Leiste überlagert wird. Sagen wir zum Beispiel, ich hätte 7 statt 2, dann müsste ich irgendwie zeigen, dass es einen Wert hatte, der rot war/der andere grün. Ehrlich gesagt denke ich, dass diese Art von Daten, die ich darstellen möchte, besser für ein Streudiagramm geeignet ist, aber mein Vorgesetzter möchte ein Histogramm. – Display

+0

@Display Ich habe absolut keine Ahnung, was Sie fragen. Wäre es möglich, dass du tatsächlich ein echtes Beispiel ziehst? Sie brauchen keinen Code, da ich nicht einmal sicher bin, wo ich mit der Implementierung beginnen würde. Bitte illustrieren Sie mit einem konkreten grafischen Beispiel. – rayryeng

Antwort

0

eine Lösung für mein Problem gefunden, mit hold on behebt dieses Problem

histogram(diagonals, 'FaceColor', 'g') 
hold on 
histogram(others, 'FaceColor', 'r') 
hold on 
Verwandte Themen