当前位置: 首页 > article >正文

【MATLAB基础绘图第17棒】绘制玫瑰图

MATLAB绘制玫瑰图

  • 玫瑰图(Nightingale Rose Chart)
  • 风玫瑰图(WindRose)
    • 准备工作:WindRose工具包下载
    • 案例
      • 案例1:基础绘图
  • 参考

玫瑰图(Nightingale Rose Chart)

玫瑰图(Nightingale Rose Chart),又名鸡冠花图(Coxcomb Chart)、极坐标区域图(Polar Area Diagram),是极坐标化的柱图,可以将其理解为披着饼图外皮的柱状图。

风玫瑰图(WindRose)

风玫瑰图(Wind rose diagram)是一种特殊的极坐标堆叠图/统计直方图,其能够直观地表示某个地区一段时期内风向、风速的发生频率。

准备工作:WindRose工具包下载

由于Matlab中未收录风玫瑰图的绘制函数,因此需要大家自行设法解决。此处,采用WindRose工具包绘制风玫瑰图。

MATLAB帮助-Wind Rose
在这里插入图片描述

案例

案例1:基础绘图

MATLAB代码如下:

clc
close all
clear
%% 函数说明-风玫瑰图绘制

pathFigure= '.\Figures\' ;
figureUnits = 'centimeters';
figureWidth = 18; 
figureHeight = 15;

%% 导入数据

load('data.mat');
direction = data(:,1);    % 风向
speed = data(:,2);         % 风速

%% 开始绘图

Options = {'anglenorth',0,...     'The angle in the north is 0 deg (this is the reference from our data, but can be any other)
           'angleeast',90,...              'The angle in the east is 90 deg
           'labels',{'N (0°)','NE (45°)','E (90°)','SE (135°)','S (180°)','SW (225°)','W (270°)','NW (315°)'},... 'If you change the reference angles, do not forget to change the labels.
           'freqlabelangle',45};
figureHandle = WindRose(direction,speed,Options);
set(gcf, 'Units', figureUnits, 'Position', [0 0 figureWidth figureHeight]);
set(gca,'FontSize',12,'Fontname', 'Times New Roman');

其中,‘Options’为自定义绘图参数集,包括标签、标题、图例、配色、组数等等,可以根据自己的需要进行设置。

成图如下所示:
在这里插入图片描述
绘制完成后,按所需格式、分辨率导出图像:

str= strcat(pathFigure, "风玫瑰图", '.tiff');
print(gcf, '-dtiff', '-r600', str);

参考


http://www.kler.cn/a/137315.html

相关文章:

  • arcgisPro相接多个面要素转出为完整独立线要素
  • 使用 esrally race 测试 Elasticsearch 性能:实践指南
  • flask before_request 请求拦截器返回无值则放行,有值则拦截
  • 整合 Knife4j 于 Spring Cloud 网关:实现跨服务的 API 文档统一展示
  • 系统思考—战略共识
  • 在 C# 中加载图像而不锁定文件
  • Maven工程继承关系,多个模块要使用同一个框架,它们应该是同一个版本,项目中使用的框架版本需要统一管理。
  • springboot上传文件
  • zabbix-proxy分布式监控
  • python实现FINS协议的TCP服务端(篇二)
  • Mysql数据库管理-Innodb 内存优化分析
  • 【ARM AMBA AXI 入门 14 -- AXI 窄位传输 | 非对齐传输| 大小端传输】
  • 平衡二叉树c语言版
  • ubuntu从源码编译gdal
  • Linux下socket例子(c/c++)
  • 【运维日常】lvm中的lv是如何扩容的---直接干
  • 网络渗透测试(TCP/IP)理论篇
  • [autojs]自动关闭青少年模式、个人信息保护指引弹窗
  • 第七讲(二):双指针,指针运用
  • Ubuntu20.04 安装微信 【wine方式安装】推荐
  • HTML5学习系列之响应式图像
  • python电影数据可视化分析系统的设计与实现【附源码】
  • JAVA小游戏 “拼图”
  • 开源集群管理系统对比分析:Kubernetes 与 Apache Mesos
  • Run Legends将健身运动游戏化,使用户保持健康并了解Web3游戏
  • 【Java系列】SpringBoot 集成MongoDB 详细介绍