python学习(三):matplotlib学习
2015-09-29 10:08
771 查看
前言:matplotlib是一个python的第三方库,里面的pyplot可以用来作图。下面来学习一下如何使用它的资源。
或者:
得到如下图的效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/e758a3b7b66d0a5edf08e79722705c10)
也可以指定所建立图的大小
效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/2bedc4646796136092865deea85d8188)
当然我们也可以建立一个包含多个子图的图,使用语句:
效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/087c72790873a7735dc0993356005ade)
其中
当然上述写法并不是唯一的,比如我们也可以这样写:
效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/17b7224d55753b6eb8e2bec310259bdf)
可以看到图中的x,y轴坐标都是从0到1,当然有时候我们需要其他的坐标起始值。
此时可以使用语句指定:
或者:
效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/71eb249de03c6cd4678ee31507c19588)
注意第一个子图。
效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/488094732d738a1b8da07601a56c4d15)
这里的参数意义:
x为横坐标向量,y为纵坐标向量,x,y的长度必须一致。
控制颜色:color为散点的颜色标志,常用color的表示如下:
有四种表示颜色的方式:
用全名
16进制,如:#FF00FF
灰度强度,如:‘0.7’
控制标记风格:marker为散点的标记,标记风格有多种:
效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/9a0078493f80e520627fa104a2e542af)
这里有一个新的参数linestyle,控制的是线型的格式:符号和线型之间的对应关系
另外除了给出数据画图之外,我们也可以利用函数表达式进行画图,例如:
效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/a9f83a37c40f94f4127d6f74f929a149)
效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/6d77775d5581bdffc421dbe403e24902)
效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/1e2fa1eaaf246020b566004a61efd62b)
效果图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/60a0d4aa764c4a5d11d533276c8b9908)
效果图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/1e04ad5c8e332c2533f369b6215dbdd8)
http://www.cnblogs.com/vamei/archive/2013/01/30/2879700.html
一、使用前
首先在python中使用任何第三方库时,都必须先将其引入。即:[code]import matplotlib.pyplot as plt
或者:
[code]from matplotlib.pyplot import *
二、用法
1.建立空白图
[code]fig = plt.figure()
得到如下图的效果:
也可以指定所建立图的大小
[code]fig = plt.figure(figsize=(4,2))
效果如下:
当然我们也可以建立一个包含多个子图的图,使用语句:
[code]plt.figure(figsize=(12,6)) plt.subplot(231) plt.subplot(232) plt.subplot(233) plt.subplot(234) plt.subplot(235) plt.subplot(236) plt.show()
效果如下:
其中
subplot()函数中的三个数字,第一个表示Y轴方向的子图个数,第二个表示X轴方向的子图个数,第三个则表示当前要画图的焦点。
当然上述写法并不是唯一的,比如我们也可以这样写:
[code]fig = plt.figure(figsize=(6, 6)) ax1 = fig.add_subplot(221) ax2 = fig.add_subplot(222) ax3 = fig.add_subplot(223) ax4 = fig.add_subplot(224) plt.show()
效果如下:
可以看到图中的x,y轴坐标都是从0到1,当然有时候我们需要其他的坐标起始值。
此时可以使用语句指定:
[code]ax1.axis([-1, 1, -1, 1])
或者:
[code]plt.axis([-1, 1, -1, 1])
效果如下:
注意第一个子图。
2.向空白图中添加内容,想你所想,画你所想
首先给出一组数据:[code]x = [1, 2, 3, 4, 5] y = [2.3, 3.4, 1.2, 6.6, 7.0]
A.画散点图*
[code]plt.scatter(x, y, color='r', marker='+') plt.show()
效果如下:
这里的参数意义:
x为横坐标向量,y为纵坐标向量,x,y的长度必须一致。
控制颜色:color为散点的颜色标志,常用color的表示如下:
[code]b---blue c---cyan g---green k----black m---magenta r---red w---white y----yellow
有四种表示颜色的方式:
用全名
16进制,如:#FF00FF
灰度强度,如:‘0.7’
控制标记风格:marker为散点的标记,标记风格有多种:
[code]. Point marker , Pixel marker o Circle marker v Triangle down marker ^ Triangle up marker < Triangle left marker > Triangle right marker 1 Tripod down marker 2 Tripod up marker 3 Tripod left marker 4 Tripod right marker s Square marker p Pentagon marker * Star marker h Hexagon marker H Rotated hexagon D Diamond marker d Thin diamond marker | Vertical line (vlinesymbol) marker _ Horizontal line (hline symbol) marker + Plus marker x Cross (x) marker
B.函数图(折线图)
数据还是上面的。[code]fig = plt.figure(figsize=(12, 6)) plt.subplot(121) plt.plot(x, y, color='r', linestyle='-') plt.subplot(122) plt.plot(x, y, color='r', linestyle='--') plt.show()
效果如下:
这里有一个新的参数linestyle,控制的是线型的格式:符号和线型之间的对应关系
[code]- 实线 -- 短线 -. 短点相间线 : 虚点线
另外除了给出数据画图之外,我们也可以利用函数表达式进行画图,例如:
y=sin(x)
[code]from math import * from numpy import * x = arange(-math.pi, math.pi, 0.01) y = [sin(xx) for xx in x] plt.figure() plt.plot(x, y, color='r', linestyle='-.') plt.show()
效果如下:
C.扇形图
示例:[code]import matplotlib.pyplot as plt y = [2.3, 3.4, 1.2, 6.6, 7.0] plt.figure() plt.pie(y) plt.title('PIE') plt.show()
效果如下:
D.柱状图bar
示例:[code]import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2.3, 3.4, 1.2, 6.6, 7.0] plt.figure() plt.bar(x, y) plt.title("bar") plt.show()
效果如下:
E.二维图形(等高线,本地图片等)
[code]import matplotlib.pyplot as plt import numpy as np import matplotlib.image as mpimg # 2D data delta = 0.025 x = y = np.arange(-3.0, 3.0, delta) X, Y = np.meshgrid(x, y) Z = Y**2 + X**2 plt.figure(figsize=(12, 6)) plt.subplot(121) plt.contour(X, Y, Z) plt.colorbar() plt.title("contour") # read image img=mpimg.imread('marvin.jpg') plt.subplot(122) plt.imshow(img) plt.title("imshow") plt.show() #plt.savefig("matplot_sample.jpg")
效果图:
F.对所画图进行补充
[code]__author__ = 'wenbaoli' import matplotlib.pyplot as plt from math import * from numpy import * x = arange(-math.pi, math.pi, 0.01) y = [sin(xx) for xx in x] plt.figure() plt.plot(x, y, color='r', linestyle='-') plt.xlabel(u'X')#fill the meaning of X axis plt.ylabel(u'Sin(X)')#fill the meaning of Y axis plt.title(u'sin(x)')#add the title of the figure plt.show()
效果图:
三、结束语
尽管上述例子给出了基本的画图方法,但是其中的函数还有很多其他的用法(参数可能不只如此),因此本文只能算做一个基本入门。还需要参考API进行详尽的知识学习。四、参考
上述内容部分引用自:http://www.cnblogs.com/vamei/archive/2013/01/30/2879700.html
相关文章推荐
- 2015/9/28 Python基础(19):类的定制和私有性
- python使用wxPython创建一个简单的文本编辑器。
- Python – How to loop a dictionary
- python encode和decode函数说明
- Python 网页爬虫
- 3.3.7 使用difflib.get_close_matches函数
- 关于Python中输出中文的一点疑问
- 用python做了一个 qq炫舞 机器人
- enumerate sorted
- Python学习----进程和线程
- Python磁盘监控、日志分析监控脚本
- numpy教程:矩阵matrix及其运算
- Python中bisect模块用法,及实现方式
- numpy教程 - 矩阵及其运算
- python3.4 + django1.8的环境搭建
- python模拟登录网易邮箱
- Python3+Opencv3的安装
- python实现文件查找
- DDMS
- Python - 缩写(capwords) 和 创建转换表(maketrans) 详细说明