Matplotlib常用绘图示例
一.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常用绘图示例的更多相关文章
- Matplotlib常用示例入门
一.Matplotlib介绍 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形.通过 Matplotlib,开发者可以仅需要几行 ...
- 数据分析与展示——Matplotlib基础绘图函数示例
Matplotlib库入门 Matplotlib基础绘图函数示例 pyplot基础图表函数概述 函数 说明 plt.plot(x,y,fmt, ...) 绘制一个坐标图 plt.boxplot(dat ...
- Python可视化学习(2):Matplotlib快速绘图基础
Matplotlib将大部分的绘图对象都封装成为对象,故理论上所有的图表元素(如Line2D, Text,Label等)都是对象,都可以将其在图表中提取出来并配置实例的属性.同时,Matplotlib ...
- matplotlib动态绘图
目录 package Process 解决中文乱码问题 simple_plot() scatter_plot() three_dimension_scatter() Jupyter notebook ...
- Python3 matplotlib的绘图函数subplot()简介
Python3 matplotlib的绘图函数subplot()简介 一.简介 matplotlib下, 一个 Figure 对象可以包含多个子图(Axes), 可以使用 subplot() 快速绘制 ...
- 【Python开发】使用python中的matplotlib进行绘图分析数据
matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备, ...
- 吴裕雄--天生自然python学习笔记:Matplotlib 基本绘图
使用 Matplotlib 组件绘图时,经常要与 Numpy 组件搭配使用 . 使用 Matplotlib 绘图首先要导入 Matplotlib 组件 , 由于大部分绘图功能是在 matplotlib ...
- 【《zw版·Halcon与delphi系列原创教程》Halcon图层与常用绘图函数
[<zw版·Halcon与delphi系列原创教程>Halcon图层与常用绘图函数 Halcon的绘图函数,与传统编程vb.c.delphi语言完全不同, 传统编程语言,甚至cad ...
- java8-lambda常用语法示例
常用语法示例: public static void main(String[] args) { List<OrderInfo> orderInfoList = Lists.newArra ...
随机推荐
- Tomcat8源码笔记(二)Bootstrap启动
TOMCAT源码调试入口是Bootstrap类的main方法,我的启动参数VM: -Dcatalina.home=E:/Tomcat_Source_Code/apache-tomcat-8.0.53- ...
- JavaWeb学习 (七)————HttpServletResponse对象(一)
一.HttpServletResponse对象介绍
- varnish实践
一.实验环境: 1.软件版本: 系统版本:CentOS Linux release 7.4.1708 (Core) php版本:PHP 7.2 nginx版本:nginx-1.12.2 数据库版本:M ...
- 深入浅出 JVM GC(3)
# 前言 在 深入浅出 JVM GC(2) 中,我们介绍了一些 GC 算法,GC 名词,同时也留下了一个问题,就是每个 GC 收集器的具体作用.有哪些 GC 收集器呢? Serial 串行收集器(只适 ...
- [转]使用docker-compose 大杀器来部署服务 上
本文转自:https://www.cnblogs.com/neptunemoon/p/6512121.html 使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker ...
- WPF 使用 Direct2D1 画图入门
本文来告诉大家如何在 WPF 使用 D2D 画图. 本文是一个系列 WPF 使用 Direct2D1 画图入门 WPF 使用 Direct2D1 画图 绘制基本图形 WPF 使用 SharpDX WP ...
- Dynamics CRM 2016/365 窗体中添加按钮
一.工具下载,及界面介绍 1.下载XrmToolBox工具(XrmToolBox for Microsoft Dynamics CRM/365 CE) 链接:https://www.xrmtoolbo ...
- 【Spring】26、利用Spring的AbstractRoutingDataSource解决多数据源,读写分离问题
多数据源问题很常见,例如读写分离数据库配置. 1.首先配置多个datasource <bean id="dataSource" class="org.apache. ...
- 站在DevOps肩膀上的TestOps(二)
一十一 发表于 2018-03-14 16:40:22 TestOps 摘要: TestOps模型旨在将整个团队的注意力集中在质量上,因此TestOps确实需要无缝且可靠. 一个简单的例子是任何测 ...
- BZOJ1278: 向量vector(计算几何 随机化乱搞)
题意 题目链接 Sol 讲一下我的乱搞做法.... 首先我们可以按极角排序.然后对\(y\)轴上方/下方的加起来分别求模长取个最大值.. 这样一次是\(O(n)\)的. 我们可以对所有向量每次随机化旋 ...