python画建筑_专题 | Python 绘图入门

我的施工之路

Python 绘图入门

这是施工系列第18篇,同时也进入到一个新的阶段:Python绘图篇。作为绘图模块的第一篇,与大家一起过过最基本的Python绘图原理。

掌握基本的绘图原理很有必要,各个常用绘图库的原理基本都是相通的。所以了解它们后,使用库里的API函数将会更加得心应手,并且熟练其中一个库后,便能迅速上手其他的绘图库。

1 绘图组成要素

一般绘图要素的基本组成部分包括:画布(Canvas),坐标系(Axes),轴(Axis),标题(Title),标签(Label),刻度(Tick),图例(Legend),网格(Grid),数据域(Data),如下图所示:

2 画布

画布 Canvas 是绘制图像的地方,一个画布可以包括多个坐标系,如下图所示,一个Canvas上包括2个坐标系(Axes):

对应在实际绘图中,如下所示,画布上共包括3个坐标系,每个坐标系分别绘制了柱状图、折线图、饼图,布局样式如下:

这种坐标系布局还能做出更加复杂多样美观的样式,即看板,英文 dashboard,实际工作常用在商业智能分析(BI)中,如下就是一个dashboard的范例:

3 坐标系

一个坐标系常见的组成部分如下所示:

在实际坐标系中,各个元素的对应关系如下所示:

4 轴

常见的轴划分为: x 轴和 y 轴,当然也有某些类图只有一个轴,如饼图。

另外,一个坐标系中,还可以包括双轴。如下所示,左侧轴表示降水量,右侧轴表示温度,这是双轴图:

很多时候,习惯使用 x 轴表示非数值型,y 轴表示数值,但是现在也常常颠倒过来,让 y 轴表示非数值, x 轴表示数值。如下图所示:

5 其他元素

其他元素如:标题(Title),标签(Label),刻度(Tick),图例(Legend),网格(Grid),这些都比较好理解。

有的绘图库里,一个轴对象,通常包括着标签、刻度、以及网格对象。

图例和数据域是紧密相关的,一个系列对应图例的一个部分,如3个系列在图例中就有3个不同取值,并使用不同颜色加以区分。如下图所示,图例包括3个不同取值,每个取值对应一个颜色,每个颜色代表一个系列:

6 注意事项

绘图的终极目的是想让数据展现更加更效、美观,方便观众迅速捕捉到数据的大概分布和走势。

注意事项,最重要的一条 1):首先做到准确高效的传达信息,以此为前提下再力求美观。

2)折线图、柱状图等的基线最好要从零开始。

3)尽量使用常见的、可读性强的字体,最好不要使用艺术字。

4)通常来讲,柱状图的间隔应为柱状图宽度的1/2,间距不能过小或过大。

5)饼图的分类要适中,分类数不宜过多,过多分类无法聚焦。

6)一副图中,不同颜色种类不宜过多。

还有一些其他重要细节,大家不妨留言补充或感兴趣的自己去查询。

近期文章

分享

”和“

在看

”是更好的支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329754.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新版dotnet-cli下的ASP.NET Core和asp.net mvc【RC2尝鲜】

RC1是http://get.asp.net里面提供的https://docs.asp.net/en/latest/getting-started/index.html,使用旧的ASP.NET Core 1.0。这个版本会使用dnvm,dnu restore和dnx web等,而RC2则不需要,RC2只需要dotnet restore和dotnet run&…

kafka生产者开发方式

【README】 本文记录了 kafka生产者开发方式; 【1】生产者概览 【1.1】kafka发送消息过程 【1.2】创建kafka生产者 1)创建kafka生产者, 有3个必选属性: bootstrap.servers: kakfa集群节点地址;key.seri…

JAVA面试常考系列三

转载自 JAVA面试常考系列三 题目一 什么是迭代器(Iterator)? 迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中确定的地址。迭代器提供了一种方法,可…

linux wait函数头文件_手把手教Linux驱动9-等待队列waitq

在上一篇《手把手教Linux驱动8-Linux IO模型》我们已经了解了阻塞、非阻塞、同步和异步等相关概念,本文主要讲解如何通过等待队列实现对进程的阻塞。应用场景:当进程要获取某些资源(例如从网卡读取数据)的时候,但资源并没有准备好(例如网卡还…

HoloLens开发手记-配置开发环境 Install the tools

随着Build 2016开发者大会的结束,HoloLens开发包也正式开放下载。Hololens没有独立的SDK,开发特性被集成到最新的Visual Studio Update 2中。如果你没有HoloLens真机,那么可以安装HoloLens模拟器。 安装清单 注意: 这里为了方便大家顺利下载安…

kafka再均衡监听器测试

【README】 本文使用的kafka是最新的 kafka3.0.0;本文kafka集群有3个节点分别是 centos201, centos202, centos203 ; brokerid 分别为 1,2,3;本文主要用于测试 再均衡监听器;当有新消费者加入时,会发生分区…

java面试常考系列四

转载自 java面试常考系列四 题目一 大O符号(big-O notation)的作用是什么?有哪些使用方法? 大O符号描述了当数据结构里面的元素增加的时候,算法的规模或者是性能在最坏的场景下有多么好。大O符号也可用来描述其他的行为,比如&…

用python进行自然语言处理_Python自然语言处理示例:SVM和贝叶斯分类

❝关于自然语言处理(NLP)方面的文章、书籍非常之多,对于自然语言处理的上手,很多人是不知所措的。通过对本文的浏览,您应该能够对自然语言处理会有一个能够完整的有趣的基于Python的对自然语言处理的了解。❞什么是文本分类文本分类是将文本按…

Build 2016,你可能忽视的几个细节

微软公司主办的Build 2016大会尚在进程中,但是两场重量级的主题演讲已经结束。下面列举了我个人非常关注的几个细节,介绍一些背景知识以饲读者。 Bash on Windows背后的历史和未来 微软和IBM二十多年前联合开发NT内核的时候就已经为接驳多种操作系统留下…

JAVA面试常考系列五

转载自 JAVA面试常考系列五 题目一 串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?吞吐量收集器使用并行版本的新生代垃圾收集器,它用于中等规模和大规模数据的应用程序。串行收集器对大多数的小应用(在现代处理器上需要大概100M左右的内存…

kafka消费者开发方式小结

【README】 1, 本文总结了 kafka消费者开发方式;2, 本文使用的是最新的kafka版本 3.0.0;【1】 kafka消费则 【1.1】消费者与消费者组 1)消费者: 应用程序需要创建消费者对象,订阅主题并开始接…

微软发布Azure Functions、Service Fabric和IoT Starter Kits新服务

微软此次 Build 2016 大会的重点主题一直都围绕开发和 Microsoft Azure 云服务,今天更是对外发布了 Azure Functions、Service Fabric 和 IoT Starter Kit 等一系列新服务。就目前与其它友商的竞争而言,微软近期不断的修炼内功,使 Microsoft …

python发送邮件 退回_python 发送邮件(收到的邮件要有发送方才能回复)

Python使用SMTP(简单邮件传输协议)发送邮件普通文本邮件普通文本邮件发送的实现,关键是要将MIMEText中_subtype设置为plain## -*- coding: UTF-8 -*-import smtplibfrom email.mime.text import MIMEText#导入MIMEText类from email import encodersfrom email.heade…

JAVA面试常考系列六

转载自 JAVA面试常考系列六 题目一一个Applet有哪些生命周期? 一个Applet的生命周期分为以下四个阶段: Init 每次加载时都会初始化一个小程序。此方法通知Applet,方法已经被装入系统,在第一次调用start方法之前总是先调用它。Init…

.NET的未来包含一个开源的Mono

在微软Build 2016大会的第二天,微软项目经理Scott Hunter和Scott Hanselman就.NET平台的现状和未来计划做了一场演讲。演讲的题目是“.NET概述”,他们的精彩演讲耗时一个小时,描绘了公司对于.NET的目标以及开发人员可以期待什么。就像开幕式主…

kafka消费者接收分区测试

【README】 本文演示了当有新消费者加入组后,其他消费者接收分区情况;本文还模拟了 broker 宕机的情况;本文使用的是最新的 kafka3.0.0 ;本文测试案例,来源于 消费者接收分区的5种模型,建议先看模型&#…

python数据分析架构_Python数据分析

引言:本文重点是用十分钟的时间帮读者建立Python数据分析的逻辑框架。其次,讲解“如何通过Python 函数或代码和统计学知识来实现数据分析”。本次介绍的建模框架图分为六大版块,依次为导入数据,数据探索,数据处理&…

JAVA面试常考系列七

转载自 JAVA面试常考系列七 题目一 Swing的方法中,有哪些是线程安全的? Swing的规则是:当Swing组件被具现化时,所有可能影响或依赖于组件状态的代码都应该在事件派发线程中执行。 因此有3个线程安全的方法: repaint()…

图片中的Build 2016

微软主办的Build 2016大会刚刚落幕,让我们通过下面的图片集锦来回顾大会的一些容易被人忽视的细节。 Xamarin加入微软大家庭 微软公司于二月底花大价钱买下了Xamarin这家移动开发平台提供商,终于补全了它Mobile First Cloud First战略的短板。 图片一&am…

diy实现spring依赖注入

【README】 本文diy代码实现了 spring 依赖注入,一定程度上揭示了依赖注入原理; 【1】控制反转-Inversion of Control 是一种编码思想,简而言之就是 应用程序A可以使用组件B,但A无法控制B的生命周期(如创建&#xff…