1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > python 三维散点图拟合曲面_python 绘图---2D 3D散点图 折线图 曲面图

python 三维散点图拟合曲面_python 绘图---2D 3D散点图 折线图 曲面图

时间:2018-06-06 19:49:13

相关推荐

python 三维散点图拟合曲面_python 绘图---2D 3D散点图 折线图 曲面图

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() #关闭图表

绘图:

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() #关闭图表

绘图:

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() #关闭图表

绘图:

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() #关闭图表

绘图:

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() #关闭图表

绘图:

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()

绘图:

使用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()

绘图:

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()

绘图:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。