• 大小: 10KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: Matlab
  • 标签: matlab  

资源简介

matlab气象风玫瑰图-wind_rose.m
最近在画风玫瑰图,网上查找到的风向与风速强度都有点问题,修改代码后,与大家分享,有什么问题可以讨论。

资源截图

代码片段和文件信息

function varargout = wind_rose(DFvarargin)
%WIND ROSE   Wind rose of direction and intensity

%   Syntax:
%      HANDLES = WIND_ROSE(DIVARARGIN)
%
%   Inputs:
%      D   Directions
%      I   Intensities
%      VARARGIN:
%       -dtype type of input directions D standard or meteo
%            if meteo the conversion dnew=mod(-90-D360) is done;
%            if not meteo standard is used (default)
%       -n number of D subdivisons
%       -di intensities subdivisons default is automatic
%       -ci percentage circles to draw default is automatic
%       -labtitle main title
%       -lablegend legend title
%       -cmap colormap [jet]
%       -colors to use instead of colormap for each di
%       -quad Quadrant to show percentages [1]
%       -ri empty internal radius relative to size of higher
%            percentage [1/30]
%       -legtype legend type: 1 continuous 2 separated boxes [2]
%       -bcolor full rectangle border color [‘none‘]
%       -lcolor line colors for axes and circles [‘k‘]
%       -percbg percentage labels bg [‘w‘]
%       -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)
%       -iflip flip the intensities as they go outward radially ie
%                highest values are placed nearest the origin [{0} 1]
%
%   Output:
%      HANDLES   Handles of all lines fills texts
%
%   Examle:
%      d=0:10:350;
%      D=[];
%      V=[];
%      for i=1:length(d)
%        n=d(i)/10;
%        D=[D ones(1n)*d(i)];
%        V=[V 1:n];
%      end
%
%      figure
%      wind_rose(DV)
%
%      figure
%      wind_rose(DV‘iflip‘1)
%
%      figure
%      wind_rose(DV‘ci‘[1 2 7]‘dtype‘‘meteo‘)
%
%      % place it on a previous axes:
%      ax=axes;
%      plot(lonlat)
%      wind_rose(DV‘ax‘[ax x y 1/3])
%
%   MMA 26-11-2007 mma@odyle.net

%   IEO Instituto Espa?l de Oceanograf?
%   La Coru? Espa?

%   10-12-2007 - Added varargin ci and n (nAngles removed as input)
%   17-12-2007 - Added varargin ax colors
%   22-02-2008 - Added varargin dtype
%   08-05-2008 - Bug fix (bar at dir=0 could be incorrect in some cases)
%   14-05-2008 - Added varargin iflip

%figure;
% web -browser http://www.ilovematlab.cn/thread-12454-1-1.html
handles=[];

% varargin options:
dtype=‘standard‘;
nAngles=16;
ri=0.01;
quad=1;
legType=2;
percBg=‘w‘;
% percBg=[204/256 204/256 204/256];%图例背景色
titStr=‘‘;
legStr=‘‘;
cmap=jet;
colors=[];
Ag=[]; % intensity subdivs.
ci=[]; % percentage circles
lineColors=‘k‘;
borderColor=‘none‘;
onAxes=false;
iflip=0;

vin=varargin;
for i=1:length(vin)
  if isequal(vin{i}‘dtype‘)
    dtype=vin{i+1};
  elseif isequal(vin{i}‘n‘)
    nAngles=vin{i+1};
  elseif isequal(vin{i}‘ri‘)
    ri=vin

评论

共有 条评论