Why Isn’t One of Plots Shown?

1 ビュー (過去 30 日間)
Rightia Rollmann
Rightia Rollmann 2017 年 3 月 2 日
編集済み: Adam 2017 年 3 月 2 日
I have some questions regarding the code below
hax1 = axes('OuterPosition', [0 0 0.5 0.5]);
hax2 = axes('OuterPosition', [0.5 0.5 0.5 0.5]);
p1 = plot(1:10,rand(1,10), 'Color', 'b', 'parent', hax1)
hold on
p2 = plot(1:10,rand(1,10), 'Color', 'r', 'parent', hax1)
  1. Why isn’t p1 shown in hax1, although hold is on and both belong to hax1?
  2. How can I show both p1 and p2 on hax1? (I want to have p1 and p2 in separate lines and not in one line together (i.e., plot(x1,y1,x23) ,y2))
  3. Is there any way to specify a plot’s parent before plotting it? In the code above, I specified plots parents after entering the x and y coordinates, but I first want to specify plots parents and then later specify plots coordinates.

採用された回答

Adam
Adam 2017 年 3 月 2 日
編集済み: Adam 2017 年 3 月 2 日
You need to use
hold( hax1, 'on' )
Every axes-related instruction you give should be to an explicit axes handle. Never just rely on the current axes otherwise you end up with issues like this.
Also I tend to use
plot( hax1, ... )
but it amounts to the same thing as what you did, it is all one single instruction so it isn't really after supplying the coordinates.

その他の回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by