can not subplot wind rose

I have to plot 3 pictures on one sheet, I do:
subplot(1,3,1)
contourf(piture 1)
subplot(1,3,2)
contourf(piture 2)
subplot(1,3,3)
wind_rose(dir,spd)
But result is wrong (like Matlab does not understand the 3-rd subplot and plots it separated on above the other subplots):
How to get that? Please help!

1 Commento

Sean de Wolski
Sean de Wolski il 15 Mar 2012
What is wind_rose? Does it specify an axes somewhere in its first few lines?

Accedi per commentare.

Risposte (1)

Walter Roberson
Walter Roberson il 15 Mar 2012
The documentation for which says,
-ax, to place wind rose on pervious axes, the input for ax
must be [theax x y width], where theax is the previous
axes, x and y are the location and width is the wind
rose width relative to theax width (default=1/5)
-parent, by default a new axes is created unless parent is
given, ex, parent may be a subplot
This suggests to me that the appropriate call Zach wants would be
wind_rose(dir,spd, '-parent', gca)

8 Commenti

Sean de Wolski
Sean de Wolski il 15 Mar 2012
or ...'parent',subplot(1,3,3))
Zach
Zach il 15 Mar 2012
Modificato: Walter Roberson il 24 Lug 2017
Thank you!
wind_rose(dir,spd, 'parent', subplot(1,3,3))
P.S.
How could I enlarge all 3 subplots and make less distance between subplots?
Sean de Wolski
Sean de Wolski il 15 Mar 2012
Change their 'position' and 'outerposition' property
This parameter: 'parent', subplot(1,3,3) --> it work perfectly in Matlab version 2013, but not in version 2015. Does anyone know if they have another method? This a message error:
_"Conversion to logical from matlab.graphics.axis.Axes is not possible.
Error in wind_rose (line 250) if parent"_
Thanks!!
In the code for wind_row change
if parent
to
if parent ~= 0
Perfect Walter!
Thank you very much!
Walter, is it possible to record the rose in .PNG with the white background to transparent? I usually record the figure with the command below, but I do not know how to leave the background transparent.
set(gcf,'PaperUnits','centimeters','PaperPosition',[0 0 30 20]); % A4 maximized landscape
print('-dpng',fullfile(fname,filename),'-r300'); % 300 are the DPI
Thanks if you can help.
If I recall, export_fig from the File Exchange can handle transparency in PNG. This corresponds logically to doing a screen grab of the figure and setting the Alpha or the Transparency https://www.mathworks.com/help/matlab/ref/imwrite.html#input_argument_d0e485690 properties . You can thus do the same thing by using
cdata = print('-RGBImage', '-r300');
and then imwrite() cdata to the file specifying 'Transparency' and the RGB value of the background color you wish to make transparent.

Accedi per commentare.

Categorie

Richiesto:

il 15 Mar 2012

Commentato:

il 26 Lug 2017

Community Treasure Hunt

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

Start Hunting!

Translated by