Frage

Wie nehmen Sie ein Grundstück und legen Sie sich in der Ecke (oder überall für diese Angelegenheit) von einem anderen Grundstück in MATLAB?

Ich habe logarithmische Daten, die einen großen weißen Raum in der oberen rechten Seite des Grundstücks hat. Im weißen Raum würde Ich mag ein kleineres Grundstück zu überlagern eine vergrößerte Version des Log-Plot in dem weißen Raum (Art wie eine vergrößerte Ansicht) enthält.

Bevor Sie mir sagen, es nicht getan werden kann, würde Ich mag zu erwähnen, dass ich sie in Aktion gesehen habe. Wenn meine Beschreibung fehlt, lassen Sie mich wissen, und ich werde versuchen, es besser zu Ihnen zu beschreiben.

War es hilfreich?

Lösung

Ein Beispiel:

x = 1:20;
y = randn(size(x));

plot(x, y,'LineWidth',2)
xlabel('x'), ylabel('y'), title('Plot Title')

h = axes('Position', [.15 .65 .2 .2], 'Layer','top');
bar(x,y), title('Bar Title')
axis(h, 'off', 'tight')

Screenshot

Andere Tipps

Sie können axes Eigenschaften 'position' und 'units' verwenden und sie übermäßig. Achten Sie kleine Achsen nach großer einem oder Verwendung uistack() Funktion zu schaffen, so dass groß klein man nicht verbergen.

Was man nicht kann, ist ein Achsen Kind eines anderen zu machen (wie Mathworks tun mit legend). Aber Sie brauchen nicht es trotzdem.

Für das zweite Grundstück hat man axes und line statt plot und hold on zu verwenden.

Einheiten als 'normalized' (der Standard) ermöglichen einheitliche Größe veränderbar aussehen, wenn übergeordnetes Bild der Größe verändert wird (zum Beispiel manuell maximiert).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top