一.Matplotlib介绍

Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。通过Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,折线图、散点图、柱状图、饼图、直方图、子图等。Matplotlib使用NumPy进行数组运算,并调用一系列其他的Python库来实现硬件交互。

二.绘图示例

环境:Python(3.5.2)、Jupyter(1.0.0) Ubuntu安装Jupyter Notebook

1.折线图

%matplotlib inline

import matplotlib.pyplot as plt
import numpy as np x = np.arange(9)
y = np.sin(x)
z = np.cos(x)
# marker数据点样式,linewidth线宽,linestyle线型样式,color颜色
plt.plot(x, y, marker="*", linewidth=3, linestyle="--", color="orange")
plt.plot(x, z)
plt.title("matplotlib")
plt.xlabel("height")
plt.ylabel("width")
# 设置图例
plt.legend(["Y","Z"], loc="upper right")
plt.grid(True)
plt.show()

2.散点图

x = np.random.rand(10)
y = np.random.rand(10)
plt.scatter(x,y)
plt.show()

3.柱状图

x = np.arange(10)
y = np.random.randint(0,30,10)
plt.bar(x, y)
plt.show()

4.饼图

x = np.random.randint(1, 10, 3)
plt.pie(x)
plt.show()

5.直方图

mean, sigma = 0, 1
x = mean + sigma * np.random.randn(10000)
plt.hist(x,50)
plt.show()

6.子图

# figsize绘图对象的宽度和高度,单位为英寸,dpi绘图对象的分辨率,即每英寸多少个像素,缺省值为80
plt.figure(figsize=(8,6),dpi=100) # subplot(numRows, numCols, plotNum)
# 一个Figure对象可以包含多个子图Axes,subplot将整个绘图区域等分为numRows行*numCols列个子区域,按照从左到右,从上到下的顺序对每个子区域进行编号
# subplot在plotNum指定的区域中创建一个子图Axes
A = plt.subplot(2,2,1)
plt.plot([0,1],[0,1], color="red") plt.subplot(2,2,2)
plt.title("B")
plt.plot([0,1],[0,1], color="green") plt.subplot(2,1,2)
plt.title("C")
plt.plot(np.arange(10), np.random.rand(10), color="orange") # 选择子图A
plt.sca(A)
plt.title("A") plt.show()

三.自定义X轴刻度

1.数字格式

%matplotlib inline

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import MultipleLocator, FormatStrFormatter x = np.arange(30)
y = np.sin(x)
plt.figure(figsize=(12,6))
plt.plot(x, y)
# 设置X轴的刻度间隔
plt.gca().xaxis.set_major_locator(MultipleLocator(3))
# 设置X轴的刻度显示格式
plt.gca().xaxis.set_major_formatter(FormatStrFormatter("%d-K"))
# 自动旋转X轴的刻度,适应坐标轴
plt.gcf().autofmt_xdate()
plt.show()

2.时间格式

%matplotlib inline

import matplotlib.pyplot as plt
import numpy as np
import datetime
from matplotlib.dates import DayLocator, DateFormatter x = [datetime.date.today() + datetime.timedelta(i) for i in range(30)]
y = np.sin(np.arange(30))
plt.figure(figsize=(12,6))
plt.plot(x, y)
# 设置X轴的时间间隔,MinuteLocator、HourLocator、DayLocator、WeekdayLocator、MonthLocator、YearLocator
plt.gca().xaxis.set_major_locator(DayLocator(interval=3))
# 设置X轴的时间显示格式
plt.gca().xaxis.set_major_formatter(DateFormatter('%y/%m/%d'))
# 自动旋转X轴的刻度,适应坐标轴
plt.gcf().autofmt_xdate()
plt.show()

Matplotlib常用绘图示例的更多相关文章

  1. Matplotlib常用示例入门

    一.Matplotlib介绍 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形.通过 Matplotlib,开发者可以仅需要几行 ...

  2. 数据分析与展示——Matplotlib基础绘图函数示例

    Matplotlib库入门 Matplotlib基础绘图函数示例 pyplot基础图表函数概述 函数 说明 plt.plot(x,y,fmt, ...) 绘制一个坐标图 plt.boxplot(dat ...

  3. Python可视化学习(2):Matplotlib快速绘图基础

    Matplotlib将大部分的绘图对象都封装成为对象,故理论上所有的图表元素(如Line2D, Text,Label等)都是对象,都可以将其在图表中提取出来并配置实例的属性.同时,Matplotlib ...

  4. matplotlib动态绘图

    目录 package Process 解决中文乱码问题 simple_plot() scatter_plot() three_dimension_scatter() Jupyter notebook ...

  5. Python3 matplotlib的绘图函数subplot()简介

    Python3 matplotlib的绘图函数subplot()简介 一.简介 matplotlib下, 一个 Figure 对象可以包含多个子图(Axes), 可以使用 subplot() 快速绘制 ...

  6. 【Python开发】使用python中的matplotlib进行绘图分析数据

    matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备, ...

  7. 吴裕雄--天生自然python学习笔记:Matplotlib 基本绘图

    使用 Matplotlib 组件绘图时,经常要与 Numpy 组件搭配使用 . 使用 Matplotlib 绘图首先要导入 Matplotlib 组件 , 由于大部分绘图功能是在 matplotlib ...

  8. 【《zw版·Halcon与delphi系列原创教程》Halcon图层与常用绘图函数

    [<zw版·Halcon与delphi系列原创教程>Halcon图层与常用绘图函数 Halcon的绘图函数,与传统编程vb.c.delphi语言完全不同,     传统编程语言,甚至cad ...

  9. java8-lambda常用语法示例

    常用语法示例: public static void main(String[] args) { List<OrderInfo> orderInfoList = Lists.newArra ...

随机推荐

  1. 自己实现的ajax分页js

    /** * 分页 * @author chenqionghe * @param data json数据,包含totalPage,count * @param page 获取的页数 * @param o ...

  2. 网络基础知识-TCP/IP协议各层详解

    TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...

  3. 共享内存 - shmget填坑记

    1. 问题引出 最近有个项目,需要两个进程之间传递大量的数据,因此考虑采用了共享 内存机制+信号同步,两个进程,笔者和另外一程序员开发,协议都定好了,开发很顺利. 等到我们联合调试的时候,问题出现了, ...

  4. Laravel 中使用支付宝、银联支付、微信支付进行支付

    Laravel Packages 为 Laravel 提供了强大的扩展功能,为从 1 到 n 提供无限可能,这其中就包括支付, Laravel 官方提供的 Cashier 包集成对 Stripe 的支 ...

  5. 【github&&git】5、使用Git拉取GitLab上的项目

    一.安装Git(windows版.其他平台参阅) 去Git的官网,下载安装包,安装时,一路默认 二.配置Git 2.1 在任意地方,创建一个文件夹,保证该文件夹的目录全部是英文 2.2 打开新建的文件 ...

  6. pygame中模块说明

    参考博客:https://blog.csdn.net/qq_27717921/article/details/53231762 pygame模块概览 1.display模块 功能:生成windows窗 ...

  7. Python爬虫html解析工具beautifulSoup在pycharm中安装及失败的解决办法

    1.安装步骤: 首先,你要先进入pycharm的Project Interpreter界面,进入方法是:setting(ctrl+alt+s) ->Project Interpreter,Pro ...

  8. 洛谷P4425 [HNOI/AHOI2018]转盘(线段树)

    题意 题目链接 Sol 首先猜一个结论:对于每次询问,枚举一个起点然后不断等到某个点出现时才走到下一个点一定是最优的. 证明不会,考场上拍了3w组没错应该就是对的吧... 首先把数组倍长一下方便枚举起 ...

  9. Spring装配bean(在java中进行显式配置)

    1.简单介绍 Spring提供了三种装配机制: 1.在XML中进行显式配置: 2.在java中进行显式配置: 3.隐式的bean发现机制和自动装配. 其中,1和3项在项目中经常使用,而在java中进行 ...

  10. KVM虚拟化研究-1

    使用qemu-img创建镜像 例子: [root@HOST31 rybtest]# qemu-img create -f raw /rybtest/test1.raw 1G 使用qemu-img查看镜 ...