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()
绘图:
python 绘图---2D、3D散点图、折线图、曲面图的更多相关文章
- Python 绘图与可视化 matplotlib 制作Gif动图
参考链接:https://blog.csdn.net/theonegis/article/details/51037850 官方文档:https://matplotlib.org/3.1.0/api/ ...
- Python的可视化包 – Matplotlib 2D图表(点图和线图,.柱状或饼状类型的图),3D图表(曲面图,散点图和柱状图)
Python的可视化包 – Matplotlib Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型地2D图表和一些基本的3D图表.Matplotlib最早是为了可 ...
- 【python】pandas & matplotlib 数据处理 绘制曲面图
Python matplotlib模块,是扩展的MATLAB的一个绘图工具库,它可以绘制各种图形 建议安装 Anaconda后使用 ,集成了很多第三库,基本满足大家的需求,下载地址,对应选择pytho ...
- FusionCharts 2D柱状图和折线图的组合图调试错误
在设计FusionCharts 2D柱状图和折线图的组合图的时候,我发现不管怎么重启服务器,组合图就是不出来.后来,我通过调试发现我犯了一个致命的错误,运用平常一贯的思维,认为3D图有这种类型,那么2 ...
- 06. Matplotlib 2 |折线图| 柱状图| 堆叠图| 面积图| 填图| 饼图| 直方图| 散点图| 极坐标| 图箱型图
1.基本图表绘制 plt.plot() 图表类别:线形图.柱状图.密度图,以横纵坐标两个维度为主同时可延展出多种其他图表样式 plt.plot(kind='line', ax=None, figsiz ...
- Python交互图表可视化Bokeh:4. 折线图| 面积图
折线图与面积图 ① 单线图.多线图② 面积图.堆叠面积图 1. 折线图--单线图 import numpy as np import pandas as pd import matplotlib.py ...
- FusionCharts 2D柱状图和折线图的组合图
1.设计思路 (1)了解组合图的特性以及用法,选用图的类型: (2)设计出两根柱子和两根折线,分开展示. 2.设计步骤 (1)设计页面 Column2DLine.html: <!DOCTYPE ...
- HighCharts之2D柱状图、折线图的组合多轴图
HighCharts之2D柱状图.折线图的组合多轴图 1.实例源码 SomeAxis.html: <!DOCTYPE html> <html> <head> < ...
- HighCharts之2D柱状图、折线图的组合双轴图
HighCharts之2D柱状图.折线图的组合双轴图 1.实例源码 DoubleAxis.html: <!DOCTYPE html> <html> <head> & ...
随机推荐
- Unity,如何阻塞当前函数一段时间
public class Example : MonoBehaviour { IEnumerator Example() { print(Time.time); ); print(Time.time) ...
- HTTP与服务器的四种交互方式
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP ...
- Apache 静态缓存配置
静态文件缓存 静态缓存在客户端下进行缓存,可以设置缓存文件类型与缓存时间,提升客户端访问站点速度. 语法格式 ExpiresByType type/encoding “<base> [pl ...
- 当root用户无密码,非超级权限用户时提示mysqladmin: Can't turn off logging; error: 'Access denied; you need the SUPER privilege for this op解决方案
问题: 在centOS上安装了mysql后,卸载了又重新安装,使用mysqladmin -u root password 'new password' 更改密码,提示: mysqladmin: Can ...
- MySQL性能调优思路
1.MySQL性能调优思路 如果一台服务器出现长时间负载过高 /周期性负载过大,或偶尔卡住如何来处理? 是周期性的变化还是偶尔问题?是服务器整体性能的问题, 还是某单条语句的问题? 具体到单条语句, ...
- 关于camera 构架设计的一点看法
camera的构架目前来看有两种,一种是集中式管理,比如说建立一个引擎,引擎向上提供接口,向下管理所有模块.把camera的所有功能划分为不同的模块,又引擎统一管理.模块的结构就比较随意了,可以统一接 ...
- [BZOJ2342]双倍回文
对每个大中心暴力找小中心即可. 代码: #include<iostream> #include<cstdio> #include<cstring> #define ...
- centos7 -lvm卷组
老忘,记一下 基本的逻辑卷管理概念: PV(Physical Volume)- 物理卷 物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备. ...
- Scala的两种变量
Scala有两种变量,val和var.val类似于Java的final变量,一旦初始化了,就不能再赋值了.var如同Java中的非final变量,可以在生命周期内被多次赋值.
- 使用logrotate做nginx日志分割
版权申明:转载请注明出处. 文章来源:http://bigdataer.net/?p=266 背景 nginx是一款非常优秀的网络代理工具,但是其日志管理有点缺憾:nginx的access_log会无 ...