环境:

Windows10
python3.6.4
numpy1.14.1
matplotlib2.1.2
工具:Cmder

目录:

1.线性图
2.散点图
3.饼状图
4.条形图
5.直方图

例1:一条简单的线性直线

import matplotlib.pyplot as plt
import numpy as np data = np.arange(100, 201) ##可以尝试改下范围值看看图片有什么变话
plt.plot(data)
plt.show()

注:

1.通过np.arange(100, 201)生成一个[100, 200]之间的整数数组,它的值是:[100, 101, 102, … , 200]
2.通过matplotlib.pyplot将其绘制出来。
  很显然,绘制出来的值对应了图中的纵坐标(y轴)。
  而matplotlib本身为我们设置了图形的横坐标(x轴):[0, 100],因为我们刚好有100个数值
3.通过plt.show()将这个图形显示出来

例2:一次画多个直线

import matplotlib.pyplot as plt
import numpy as np data = np.arange(100, 201)
plt.plot(data) data2 = np.arange(200, 301)
plt.figure()
plt.plot(data2) plt.show()

例2~:画在同一个画板中

import matplotlib.pyplot as plt
import numpy as np data = np.arange(100, 201)
plt.subplot(2, 1, 1)
plt.plot(data) data2 = np.arange(200, 301)
plt.subplot(2, 1, 2)
plt.plot(data2) plt.show()

plt.subplot(2, 1, 1) Return a subplot axes at the given grid position.

创建一个2行1列的图片,并在第一个位置【第1行第1列】中准备创建一个图

例3:线型图【比起例1来说,我们x,y都是已有的】

import matplotlib.pyplot as plt

plt.plot([1, 2, 3], [3, 6, 9], '-r')
plt.plot([1, 2, 3], [2, 4, 9], ':g') plt.show()

1.plot函数的第一个数组是横轴的值,第二个数组是纵轴的值,所以它们一个是直线,一个是折线;
2.最后一个参数是由两个字符构成的,分别是线条的样式和颜色。
  前者是红色的直线,后者是绿色的点线。

注:API:matplotlib.pyplot.plot 文档

例4:散点图【借助于scatter函数绘制散点】

import matplotlib.pyplot as plt
import numpy as np N = 20
##plt.scatter(x,y,color颜色,size大小,alpha透明度)
plt.scatter(np.random.rand(N) * 100, np.random.rand(N) * 100, c='r', s=100, alpha=0.5)
plt.scatter(np.random.rand(N) * 100, np.random.rand(N) * 100, c='g', s=200, alpha=0.5)
plt.scatter(np.random.rand(N) * 100, np.random.rand(N) * 100, c='b', s=300, alpha=0.5) plt.show()

注:

1.这幅图包含了三组数据,每组数据都包含了20个随机坐标的位置
2.参数c表示点的颜色,s是点的大小,alpha是透明度

注:API:matplotlib.pyplot.scatter 文档

例5:饼状图【pie函数可用于绘制饼状图】

import matplotlib.pyplot as plt
import numpy as np labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
data = np.random.rand(7) * 100 plt.pie(data, labels=labels, autopct='%1.1f%%')
plt.axis('equal')
plt.legend() plt.show()

注:

1.data是一组包含7个数据的随机数值
2.图中的标签通过labels来指定
3.autopct指定了数值的精度格式
4.plt.axis('equal')设置了坐标轴大小一致
5.plt.legend()指明要绘制图例(见下图的右上角)

注:API:matplotlib.pyplot.pie 文档

例6:条形图【bar函数可用于绘制条形图】

import matplotlib.pyplot as plt
import numpy as np N = 7 x = np.arange(N)
data = np.random.randint(low=0, high=100, size=N)
colors = np.random.rand(N * 3).reshape(N, -1)
labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] plt.title("Weekday Data")
plt.bar(x, data, alpha=0.8, color=colors, tick_label=labels)
plt.show()

注:

1.这幅图展示了一组包含7个随机数值的结果,每个数值是[0, 100]的随机数
2.它们的颜色也是通过随机数生成的。
  np.random.rand(N * 3).reshape(N, -1)表示先生成21(N x 3)个随机数,然后将它们组装成7行,那么每行就是三个数,这对应了颜色的三个组成部分RGB。
3.title指定了图形的标题,labels指定了标签,alpha是透明度

注:API:matplotlib.pyplot.bar 文档

例7:直方图【hist函数可用于绘制直方图】

import matplotlib.pyplot as plt
import numpy as np data = [np.random.randint(0, n, n) for n in [3000, 4000, 5000]]
labels = ['3K', '4K', '5K']
bins = [0, 100, 500, 1000, 2000, 3000, 4000, 5000] plt.hist(data, bins=bins, label=labels)
plt.legend() plt.show()

注:

[np.random.randint(0, n, n) for n in [3000, 4000, 5000]]生成了包含了三个数组的数组,这其中:
第一个数组包含了3000个随机数,这些随机数的范围是 [0, 3000)
第二个数组包含了4000个随机数,这些随机数的范围是 [0, 4000)
第三个数组包含了5000个随机数,这些随机数的范围是 [0, 5000)
bins数组用来指定我们显示的直方图的边界,即:
[0, 100) 会有一个数据点,
[100, 500)会有一个数据点,以此类推。所以最终结果一共会显示7个数据点。

注:API:matplotlib.pyplot.hist 文档

【Matplotlib-01】Python 绘图库 Matplotlib 入门教程的更多相关文章

  1. Python 绘图库Matplotlib入门教程

    0 简单介绍 Matplotlib是一个Python语言的2D绘图库,它支持各种平台,并且功能强大,能够轻易绘制出各种专业的图像. 1 安装 pip install matplotlib 2 入门代码 ...

  2. Python第三方库matplotlib(2D绘图库)入门与进阶

    Matplotlib 一 简介: 二 相关文档: 三 入门与进阶案例 1- 简单图形绘制 2- figure的简单使用 3- 设置坐标轴 4- 设置legend图例 5- 添加注解和绘制点以及在图形上 ...

  3. python 绘图库 Matplotlib

    matplotlib官方文档 使用Matplotlib,能够轻易生成各种图像,例如:直方图.波谱图.条形图.散点图等. 入门代码实例 import matplotlib.pyplot as plt i ...

  4. Ubuntu下安装Python绘图库Matplotlib的方法

    在安装好Python的基础上, sudo apt-get install python-numpy sudo apt-get install python-scipy sudo apt-get ins ...

  5. windows环境下,用python绘图库matplotlib绘图时中文乱码问题

    1.下载中文字体(看自己爱好就行)下面这个举例: SimHei - Free Font Download​www.fontpalace.co 2.下载之后,打开即可安装,将字体安装进windows系统 ...

  6. Python 数据处理库 pandas 入门教程

    Python 数据处理库 pandas 入门教程2018/04/17 · 工具与框架 · Pandas, Python 原文出处: 强波的技术博客 pandas是一个Python语言的软件包,在我们使 ...

  7. PySide——Python图形化界面入门教程(四)

    PySide——Python图形化界面入门教程(四) ——创建自己的信号槽 ——Creating Your Own Signals and Slots 翻译自:http://pythoncentral ...

  8. PySide——Python图形化界面入门教程(六)

    PySide——Python图形化界面入门教程(六) ——QListView和QStandardItemModel 翻译自:http://pythoncentral.io/pyside-pyqt-tu ...

  9. PySide——Python图形化界面入门教程(五)

    PySide——Python图形化界面入门教程(五) ——QListWidget 翻译自:http://pythoncentral.io/pyside-pyqt-tutorial-the-qlistw ...

随机推荐

  1. 解决Hystrix Dashboard 一直是Loading ...的情况

    Hystrix是什么 Hystrix 能使你的系统在出现依赖服务失效的时候,通过隔离系统所依赖的服务,防止服务级联失败,同时提供失败回退机制,更优雅地应对失效,并使你的系统能更快地从异常中恢复. Hy ...

  2. xilinx的quick boot(1) ——flash的一些内容

    xilinx的quick boot(1) --flash,quick boot配置文件,以及中间的一些联系xilinx 配置模式分为SPI,BPI.用过的spi外挂flash是N25Q./////// ...

  3. 第2次作业:stream案例分析

    摘要:本次随笔是对stream软件进行一次案例分析,以个人观点分析stream为什么成功. 一.介绍产品相关信息 1.我选择的商品是stream 2.选择该产品的主要原因准要是因为自己本身喜欢玩这个平 ...

  4. Beta总结

    45°炸 031502601 蔡鸿杰 031502604 陈甘霖 031502632 伍晨薇 一.写在Beta项目前 Beta 凡 事 预 则 立 二.GitHub传送门 Beta冲刺重要版本 三.用 ...

  5. 【iOS】OC-UTC日期字符串格式化

    NSLog(@"%@",[NSDate date]); NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init ...

  6. display属性

    display 属性规定元素应该生成的框的类型. 值 描述 none 此元素不会被显示. block 此元素将显示为块级元素,此元素前后会带有换行符. inline 默认.此元素会被显示为内联元素,元 ...

  7. LeetCode & Q88-Merge Sorted Array-Easy

    Array Two Pointers Description: Given two sorted integer arrays nums1 and nums2, merge nums2 into nu ...

  8. js判断语句关于true和false后面跟数字或字符串的问题

    我经常在代码中看到很长串判断,看到就头疼,简单的整理一下. 比如:(client.top>=0&&client.left>=0&&client.bottom ...

  9. javascript实现浏览器窗口大小被改变时触发事件的方法

    转载 当浏览器的窗口大小被改变时触发的事件window.onresize 为事件指定代码: 复制代码代码如下: window.onresize = function(){ } 例如: 浏览器可见区域信 ...

  10. maven安装、配置

    maven的安装和配置 1.将maven解压到自定义文件夹下.例如解压到如下目录(解压目录最好不要有中文字):  2:配置环境变量:一定要注意要用分号:与其他值隔开 3.在cmd中测试,验证是否安装成 ...