哈哈自问自答了,遇到困难,既然没有现成的方法,那我们就自己研究创新出方法!

Excel绘制玫瑰花图

我们知道,老一辈的地质工作者或者学院派教学中,玫瑰花图一般是用尺笔和毫米方格纸手工画的,不仅费时还易出错。互联网+时代,我们能否使用计算机来绘制出玫瑰花图呢?当然国外的专业软件可以绘制出,但是需要付费。不用担心,下面我来教大家如何用Excel免费便捷地绘制出玫瑰花图!

自创技术:CAD方向角智能转化、走向角度快速统计、Excel绘制玫瑰花图

一.玫瑰花图简述

玫瑰花图主要用作节理的统计方式之一,方法简便,形象醒目,比较清楚地反映出主要节理的方向,有助于分析区域构造。最常用的是节理走向玫瑰花图。分析节理玫瑰花图,应与区域地质构造结合起来。因此,常把节理玫瑰花图,按测点位置标绘在地质图上。这样就清楚反映出不同构造部位的节理与构造(如褶皱和断层)的关系。综合分析不同构造部位节理玫瑰花图的特征,就能得出局部应力状况,甚至可以大致确定主应力轴的性质和方向。此外,还有水系走向玫瑰花图、风玫瑰花图等,玫瑰花图在工程领域用途颇为广泛。

二、绘制方法

1.CAD方向角智能转化

CAD线段属性中自带有该线段在“ XY 平面中的角度”,但CAD中的“ XY 平面中的角度”与我们所要统计的方向角有着以下四个区别,使CAD中的“ XY 平面中的角度”不能直接引用:

a).方位角正北方向为0°,而CAD中以正东方向为X轴0°。 b).方位角为顺时针,而CAD中的属性自带角度是从X轴方向逆时针测出的。 c).最棘手的是,CAD中线段的起点与终点调换,其测出的属性角度值不等。 d).最后,玫瑰花图中的方向角只统计270°-90°(上半圆)范围内的,所以方向角还要都转换到上半圆去。

我研究了一下,写了一个函数,无论线段如何画,都可以将CAD中的线段属性值“ XY 平面中的角度”智能转化为咱们要用的方向角:

=IF(IF(D1>=180,D1-180,D1)>=90,450-IF(D1>=180,D1-180,D1),90-IF(D1>=180,D1-180,D1))

D1:指代CAD属性角数据所在位置的单元格,这里只是我选择D列为CAD属性角,可根据自己选择自行改变。

函数的推导思路不再赘述,好用就行。CAD中的任意一条线段图中“在XY平面中的角度”即为CAD属性角上图中的线段的方向角是个特殊值,CAD属性角和正确的方向角恰巧一致但其他角度还是和正确的方向角有很大区别的(第4列为CAD属性角,第5列为转换后的正确方向角)

2.走向角度快速统计

根据上一步,我们获取了大量的走向方向角,就有了下一个问题,玫瑰花图需要统计的就是不同走向出现的频次,样本少还好人工统计,若是成千上万的数据,我是个懒人,我们该怎样快速统计呢?

在此之前我们先要有一步准备工作,在Excel中的任意一列,打出如下的一组数据(可利用等差数列拖拽):这组数据要用做分级统计的阈值

这组数据可用作分级统计的阈值,具体是按1°、5°、10°等哪一个公差分级取决于统计精度。另外,这组数据在第三阶段也起到了充当坐标刻度的重要作用。

接下来,我们可以用Excel中,数据选项卡,末端的“数据分析”功能来快速统计走向频次,如图:数据选项卡下的末端的“数据分析”功能

点了之后,再选择“直方图”,我们并不是要做直方图,只是借助这个功能帮我们统计数据。接下来会弹出这样一个对话框:

输入区域:选择换算后的所有的正确走向方位角(可以按住ctrl+shift,再按“下”箭头键快速选中)

接收区域:准备好的分级阈值(从表头到360°都要选中)

标志:勾选

输出区域:勾选,可选择任意一处空白区域

图表输出:勾选

这是输出的统计数据表(直方图被我删去了):如图,走向频次被清晰的统计了出来,不重不漏

3.用Excel散点图绘制玫瑰花图

原理:散点连线

上一阶段我们曾打下铺垫,走向角度分级的那组阈值,每一个阈值对应一个散点,在散点图中用XY坐标表示出来,之后散点自动连线就成了我们需要的刻度线(上半圆弧)。

散点的XY坐标确定需要用到两个函数:角度制与弧度制转化函数、三角函数

*第一步:绘制出刻度线

首先,确定刻度线圆弧的半径R,R可根据走向频次的最大值确定,如上例中355°~360°的频次最多有13条,那我们就将半径设置为R=15

其次,我们需要将角度制转化为弧度制,利用函数:=radians(角度单元格)

再次,XY的坐标用三角函数写出:X坐标 =R*sin(弧度单元格) Y坐标=R*cos(弧度单元格) 此处需要注意的是,R的数据所在的单元格要绝对引用(快捷键为F4),不然得出的坐标值全为0!计算出分级刻度的XY坐标备用

最后,选中"分级XY坐标"这两列的所有数据(不带表头),在”插入“选项卡中,选择插入散点图先选中分级刻度线的XY坐标数据,再插入散点图插入后的散点图,作为刻度线的上半圆弧

*第二步:绘制数据线(玫瑰花图)

首先,提前计算出各级频次数据散点的XY坐标。与刻度线坐标的求解方法类似,但R换成了“频次所在的单元格”,并且不要绝对引用。此外,此处需要注意的是,数据XY坐标的数据要比刻度线坐标多一行,在360°后,还要多一行0°、0、0、0、0的数据。这多出的一行0,作用在于将360°的散点与原点连线

其次,在已经做好的散点图半圆弧内,单击鼠标右键,选择“选择数据”这一项

再次,选择“添加”这一项,来添加数据散点的坐标。添加后,可以在弹出的窗口中修改数据组的名称

点击确定后玫瑰花图就基本制作完成了玫瑰花图基本绘制完成

最后,我们可以修改图表标题、添加并调整数据标签、添加图例等,做好最后的美化工作。可以选中并删去中部的数据散点的数据标签调整出刻度线标注和图例等(本图与上图并不是同一玫瑰花图)

这样,一幅玫瑰花图就绘制完成啦!虽然本帖看起来篇幅微长,但是熟练之后,绘制玫瑰花图将会变得非常快,绘制精度与样本数量都可以根据需要自行调整哦!

篇末,希望本帖能帮助到各位朋友,提高工作效率。如果本帖能帮助到你,还希望你能点下赞同、喜欢、收藏,也欢迎分享给更多的人,你的支持就是我创新的动力,谢谢!

节理玫瑰花图怎么画_什么软件能便捷地绘制出节理玫瑰花图、水系玫瑰花图?...相关推荐

  1. idea uml图怎么画_有了IDEA中的这款插件,流程图、类图轻松搞定,简直神器

    总有童鞋问,这个流程图图怎么绘制的,这个UML类图用什么工具做的等等,今天给大家推荐一款idea插件PlantUml,来帮助大家快速快速完成绘制. PlantUml是什么 PlantUml是一个支持快 ...

  2. 机械动作时序图怎么画_时序图怎么画?

    首先说下时序图的创建步骤 1.确定交互过程的上下文: 2.识别参与过程的交互对象: 3.为每个对象设置生命线: 4.从初始消息开始,依次画出随后消息: 5.考虑消息的嵌套,标示消息发生时的时间点,则采 ...

  3. python画三维立体图难吗_万万没想到,Python竟能绘制出如此酷炫的三维图

    作者 | Jay Alammar转载自 | 高级农民工 通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的: 这些图怎么做出来呢?今天就来分享下如何一步步绘制 ...

  4. python画三维立体图-Python 竟能绘制出如此酷炫的三维图

    原标题:Python 竟能绘制出如此酷炫的三维图 通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的: 这些图怎么做出来呢?今天就来分享下如何一步步绘制出三维 ...

  5. python怎样画立体图-Python 竟能绘制出如此酷炫的三维图

    原标题:Python 竟能绘制出如此酷炫的三维图 作者 | Jay Alammar 译者 | 高级农民工 通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的: ...

  6. python绘制3d图形-万万没想到,Python 竟能绘制出如此酷炫的三维图

    作者 | Jay Alammar 译者 | 高级农民工 通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的: 这些图怎么做出来呢?今天就来分享下如何一步步绘制 ...

  7. Python 竟能绘制出如此酷炫的三维图

    点击上方"高级农民工",选择"星标"公众号 第一时间速享原创干货 作者 | Jay Alammar 译者 | 高级农民工 通常我们用 Python 绘制的都是二 ...

  8. 机械动作时序图怎么画_还在用Visio画时序图?赶紧试试这两款好用的时序图工具(修订版)...

    对于电路设计者来说,在写文档的时候有一款能快速上手又好用的画时序图工具太重要了.之前我们推荐了AndyTiming(详情 好物分享:画时序图利器AndyTiming),能解决不少日常应用.然而,And ...

  9. 卷积码树状图怎么画_第八讲卷积码详解.ppt

    主要内容 卷积码 卷积码与分组码的区别与联系 卷积码的表示 卷积码的性质 维特比译码原理 基于网格图的维特比译码 卷积码的概念 为什么要引入卷积码 回顾分组码 把k位信息比特的序列编成n个比特的码组, ...

  10. java密度图怎么画_画直方图和函数密度曲线的几种方法

    方法一:R语言 w + 66.6, 64.0, 57.0, 69.0, 56.9, 50.0, 72.0) hist(w, freq = FALSE) lines(density(w), col = ...

最新文章

  1. Debug无忧!清华校友打造Python调试神器:反向追踪变量、数据流等 | 开源
  2. thinkphp视频截图_thinkphp开发的搞笑视频网站
  3. 电脑f2还原系统步骤_电脑一键还原win10系统的操作步骤
  4. YBTOJ:染颜色(KDtree)
  5. idea怎么将本地文件和远程git对比_IDEA新建本地项目关联远程git仓库
  6. springcloud 注解 @EnableDiscoveryClient 与 @EnableEurekaClient 的区别
  7. 【设计模式】第四章 工厂模式
  8. .net core 获取binary 文件_7.2 获取文本数据_Csv.Document
  9. 德鲁伊 oltp oltp_内存中OLTP –招待看门狗的三个关键点–检查点文件
  10. eclipse的workspace和working set
  11. pyecharts查看版本_pyecharts的版本问题
  12. upc 5215: Fence Building(欧拉定理/推导+OEIS)
  13. spyder安装pyqt5
  14. 语言栏不见了怎么办?
  15. VS Code中点击Tab键突然不能缩进了
  16. centos7.8安装CDO
  17. HBO宣布续订《西部世界》第三季
  18. 服务条款和隐私_数据中心设备和条款| 第1部分
  19. 链表和分开查询的区别
  20. Java集合,Collections

热门文章

  1. 【笔记】MySQL 根据出生日期计算当前年龄
  2. 悬臂梁振动方程及仿真
  3. matlab实现傅立叶变换6,实验六傅里叶变换及其反变换
  4. ViewPage2和Fragment以及Tablayout使用
  5. 编译原理实验之词法分析
  6. 第2章 关系数据库练习题
  7. OBS Studio是一款非常专业的视频直播录制软件,完全免费
  8. 常见在线射频电学计算公式
  9. kali攻击139端口_简易入侵139端口
  10. 2016春招腾讯笔试题