python 绘图---2D、3D散点图、折线图、曲面图

摘要:
python中的2D曲线绘制需要使用Matplotlib,这是一个python 2D绘图库。它以各种硬拷贝格式和跨平台交互环境生成发布质量的图形。通过Matplotlib,开发人员只需几行代码就可以生成图形、直方图、功率谱、条形图、误差图、散点图等。当仅传入一维散射点(n)p1时,横坐标对应于从0到n-1的散射点的顺序,而纵坐标对应于散射点的值。

python中绘制2D曲线图需要使用到Matplotlib,Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形,通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。

1. 绘制折线图


plt.plot() 可以用于绘制折线图。只传入一维的散点(n个)p1时,横坐标对应散点的次序,从0到n-1,纵坐标对应散点的值。示例:

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np

p1=[0,1.1,1.8,3.1,4.0]  # 数据点

#创建绘图图表对象,可以不显式创建,跟cv2中的cv2.namedWindow()用法差不多
plt.figure('Draw')

plt.plot(p1)  # plot绘制折线图

plt.draw()  # 显示绘图

plt.pause(5)  #显示5秒

plt.savefig("easyplot01.jpg")  #保存图象

plt.close()   #关闭图表

绘图:

python 绘图---2D、3D散点图、折线图、曲面图第1张

plt.plot() 传入二维的散点p1,p2(p1和p2的长度要一样)时,横坐标x绘制p1,纵坐标y绘制p2,示例:

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np

p1=[0,1.1,1.8,3.1,4.0]  # 数据点
p2=[2,2.4,4.3,3.5,2.5]

#创建绘图图表对象,可以不显式创建,跟cv2中的cv2.namedWindow()用法差不多
plt.figure('Draw')

plt.plot(p1,p2)  # plot绘制折线图

plt.draw()  # 显示绘图

plt.pause(5)  #显示5秒

plt.savefig("easyplot01.jpg")  #保存图象

plt.close()   #关闭图表

绘图:

python 绘图---2D、3D散点图、折线图、曲面图第2张

2. 绘制散点图


plt.scatter()用于绘制散点图,传入参数必须是二维的:plt.scatter(p1,p2),示例:

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np

p1=[0,1.1,1.8,3.1,4.0]  # 数据点
p2=[2,2.4,4.3,3.5,2.5]

#创建绘图图表对象,可以不显式创建,跟cv2中的cv2.namedWindow()用法差不多
plt.figure('Draw')

plt.scatter(p1,p2)  # scatter绘制散点图

plt.draw()  # 显示绘图

plt.pause(10)  #显示10秒

plt.savefig("easyplot.jpg")  #保存图象

plt.close()   #关闭图表

绘图:

python 绘图---2D、3D散点图、折线图、曲面图第3张


plt.plot() 也可以用于绘制散点图,plt.plot(p1,p2,'ro')表示散点的颜色是红色,形状是o,示例:

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np

p1=[0,1.1,1.8,3.1,4.0]  # 数据点
p2=[2,2.4,4.3,3.5,2.5]

#创建绘图图表对象,可以不显式创建,跟cv2中的cv2.namedWindow()用法差不多
plt.figure('Draw')

plt.plot(p1,p2,'ro')

plt.draw()  # 显示绘图

plt.pause(10)  #显示10秒

plt.savefig("easyplot.jpg")  #保存图象

plt.close()   #关闭图表

绘图:

python 绘图---2D、3D散点图、折线图、曲面图第4张

3. 添加坐标轴说明、添加标题、图片中插入文字、显示网格


坐标轴说明:plt.xlabel()、plt.ylabel()
添加标题: plt.title()
插入文字: plt.text(60, .025, r'$number=5, sigma=0$')
显示网格: plt.grid(True)


# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np

p1=[0,1.1,1.8,3.1,4.0]  # 数据点
p2=[2,2.4,4.3,3.5,2.5]

#创建绘图图表对象,可以不显式创建,跟cv2中的cv2.namedWindow()用法差不多
plt.figure('Draw')

plt.plot(p1,p2,'ro')

plt.xlabel('number of samples')
plt.ylabel('value of samples')

plt.title('sample data')

plt.text(1.1, 3.6, r'$number=5, sigma=0$')

plt.grid(True)

plt.draw()  # 显示绘图

plt.pause(10)  #显示10秒

plt.savefig("easyplot.jpg")  #保存图象

plt.close()   #关闭图表

绘图:

python 绘图---2D、3D散点图、折线图、曲面图第5张


4. 绘制3D图曲面图


plot_surface()用于绘制3D曲面图:

# -*- coding: utf-8 -*-
from matplotlib import pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = Axes3D(fig)

X = [0,1.1,1.8,3.1,4.0]
Y = [2,2.4,4.3,3.5,2.5]
X, Y = np.meshgrid(X, Y)
Z = [2,2.4,4.3,3.5,2.5]

ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')

plt.draw()
plt.pause(10)
plt.savefig('3D.jpg')
plt.close()

绘图:

python 绘图---2D、3D散点图、折线图、曲面图第6张


python 绘图---2D、3D散点图、折线图、曲面图第7张

使用plot_surface()绘制另一个3D曲面:

# -*- coding: utf-8 -*-
from matplotlib import pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-4, 4, 0.25)
Y = np.arange(-4, 4, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = X*Y

ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')

plt.draw()
plt.pause(10)
plt.savefig('3D.jpg')
plt.close()

绘图:

python 绘图---2D、3D散点图、折线图、曲面图第8张


python 绘图---2D、3D散点图、折线图、曲面图第9张

5. 绘制3D散点图


scatter()用于绘制3D散点图:

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

x = [0,1.1,1.8,3.1,4.0]
y = [2,2.4,4.3,3.5,2.5]
z = [1,2,3,4,5]

ax = plt.subplot(projection='3d')  # 创建一个三维的绘图工程

ax.scatter(x, y, z, c='r')  # 绘制数据点,颜色是红色

ax.set_zlabel('Z')  # 坐标轴
ax.set_ylabel('Y')
ax.set_xlabel('X')

plt.draw()
plt.pause(10)
plt.savefig('3D.jpg')
plt.close()

绘图:

python 绘图---2D、3D散点图、折线图、曲面图第10张


python 绘图---2D、3D散点图、折线图、曲面图第11张


免责声明:文章转载自《python 绘图---2D、3D散点图、折线图、曲面图》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇shell-基础2-字符串文本处理${}Pyboard基础功能探索---按键、GPIO下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python和C++交互

关键字:Python 2.7,VS 2010,swig OS:Win8.1 with update。 1.下载swig:http://www.swig.org/download.html 2.将swig的路径添加到环境变量Path,例如set path=C:swigwin-3.0.2。 3.用VS创建一个win32 console application名...

Python遍历List集合四种方法

这篇文章主要介绍了Python 列表(List) 的四种遍历方法实例 详解的相关资料,需要的朋友可以参考下 分别是:直接遍历对象 通过索引遍历 通过enumerate方法 通过iter方法。 使用Python遍历List四种方法代码如下: def text2(self): li = ['a', 'b', 'c', 'd', 'e'...

python程序练习题集

1.#输入a,b,c,d4个整数,计算a+b-c*d的结果 a=input("please input a nimber:") b=input("please input a number:") c=input("please input a number:") d=input("please input a number:") print a+b-c*d...

tcp与http协议 以及python的实现

htpp协议Rquest Headers格式: 请求方法空格URL空格协议版本回车符换行符 头部字段名:值回车符换行符 ··· 头部字段名:值回车符换行符 回车符换行符 请求数据 socket网络聊天 服务端 #sokcet服务断 importsocket importthreading server =socket.socket() #绑定到0.0.0....

【转】Python中的GIL、多进程和多线程

转自:http://lesliezhu.github.io/public/2015-04-20-python-multi-process-thread.html 目录 1. GIL(Global Interpretor Lock,全局解释器锁) 2. threading 2.1. 创建线程 2.2. 使用线程队列 3. dummy_threadi...

supervisor 介绍与安装

前言 今天同事让我帮忙安装一个叫supervisor的软件,但自己确实没接触过这个软件 自己做一下学习的记录 我首先是查询了一下supervisor的官网,初步认识一下这个软件 Supervisor是一个客户端/服务器系统,允许用户在类UNIX操作系统上控制大量进程 这个软件是使用python开发出来的 以下操作环境为centos6.8 一、安装pytho...