本系列采用turtle、matplotlib、numpy这三个Python工具,以分形与计算机图像处理的经典算法为实例,通过程序和图像,来帮助读者一步步掌握Python绘图和数据可视化的方法和技巧,并且让读者感受到“ 龙枝屈曲竞分形,瑰丽绮错千万状”的分形魅力。本系列共有八章,分别为:海岸线有多长,基因与生成元,植物算法之美,凝聚、凝聚、凝聚,拼贴与显影,优雅的曲线,奇异瑰丽的图案,生命的迭代演化。

中国传统中的『分形』
『分』是会意字,由八和刀上下组合而成,表示用刀把物体切开。分的本义是分别、分开,引申为辨别、分辨,又引申为从主体分出的部分、分支。

『形』在篆文中是形声字,『彡』为形,『幵』(jian)为声,『彡』表示绘制的图案花纹。形的本义指形体,引申指物vb.net教程体的形状和样子。又引申指事物表现出的较为抽象的特征、情状。再转作动词,引申为显露、表现。

                                                                            --商务印书馆《新华大字典》

『分形』由『分』与『形』组成,融合了两个字的含义,在古汉语中有三种意义:

相似且关系密切。如成语“分形同气”,出自《吕氏春秋.精通》:“父母之于子也,子之于父母也,一体而两分,同气而异息。”,意思是父母与子女虽形体个别,但气息相通,彼此之间的关系相似、密切。
分离。如南朝.宋.鲍照的《赠故人马子乔》中言道:“双剑将别离,先在匣中鸣。烟雨交将夕,从此遂分形。”这里的『分形』表示形同而分,形似而别的意思。
形态复杂。如张衡的《西京赋》中道:“奇幻倏忽,易貌分形。”这里的『分形』指的是变化的各种形态。
宋明期间,理学c#教程盛行,其中的一个核心命题叫做『理一分殊』,也就是『分形』的哲学。『理一分殊』这一观点强调的是:理为万殊的根源,是本体,由本体可以化生出形相各异的天地万物。这里的『分』,不是指分散分解,而是化生。

这种分形化生的思想在佛教之中更为流传,千手观音、化身五五图以及观音菩萨三十三化身图都是这种思想的表现。《慧命经》中有一首解释《化身五五图》的诗:“分念成形窥色相,共灵显迹化虚无。”这首诗中的“分念成形窥色相”的含义,可以用南宋文学家陆游的一首咏梅绝句来诠释:

闻道梅花坼晓风,雪堆遍满四山中。

何方可化身千亿,一树梅前一放翁。

听闻梅花已在晨风中绽放,纷繁似雪,遍布山中,我要如何才能靠近每一株梅花呢?“分念成形”,一而二,二而三,化生千亿个身影,让每一棵梅花树前都有一个陆游常在。

大自然的分形几何
“云彩不是球体,山岭不是锥体,海岸线不是圆周,树皮并不光滑,闪电更不是沿直线传播。”

                                                         --《大自然的分形几何》

“内外灵光到处同,一佛国在一沙中。一粒沙含大千界,一个身心万法同。”

                                                         --《西游记》第14回

变化莫测的云彩,连绵起伏的山脉,风起云涌的波浪,犬牙交错的海岸线,树木、闪电、星团、水系、泥裂、冻豆腐,火焰、真菌,小麦须根、树冠、花草、支气管,以及小肠绒毛、大脑皮层……,从宏观到微观,从自然现象到生物构造,大自然向人类展示着各式各样、千变万化的形态,而这些形态都有着一个共同点,那就是:不规则、支离破碎,无法用经典的、规则的几何图形来进行描述。

在经典的欧氏几何中,图形是规则的,无论是墙壁、车轮、道路还是建筑物,都可以用直线、圆弧、圆锥或球等形状来描述。这些物体是基于规则生成的,所以在这些领域,欧氏几何游刃有余,然而,当面对大自然,面对各式各样的鬼斧神工时,它却往往显得力不从心。面对这样的状况,科学家们一直探索着从欧氏几何体系中python基础教程脱离出来的方法。直到1975年,著名数学家Mandelbrot构思和发展了一种新的几何学:分形几何。这种几何学把自然形态看作是具有无限嵌套层次的精细结构,这种结构在不同的尺度下保持着某种相似性,也就是说,局部与整体相似,亦或是,局部是整体的缩影。

分形的原文Fractal是Mandelbrot用拉丁词根拼造出来的单词,意思是细片、破碎、分数、分级等等。70年代末,fractal传到中国,台湾根据其意直译为“碎形”,然而,中国科学院物理所的李荫远院士提出“fractal”应当译成“分形”,得到许多科学家的赞同,最终,fractal被定译为“分形”。李荫远院士的“分形”之译,准确地抓住了fractal的本质,并结合中国传统文化中『分形』的内涵。由此,中国传统的自然哲学思想,与几何学中的“fractal”理念,完美地融合到了一起 ——“简单产生复杂,混沌孕育秩序”。

数据可视化
“在计算机学科的分类中,利用人眼的感知能力对数据进行交互的可视表达以增强认知的技术,称为可视化,它将不可见或难以直接显示的数据转化为可感知的图形、符号、颜色、纹理等,增强数据识别效率,传递有效信息。 – 《数据可视化》陈为

我们有一种与生俱来的“语言天赋”,无须后天的训练和学习,就可以流利地解读图像语言。一份数字化报表,人们需要逐条浏览,才能获知销量情况,但是只要一张柱状图,就可以让人一眼知晓所需要的信息。一座城市,道路复杂、河流交错、人群聚居,但是只要一张地图,就可以让人快速地了解这座城市的物理空间结构和人群分布。一家大型企业,有很多不同职能的部门,工作的细分程度也很高,但是只要一张组织结构图,就可以让人迅速地明了这家企业的层级关系和职责分工。

人眼是一个视觉信号输入处理器,这个处理器可以同时处理大量的信息,它具有很强的模式识别能力,可以快速地、甚至潜意识地解读图形、颜色、纹理等图像符号,解读的速度更是远远大于对数字或文本等形式的感知。正是因为人类视觉的这个特点,从文明初始起,人类便开始通过可视化来进行信息的记录、推理和分析,借助图形和图像,来研究、探索和传播万事万物的原理和规律。分形几何的发展也是如此,科学家们建立模型,在计算机上进行实验,然后将实验数据可视化,并在形成图形和图像的过程中,来捕获和探索大自然各种形态的奥秘。在本系列中,我们将采用Python绘图工具,来还原这些计算机实验以及数据可视化的过程。

数据可视化的工具有许多,最经典的莫过于Excel,大多数人都有使用Excel生成各种数据统计图的经验,然而Excel的缺点是流程的操作步骤繁琐、容易出错,并且很多时候不可复用,相比之下,Python的绘图更简单,只需要几行代码,便可以调用数据,生成各式图表,并且可以复用。

作为数据可视化工具,Python有以下优点:

Python是一门开源的高级编程语言,有着简洁、易读、灵活、易维护和模块化的优良特性,并且可以轻松地与其它编程语言及软件集成;
Python有着丰富的第三方工具库,可视化工具有基本的Matplotlib,也有复杂的Seaborn、Bokeh,这些工具的使用简便,代码可复用、可交互,并且可以画出Excel不具备的图以及特殊效果;
本系列采用的Python工具为turtle、matplotlib和numpy,其中以turtle模块开始,作为入门,逐步过渡到专业级的matplotlib和numpy库。matplotlib库是比较底层的python可视化第三方库,有着可定制性强、图表资源丰富、简单易用、达到出版质量级别的特点。Python中有许多可用于数据可视化的库,但大多数库都是基于matplotlib进行开发封装的,所以,学习python数据可视化,必须要学习matplotlib库,它的语法虽然略复杂,但非常灵活,几乎可以生成任何类型的图形,无论是简笔画、艺术图还是数据统计图。

(未完待续)

编后语:

这个系列是一个大杂烩,但并不是把材料简单地进行堆砌,它更像是一锅炖菜,猪肉炖粉条、小鸡炖蘑菇,诸如此类地,材料如下:

主料:Python绘图、分形与混沌;
辅料:中国传统自然哲学思想、古风配色、古诗词等等;
大火烧开,小火慢炖,希望成品能有新意,并富有营养。:)

写作,对我来说是件快乐的事,分享自己的知识和思想,在输入-输出-反馈的循环过程中,不断地提升自己,生活也由此变得充实而有趣,所以,无论是问题、纠错,还是建议、意见,都希望您能反馈给我,帮助我提升文章的质量。

分形、分形几何、数据可视化、Python绘图相关推荐

  1. python数据分析pandas画图_Pandas数据可视化基础绘图教程

    众所周知,Pandas是基于Python平台的大数据分析与处理的利器.在数据为王的时代,想要掌握数据分析能力,学会Pandas数据可视化工具是十分重要的.本文将带领大家一步一步学习Pandas数据可视 ...

  2. Python数据可视化 | Python实现Matplotlib系列colorbar的设置

    Python数据可视化 | Python实现Matplotlib系列colorbar的设置 目录 Python数据可视化 | Python实现Matplotlib系列colorbar的设置 color ...

  3. Day1.数据可视化-Python语法

    数据可视化-Python基础语法 Python简单? 想学好数据分析,最好最快的方式是掌握Python语言. Python语言的强大 简洁,有大量的第三方库,功能强大(数据科学领域) Numpy 科学 ...

  4. Django博客来访人员地域分布大数据可视化---echarts绘图、geoip2获取地理位置

    文章目录 Django博客来访人员地域分布大数据可视化---echarts绘图.geoip2获取地理位置 效果 echarts作图 geoip2获取地理位置 api接口开发 ajax前后端动态交互 D ...

  5. 视频教程-Python大数据可视化-Python

    Python大数据可视化 7年软件开发架构经验,12年IT培训经验,曾就职于拜特科技,金蝶软件,软酷网络等多家互联网公司.擅长Java EE,前端,iOS及大数据等技术方向的开发及教学.策划并撰稿大数 ...

  6. python与excel做数据可视化-python做可视化数据分析,究竟怎么样?

    Python做可视化数据分析也是可以的,只是对比起来专业的可视化工具有些得不应手,做出来的图可能不太美观.Python用来处理数据,用来分析绝对可以.我觉得想要可视化可以使用专门的可视化工具. 不过, ...

  7. 数据可视化 | Python绘制多维柱状图:一图展示西部各省人口变迁【附本文数据和代码】

    查看原文:[数据seminar]https://mp.weixin.qq.com/s/pvx2ZzLbrBL-6cyOwVATOA Part1前言 柱状图是利用柱子的高度来反映数据差异的统计图,与一维 ...

  8. 【seaborn】(1) 数据可视化,绘图风格、布局

    各位同学好,今天和大家分享一下如何使用 seaborn 库进行数据可视化.在 matplotlib 的基础上进一步美化绘图.主要内容有:默认风格 sns.set(), 主题风格 sns.set_sty ...

  9. python与excel做数据可视化-Python的Excel操作及数据可视化

    Excel表操作 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 安装xlrd pip install xlrd 简单的表格读取 ...

  10. python爬虫数据可视化_python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

最新文章

  1. Demon_接金币(三个掉落物品预设体,一接物体的工具)
  2. Spring 拦截器和过滤器中自动注入为 null 的原因及解决方案
  3. java中转json字符串_如何在Java中转义JSON字符串-Eclipse IDE技巧
  4. Shell编程入门(第二版)(上)
  5. ajax控件扩展,22.6 扩展控件
  6. Service Mesh 如何重定义云原生计算?阿里服务网格技术大揭秘
  7. 关于 try catch 捕捉不到异常
  8. Windows Apache Django 配置
  9. Java同步数据结构之Collection-Queue
  10. Android蓝牙音量调节,安卓 蓝牙音量控制 Bluetooth Volume Control v2.40 付费高级特别版...
  11. pentaho-server-ce-7.0安装配置说明
  12. 如何删除Slader 大数智图PDF阅读器
  13. opencv里cols、rows分别对应宽(列)、高(行)
  14. 单条件求和和多条件求和以及条件求平均
  15. Android 模拟器横屏竖屏切换设置
  16. Hexo sakura整理
  17. 【水果识别】柑橘质量检测及分级系统(带面板)【含GUI Matlab源码 1628期】
  18. FFB6D复现Bug
  19. 什么是ChainLink (LINK)
  20. Delphi数据库处理组件BDE、ADO、InterBase和dbExpress详细说明

热门文章

  1. webservice接口怎么将xml作为参数传递呢_Rhapsody集成引擎通讯点(接口)出入参详解web服务篇...
  2. 红色php企业网站模板下载,双语企业通用红色系网站模板 v3.2
  3. 基于MQTT和nodeMCU的音乐弹奏APP【100010341】
  4. 给公司搭建一个人才库系统,前台(信息填写+简历上传)后台(筛选功能+下载简历)
  5. EasyPoi导入导出(一)
  6. Tkinter Frame大小设置不起作用
  7. 浅谈自动化控制系统的设计与实现
  8. 机器学习模型自我代码复现:SVM(SMO算法)
  9. 微软应用商店_应用不够网页来凑 微软商店将支持PWA网络应用 尽管这没太大的意义...
  10. 概率密度估计--参数估计与非参数估计