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):
without wind_rose comand it works normaly: https://docs.google.com/open?id=0B51ZU50t_ZgXd1FwS2pBSlpRS1dCNkFwVHlCd3ZoUQ
How to get that? Please help!
1 个评论
Sean de Wolski
2012-3-15
What is wind_rose? Does it specify an axes somewhere in its first few lines?
回答(1 个)
Walter Roberson
2012-3-15
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 个评论
Sean de Wolski
2012-3-15
or ...'parent',subplot(1,3,3))
Zach
2012-3-15
编辑:Walter Roberson
2017-7-24
Sean de Wolski
2012-3-15
Change their 'position' and 'outerposition' property
João Paulo Ferreira
2017-7-24
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!!
Walter Roberson
2017-7-24
In the code for wind_row change
if parent
to
if parent ~= 0
João Paulo Ferreira
2017-7-24
Perfect Walter!
Thank you very much!
João Paulo Ferreira
2017-7-26
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.
Walter Roberson
2017-7-26
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.
类别
在 帮助中心 和 File Exchange 中查找有关 Polar Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!