这是菜鸟学Python的第101篇原创文章

阅读本文大概需要3分钟

数据分析里面可视化是重要的环节,辛苦把数据采集,然后经历了很多工序的清洗之后,最后要展现给用户,最好的方法就是数据可视化。数据可视化是一门艺术也是科学,可视化的神兵利器很多,今天介绍大名鼎鼎的Matplotlib,当然还有懒人专用的pandas画图,只要几行搞定,还有R语言的ggplot2最人性的库,以及酷炫的JS库D3. 今天就先了解一下Python中最著名的绘图库Matplotlib,看看到底如何做出漂亮的图

有的小伙伴不解,为啥叫它鼻祖的,因为其他的可视化的数据包都是从它演变而来,二次封装的。Matplotlib本身是免费而且开源的,貌看一下感觉非常复杂,API超级多。小白想学它,必须循环渐进,不然很容易迷路,不懂章法学到后面会吐,我们先用几个基本的概念慢慢入手吧

1.基础知识普及

要点:

Figure

Axes

Axis

Artist

本图片来自Matplotlib官网

Figure

Figure就是上面图上的红色框,其实就是图像,在matplotlib中整个图像就是一个figure,在figure对象中可以包含一个或者多个Axes对象。而每个Axes对象又拥有自己坐标系统的绘图区域

首先要import matplotlib这个库,没有的同学可以安装一下,或者直接用Anaconda这个非常方便的工具(这个工具是个Pycharm齐名的,特别是数据分析的时候)

然后获得一个figure对象fig

然后我们要画一个二行一列的坐标图,可以用subplots直接生成一个2*1的2个子图,2就是表示这个图像里面有2个坐标图,1表示是1列

比如想生成多个子图怎么办,也很简单:

subplot(numRows, numCols, plotNum),subplot把整个图像分成行列式排列.

从左到右排列,比如我们创建一个2*2的多子图

是不是感觉很漂亮,不急后面还有更多漂亮的图呢

Axes

Axes其实就是子图,就是一个有x坐标轴和y坐标轴的坐标轴图.一个figure可以包含多个子图,通过axes对象可以多轴图里面进行各种各样绘图的操作

先声明一个figure

然后用add_subplot增加一个子图ax1,1行1列的图

构造一个x,y的坐标,我们用最简单的x=[1,2,3,4],y=[2,3,4,5]

下面是最重要的plot函数,这个函数非常非常重要,参数很多

第一个和第二个参数是对应的x,y轴上面的坐标数(1,2),(2,3)..

第三个数字是坐标图图上的曲线类型,这里我们选圆心'o',还有折线

图'--', 小三角'v',点线':',五角星'*'等等一共有几十种选择

后面的参数都是关键字参数,比如我们这本设定了颜色是'r'红色

color='r',还可以设置线条的宽度linewidth=2

最后设置一下ax1子图的标题

Axis

axis其实很好理解,就是每个子图上x轴和y轴上的线,刻度标记,以及刻度标记的注释,详细见下图

Title为标题(我们写成Simple figure)

Axis为坐标轴,Label为坐标轴标注,Tick为刻度线,Tick Label为刻度注释

Artist

上面所有的图里面的元素其实都是artist ,总结一下:一个图像可以包含一个多个子图axes,而每个子图都是一个轴图,包含了xaxis,yaxis,title和data.Data其实就是我们绘图的关键数据.

2.两个重要的库

matplotlib里面有两个非常重要的库,一个是pyplot ,另一个 pylab,详细如下:

pyplot模块:绘图API,提供了和matlab类似的绘图API,方便用户快速绘制2D图表

pylab模块:集成库,主要是包含了Numpy和pyplot中的一些常用函数,方便用户快速进行计算和绘图,可以用于IPython中的快速交互式使用

下面举两个非常简单的例子

用pyplot画一个漂亮的曲线图

首先用numpy生成一个0,3的序列,步长是0.1

然后plt画3个数据图,第一个是线性,第二个是平方指数,第三个是立方指数

设置x和y轴的标签

plt.legend是设置图例,上面的3个label设置的'linear','quadratic','cubic'就会显示在图例里面

pylab

pylab一般用在 IPython用于交互式的绘图,下面是一个简单的例子

用法和pyplot模块非常像,也有plot库.

结论:

好,数据可视化之matplotlib上手篇,就讲道这里,是不是觉得还蛮简单的,其实matplotlib的功能很强大。只要理清楚它的结构,循序渐进的学,你就会发现matplotlib可以画出很多美丽的,直观的2D图片.当然后面有更牛的js库D3,二者各有千秋.接下来会介绍matplotlib里面各种花色图形,敬请期待~~

另外大家猜猜:我最喜欢用哪种数据可视化库

Matplotlib:

R ggplot2

Pandas

D3

python画图库哪个好_小白开始学Python最著名的绘图库相关推荐

  1. 小白学习python好还是java好_小白应该学Python还是Java?

    Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手.但是对于初学者来说,非常困惑,因为时间和精力有限,上手必须要先学一门,到底选那个好呢,今天3分钟带你透彻 ...

  2. python画六边形的代码_跟我学python(1)——turtle

    嗨!大家好,欢迎大家跟我一起学习python,那首先我们需要先了解什么是编程?什么是python? python1-0 我们不套用百度或者其他官方的解答,就我的理解来说,编程是一门语言,就像英语可以让 ...

  3. python画画用哪库好_小白开始学Python最著名的绘图库

    原标题:小白开始学Python最著名的绘图库 这是菜鸟学Python的第101篇原创文章 数据分析里面可视化是重要的环节,辛苦把数据采集,然后经历了很多工序的清洗之后,最后要展现给用户,最好的方法就是 ...

  4. 用python画蜡笔小新的步骤_#6.1# 用python画出你的童年回忆

    .1# 用python画出你的童年回忆 张同学 凹凸数据 本文来自「凹凸数据」读者投稿,欢迎大家分享更多优质内容!奖励多多~ 大家好,我是张同学. 又到一年一度的国际儿童节,作为逢节必过的程序猿,怎么 ...

  5. python画动态爱心代码_教你用python画动态爱心表白

    原标题:教你用python画动态爱心表白 初级画心 学Python,感觉你们的都好复杂,那我来个简单的,我是直接把心形看作是一个正方形+两个半圆: 于是这就很简单了,十行代码解决: import tu ...

  6. 怎么python画好几朵玫瑰花_教你使用python画一朵花送女朋友

    本文实例为大家分享了用python画一朵花的具体代码,供大家参考,具体内容如下 第一种,画法 from turtle import * import time setup(600,800,0,0) s ...

  7. python制作一个教学网站_小白如何入门Python? 制作一个网站为例

    首先最重要的问题是为什么要学习python?这个问题这个将指导你如何学习Python和学习的方式. 以你最终想制作一个网站为例.从一个通用的学习资源列表开始不仅会消磨你的激情,而且你获得的知识很难应用 ...

  8. python送程序员收入_程序员学Python后惊叹,这么丰厚的收入是Java给不了的!

    原标题:程序员学Python后惊叹,这么丰厚的收入是Java给不了的! 你都用 Python 来做什么?? 发现很多人都在学习 Python ,但是没有明确的说明可以做什么,主流的功能是什么? 想知道 ...

  9. python能开发什么产品_三周学 Python ?不,三周做个产品

    我的同事在看到毫无开发经验的我用三周时间,不但从零基础用上了 Python,还做出了一个客户关系管理系统,强烈邀请我分享经验.惶恐,因为我并没有出色的智商,也没有觉得三周学 Python 是一个体现自 ...

最新文章

  1. linux route命令删除多余路由
  2. 【LeetCode】4月5日打卡-Day21-最大子序和问题
  3. c语言程序实际问题,《编程解决问题之程序规划语言(c语言)》.doc
  4. vite新建vue3项目采坑,官网流程之路,vite+vue3+elementpuls
  5. 10 个迅速提升你 Git 水平的提示
  6. ant 使用java 运行类_用ANT构建java可执行程序
  7. html内容转换中文乱码怎么办,HTML中文乱码怎么解决?
  8. .net cms系统
  9. HDMI接口 HDCP
  10. Android开发者指南-Manifest.xml-uses-feature
  11. 如何通过 6 个简单步骤在百度上看到您的网站
  12. unity 删除父物体下所有子物体
  13. 关于微软鼠标和键盘中心安装报错1603的解决方法
  14. Slasher Flick(算法)
  15. 2w 字长文爆肝 JVM 经典面试题!太顶了!
  16. 老油条表示真干不过,部门新来的00后测试员已把我卷崩溃,想离职了...
  17. 开发者测评:相比 Harbor,我选择 ACR 的三点原因
  18. 会声会影x10中文版
  19. Google Earth截图助手
  20. 自己觉得有用的帖子(AI 论文写作等 )

热门文章

  1. Photoshop文字之——打造撕纸文字效果
  2. 原来代码可以写成爱情故事
  3. 细说Linux的就业方向
  4. 程序设计中常用的几种图
  5. 【福利】华山论剑之项目大比拼
  6. [置顶]记录脑残失误,让达摩克利斯之剑永远高悬
  7. mysql经典问题四表查询(教师,学生,成绩,课程表)
  8. 《刷题笔记》牛客网 字符集合(一刷)
  9. 电子工程师踩过的这些坑,你踩过几个?
  10. 解决maven下载jar包速度慢的问题,将maven的下载源修改为阿里云源