Pyplot 接口简介

Pyplot 入门

matplotlib.pyplot?是命令风格函数的集合,使 Matplotlib 像 MATLAB 一样工作。每个 Pyplot 函数对图形做一些修改,例如:创建一个图形,在图形中创建一个绘图区域,在绘图区域中回值一些线条,用标签装饰图形等等。

注意

Pyplot API 通常不如面向对象的 API 灵活。在这里看到的大多数函数调用也可以作为 Axes 对象的方法调用。建议浏览教程和实力来了解这是如何工作的。

?

用 Pyplot 生成可视化效果非常快速:

importmatplotlib.pyplotasplt

plt.plot([1, 2, 3, 4])

plt.ylabel("some numbers")

可能知道为什么 X轴的范围是 0-3,Y 轴的范围是 1-4。如果向 plot() 命令提供单个列表或数组,Matplotlib 将假定是一个 Y 值序列,并自动生成 X 值。因为 Python 范围以 0 开头,所以默认的 X 向量与 Y 的长度相同,但是以 0 开头。因此 X 数据是[0, 1, 2, 3]。

([1, 2, 3, 4], [1, 4, 9, 16])

设置图的样式

对于每一对 X,Y 参数,第三个参数都是可选的,它是指示绘图的颜色和线条类型的格式字符串。格式字符串的字母和符号来自 MATLAB,可以将一个颜色字符串与一个行样式字符串连接起来。默认的格式字符串是"b-",这是一个纯蓝色的线。例如:要用红色源泉回值上面的图,代码如下:

([1, 2, 3, 4], [1, 4, 9, 16], "ro")([0, 6, 0, 20])()

有关行样式和格式化字符串的完整列表,参见?axis()?命令接受一个[ xmin,xmax,ymin,ymax ] 列表,并指定轴的视口。

所有序列都在内部转换成 numpy 数组。下面是示例:

importnumpyasnp

?

# evenly sampled time at 200ms intervals

t =np.arange(0., 5., 0.2)

?

# red dashes, blue squares and green triangles(t, t, "r--", t, t**2, "bs", t, t**3, "g^")()

使用关键词字符串绘图

在某些情况下,数据的格式允许使用字符串访问特定的变量。例如:使用 numpy.recarray 或

Matplotlib?允许使用 data 关键字参数提供这样的对象。如果提供了,那么可以生成包含与这些变量对应字符串的绘图。

data ={"a"

data["b"] =data[

data["d"] =np.abs(data["d"]) *100

?("a", "b", c="c", s="d", data=data)("entry a")("entry b")()

用分类变量绘图

还可以使用分类变量创建绘图。Matplotlib 允许直接将分类变量传递给许多绘图函数。例如:

names =["group_a", "group_b", "group_c"]

values =[1, 10, 100]

?(1, figsize=(9, 3))

?(131)(names, values)(132)(names, values)(133)(names, values)("Categorical Plotting")()

控制线属性

线有许多可以设置的属性: linewidth、 dash style、 antialiased 等;?请参见matplotlib.lines.Line2D。有几种方法可以设置 line 属性:使用关键字方向图:

(x, y, linewidth=2.0)

使用 Line2D 实力的 setter 方法。Plot 返回一个 Line2D 对象列表,例如:line1,?line2?=?plot(x1,?y1,?x2,?y2)。在下面的代码中,假设只有一行,所以返回的列表长度为 1。使用元组拆分行,以获得该列表的第一个元素:

line, =plt.plot(x, y, "-")

line.set_antialiased(False) # turn off antialising

使用?setp()?命令。下面的示例使用MATLAB-style 的命令来设置行列表的多个属性。显而易见 setp 可以处理对象表单或单个对象。可以使用 Python 关键字参数或 MATLAB-style 的字符串或键值对。

lines =plt.plot(x1, y1, x2, y2)

# use keyword args

plt.setp(lines, color="r", linewidth=2.0)

# or MATLAB style string value pairs

plt.setp(lines, "color", "r", "linewidth", 2.0)

详细的Line2D?属性。

若要获取可设置行属性的列表,请使用一行或多行作为参数调用 setp() 函数:

In [69]:lines =plt.plot([1, 2, 3])

?

In [70]:plt.setp(lines)

alpha: float

animated: [True | False]

antialiased or aa: [True | False]

...snip

?

生成多个图和轴

MATLAB 和 pyplot,具有当前图形和当前 Axes(轴对象)。所有绘图命令都应用于当前 Axes。函数 gca() 返回当前 Axes(gca() 返回当前图形(matplotlib.figure.Figure 实例)。下面是创建两个图的代码:

deff(t):

return

?

t1 =np.arange(0.0, 5.0, 0.1)

t2 =np.arange(0.0, 5.0, 0.02)

?(1)(211)(t1, f(t1), "bo", t2, f(t2), "k")

?(212)(t2, np.cos(2*np.pi*t2), "r--")()

命令是可选的,因为图1是默认创建的,就像如果不手动指定任何坐标轴,默认情况下会创建一个子图2 一样。subplot()?命令 numrows,numcols,plot_number,其中plot_number 范围从1到numrows * numcols。如果numrows * numcols < 10,那么 subplot 命令逗号是可选的。所以subplot(211)和subplot(2, 1, 1)是一样的。

可以创建任何数量的子图和轴。如果想动手设置一个坐标轴,可以使用axes([左,底,宽,高]),其中所有值都是小数(0-1)坐标。有关手动设置轴的示例,请参见。

importmatplotlib.pyplotasplt(1) # the first figure(211) # the first subplot in the first figure([1, 2, 3])(212) # the second subplot in the first figure([4, 5, 6])

?

?(2) # a second figure([4, 5, 6]) # creates a subplot(111) by default

?(1) # figure 1 current; subplot(212) still current(211) # make subplot(211) in figure1 current("Easy as 1, 2, 3") # subplot 211 title

可以使用清楚当前轴。这是一个面向对象 API 的有状态包装器,可以参见 教程。

如果制作大量图形,那么需要需要注意的:一个图形所需的内存在使用 close()显示关闭之前是不被完全释放的。删除对图形的所有引用,[并 、或] 关闭窗口是不够的。因为 pyplot 内部引用指到 结束?。

?

?

原文地址:https://www.cnblogs.com/q3619940/p/10693457.html

python画图包-Python 绘图包 Matplotlib Pyplot 教程相关推荐

  1. python 画图marker标记汇总(matplotlib.pyplot)

  2. python画图显示中文_Python的matplotlib库画图不能显示中文问题解决

    有两种解决办法: 一种是在代码里设置为能显示中文的字体,如微软雅黑(msyh.ttf)和黑体(simsun.ttc) 如下在要画图的代码前添加: import matplotlib.pyplot as ...

  3. Python绘图之matplotlib基础教程:matplotlib库图表绘制中常规设置大全(交互模式、清除原有图像、设置横坐标显示文字/旋转角度、添加图例、绘图布局自动调整、图像显示、图像暂停)

    Python绘图之matplotlib基础教程:matplotlib库图表绘制中常规设置大全(交互模式.清除原有图像.设置横坐标显示文字/旋转角度.添加图例.绘图布局自动调整.图像显示.图像暂停) 目 ...

  4. Python3.绘图基础matplotlib.pyplot

    Python3.绘图基础matplotlib.pyplot   能够方便地绘图是MATLAB一大优势,但这方面现在并不领先Python.   以环境物理学原理课一次作业为例,除去数据处理部分,使用ma ...

  5. 用python画图代码-Python科学画图代码分享

    Python画图主要用到matplotlib这个库.Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形. 具体来说是pylab和p ...

  6. python画图三维-Python三维绘图之Matplotlib库的使用方法

    前言 在遇到三维数据时,三维图像能给我们对数据带来更加深入地理解.python的matplotlib库就包含了丰富的三维绘图工具. 1.创建三维坐标轴对象Axes3D 创建Axes3D主要有两种方式, ...

  7. python操作画图软件_Python绘图工具matplotlib的使用(图形并茂)

    matplotlib官网文档: 支持win7_64_bit的matplotlib库下载网址: 简单介绍: matplotlib 是python最著名的画图库,它提供了一整套和matlab类似的命令AP ...

  8. 系统学习Python——2D绘图库Matplotlib:绘图函数matplotlib.pyplot.plot(plt.plot)

    分类目录:<系统学习Python>总目录 matplotlib.pyplot是Matplotlib的基于状态的接口.它提供了一种隐式的.类似MATLAB的绘图方式.它还会在您的屏幕上打开图 ...

  9. python画图颜色-python中matplotlib的颜色及线条控制的示例

    下次用python画图的时候选色选点都可以直接参考这边,牛逼!分享给大家,也给自己留个笔记. 参考网址: 第二个参考网址给出了linestyle可选参数: '-' solid line style ' ...

最新文章

  1. 可视化与遗留系统的微服务改造
  2. js_sqlite_ADODB.Connection
  3. userAgent,JS用户代理检测——判断浏览器内核、浏览器、浏览器平台、windows操作系统版本、移动设备、游戏系统
  4. win7系统, vim的_vimrc文件无法修改
  5. AT24C0X I2C通信原理
  6. ubuntu(14.04) 下配置重写
  7. C# char[]与string之间的相互转换
  8. WinCE6.0的EBOOT概要
  9. “老鹰捉小鸡”小学数学题碾压成人智商,这样的题目有什么意义?
  10. 【Codeforces 63C】Bulls and Cows
  11. android listview添加数据_Android系统列表控件
  12. 【Spark篇】---Spark调优之代码调优,数据本地化调优,内存调优,SparkShuffle调优,Executor的堆外内存调优...
  13. 线性判别分析(Linear Discriminant Analysis ,简称LDA)
  14. 运用C#创建一个.Net下的Web Service
  15. linux中原子量的学习和理解
  16. 解决win10开启移动热点共享手机连上后无法上网的问题
  17. 做了3年单片机工程师,如果工资还是3-5千,那你就看过来
  18. Unity Input键盘输入无反应
  19. 封装系统时删除pagefile.sys及hiberfil.sys文件
  20. chmod 777 什么意思:鸟哥的linux私房菜第六章学习笔记

热门文章

  1. Linux系统调用表(x86_64)
  2. 使用Python+md5删除本地重复(同一张不重名)的照片
  3. AWK 之 RS、ORS与FS、OFS
  4. 关于xp操作系统下使用VC6++编写的上位机软件在win10中运行的问题
  5. Springboot的常规属性配置和类型安全配置
  6. iOS-属性字符串添加下划线、删除线
  7. iOS相同字符串保存地址唯一
  8. sublime text plugins
  9. 如何让Log4net日志文件按每月归成一个文件夹,StaticLogFileName参数的用法
  10. tcp的粘包和拆包示例以及使用LengthFieldFrameDecoder来解决的方法