精华内容
下载资源
问答
  • python画三维散点图

    千次阅读 2020-03-04 20:11:55
    各位前辈,大家好,我是一个python小白,我想一张三维散点图图,其中有三组数据要在一张上,不知道用改怎么解决,万分感谢。这是像做出的效果。 ...

    各位前辈,大家好,我是一个python小白,我想画一张三维散点图图,其中有三组数据要画在一张图上,不知道用改怎么解决,万分感谢。在这里插入图片描述这是像做出的效果。

    展开全文
  • 维散点图import numpy as npimport matplotlib.pyplot as plt#假设已经定好data_pos = ...x = data_pos[:, 0]y = data_pos[:, 1]plt.ylim(ymax=20, ymin=0) #限定Y轴的范围plt.plot(x, y, 'ro...

    写在前面的话

    省得每次都去百度,于是就摘抄一下Python画图方法和代码。

    画二维散点图

    import numpy as np

    import matplotlib.pyplot as plt

    #假设已经定好data_pos = ...

    x = data_pos[:, 0]

    y = data_pos[:, 1]

    plt.ylim(ymax=20, ymin=0) #限定Y轴的范围

    plt.plot(x, y, 'ro') # ro表示用红色圆点来表示点

    plt.show()

    一个很不具代表性的散点图如下:

    3d979be7cca9

    image.png

    画直方图

    import numpy as np

    import matplotlib.pyplot as plt

    #假设已经定好data_pos = ...

    x = data_pos[:, 0]

    y = np.arange(0, 20, 1)

    #上面 y实际是统计的区域段,这里为0-1,1-2,2-3,3-4这样以1为步长,一直到19-20

    plt.hist(x, y, histtype='bar', rwidth=0.8)

    3d979be7cca9

    image.png

    画三维散点图

    import matplotlib.pyplot as plt

    from mpl_toolkits.mplot3d import Axes3D

    #假设已经定好data_pos = ...

    fig = plt.figure()

    ax = Axes3D(fig)

    x = data_pos[:, 0]

    y = data_pos[:, 1]

    z = data_pos[:, 2]

    ax.scatter(x, y, z, c='r')

    # 设置X、Y、Z轴的名字显示,用刺眼的红色

    ax.set_zlabel('Z', fontdict={'size': 15, 'color': 'red'})

    ax.set_ylabel('Y', fontdict={'size': 15, 'color': 'red'})

    ax.set_xlabel('X', fontdict={'size': 15, 'color': 'red'})

    plt.show()

    画三维曲面

    import matplotlib.pyplot as plt

    from mpl_toolkits.mplot3d import Axes3D

    fig = plt.figure()

    ax = Axes3D(fig)

    # 假设曲面方程为coef[0]*X + coef[1]*Y + coef[2]*z + coef[3]= 0

    # 画这个曲面要先确定好其中两个轴的取值范围,然后z通过曲面方程公式表示出来

    X = np.arange(-10, 100, 1)

    Y = np.arange(-10, 100, 1)

    coef = np.array([1,2,3,4])

    X, Y = np.meshgrid(X, Y)

    z = (-coef[3]- coef[0]*X - coef[1]*Y)/coef[2]

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

    plt.show()

    展开全文
  • 他可以绘制各种图形,可是最近最的一个小程序,得到一些三维的数据点图,就学习了下python中的matplotlib模块,如何绘制三维图形。初学者,可能对这些第三方库安装有一定的小问题,对于一些安装第三方库经验较少的...

    分类: 计算机视觉

    python matplotlib模块,是扩展的MATLAB的一个绘图工具库。他可以绘制各种图形,可是最近最的一个小程序,得到一些三维的数据点图,就学习了下python中的matplotlib模块,如何绘制三维图形。

    初学者,可能对这些第三方库安装有一定的小问题,对于一些安装第三方库经验较少的朋友,建议使用 Anaconda ,集成了很多第三库,基本满足大家的需求,下载地址,对应选择python 2.7 或是 3.5 的就可以了(PS:后面的demo是python2.7):

    https://www.continuum.io/downloads#windows

    首先提醒注意,以下两个函数的区别:

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

    ax.scatter(x[1000:4000],y[1000:4000],z[1000:4000],c='r') #绘点

    1、绘制3D曲面图

    # -*- coding: utf-8 -*-

    """

    Created on Thu Sep 24 16:17:13 2015

    @author: Eddy_zheng

    """

    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 = np.sin(R)

    # 具体函数方法可用 help(function) 查看,如:help(ax.plot_surface)

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

    plt.show()

    效果展示:

    20150924162209826

    2、绘制三维的散点图(通常用于表述一些数据点分布)

    效果:

    20150924165102172

    # -*- coding: utf-8 -*-

    """

    Created on Thu Sep 24 16:37:21 2015

    @author: Eddy_zheng

    """

    import scipy.io as sio

    from mpl_toolkits.mplot3d import Axes3D

    import matplotlib.pyplot as plt

    mat1 = '4a.mat' #这是存放数据点的文件,需要它才可以画出来。上面有下载地址

    data = sio.loadmat(mat1)

    m = data['data']

    x,y,z = m[0],m[1],m[2]

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

    #将数据点分成三部分画,在颜色上有区分度

    ax.scatter(x[:1000],y[:1000],z[:1000],c='y') #绘制数据点

    ax.scatter(x[1000:4000],y[1000:4000],z[1000:4000],c='r')

    ax.scatter(x[4000:],y[4000:],z[4000:],c='g')

    ax.set_zlabel('Z') #坐标轴

    ax.set_ylabel('Y')

    ax.set_xlabel('X')

    plt.show()

    展开全文
  • 通常我们用 Python 绘制的都是二维平面,但有时也需要绘制三维场景,比如像下面这样的:这些怎么做出来呢?今天就来分享下如何一步步绘制出三维矢量(SVG)。八面体我们先以下面这个八面体为例。1 安装相关...

    通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的:

    blank.gif

    这些图怎么做出来呢?今天就来分享下如何一步步绘制出三维矢量(SVG)图。

    八面体

    我们先以下面这个八面体为例。

    blank.gif

    1 安装相关包

    首先安装两个必备包:

    import pyrr # NumPy 的 3D 函数库

    import svgwrite # svg图形处理库

    2 定义 3D 图生成环境

    接下来定义几个类设置好 3 维图基础环境:

    blank.gif

    viewport :矩形图范围

    camera:包括视图矩阵和投影矩阵

    mesh:svg 矢量图所需的网格表面矩阵、着色器和样式字典

    3 生成八面体数据

    然后生成八面体每个定点的数据:

    def octahedron():

    """Construct an eight-sided polyhedron"""

    f = sqrt(2.0) / 2.0

    verts = numpy.float32([ ( 0, -1, 0), (-f, 0, f), ( f, 0, f), ( f, 0, -f), (-f, 0, -f), ( 0, 1, 0) ])

    triangles = numpy.int32([ (0, 2, 1), (0, 3, 2), (0, 4, 3), (0, 1, 4), (5, 1, 2), (5, 2, 3), (5, 3, 4), (5, 4, 1) ])

    return verts[triangles]

    4 pyrr 包渲染

    接下来利用 pyrr 3维库渲染上面的原始数据,最后生成 svg 矢量图。

    blank.gif

    5 生成 svg

    上面最后一步生成 svg 图形,需要调用下面的 Engine 函数,略微有些复杂:

    blank.gif

    以上代码全部封装到类中调用,就可以生成八面体图形。

    除了八面体还可以生成很多其他图形。

    球体和 Klein 瓶

    blank.gif

    代码如下:

    blank.gif

    多面球体

    blank.gif

    代码如下:

    blank.gif

    发光的球体

    blank.gif

    代码实现:

    blank.gif

    还可以绘制这种曲面体

    blank.gif

    代码实现如下:

    blank.gif

    总结

    以上所述是小编给大家介绍的Python 绘制酷炫的三维图,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

    时间: 2019-07-11

    展开全文
  • 转载自: 画散点图
  • python画图很多是根据z=f(x,y)来画图的,本博文将个对应的坐标点输入画图:散点图:import matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()ax = fig.add_subplot(111, ...
  • 今天小编就为大家分享一篇python 画三维图像 曲面图和散点图的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 1. 绘制3D曲面from matplotlib import pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfig=plt.figure()ax=Axes3D(fig)x=np.arange(-4,4,0.25)y=np.arange(-4,4,0.25)x,y=np.meshgrid(x,...
  • mpl_toolkits.mplot3d里面导入Axes3D(2)数据方面操作:numpy(3)绘图工具包:matplotlib.pyplot二:绘图:1、绘图主要分成两种情况:(1)一种是根据函数来绘制三维图(2)一种是根据三维坐标绘制散点图2、代码一:...
  • 你可以用matplotlib为此,matplotlib有一个mplot3d模块,它将完全按照您的要求执行。from matplotlib import pyplotfrom mpl_toolkits.mplot3d import Axes3Dimport randomfig = pyplot.figure()ax = Axes3D(fig)...
  • mpl_toolkits.mplot3d里面导入Axes3D(2)数据方面操作:numpy(3)绘图工具包:matplotlib.pyplot二:绘图:1、绘图主要分成两种情况:(1)一种是根据函数来绘制三维图(2)一种是根据三维坐标绘制散点图2、代码一:...
  • python画图很多是根据z=f(x,y)来画图的,本博文将个对应的坐标点输入画图:散点图:import matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import axes3dfig = plt.figure()ax = fig.add_subplot(111, ...
  • 维散点图import numpy as npimport matplotlib.pyplot as plt#假设已经定好data_pos = ...x = data_pos[:, 0]y = data_pos[:, 1]plt.ylim(ymax=20, ymin=0) #限定Y轴的范围plt.plot(x, y, 'ro...
  • mpl_toolkits.mplot3d里面导入Axes3D(2)数据方面操作:numpy(3)绘图工具包:matplotlib.pyplot二:绘图:1、绘图主要分成两种情况:(1)一种是根据函数来绘制三维图(2)一种是根据三维坐标绘制散点图2、代码一:...
  • python画图很多是根据z=f(x,y)来画图的,本博文将个对应的坐标点输入画图:散点图:import matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()ax = fig.add_subplot(111, ...
  • 记忆力差的孩子得勤做笔记!刚接触python,最近又需要一个三维...#由三个一维坐标画三维散点#coding:utf-8import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d.axes3d import Axes3Dx...
  • 通常我们用 Python 绘制的都是二维平面,但有时也需要绘制三维场景,比如像下面这样的:这些怎么做出来呢?今天就来分享下如何一步步绘制出三维矢量(SVG)。八面体我们先以下面这个八面体为例。1 安装相关...
  • 1. 绘制3D曲面from matplotlib import pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfig=plt.figure()ax=Axes3D(fig)x=np.arange(-4,4,0.25)y=np.arange(-4,4,0.25)x,y=np.meshgrid(x,...
  • 大家可以先参考官方演示文档:效果:'''==============3D scatterplot==============Demonstration of a basic scatterplot in 3D.'''from mpl_toolkits.mplot3d import Axes3Dimport matplotlib.pyplot as plt...
  • 他可以绘制各种图形,可是最近最的一个小程序,得到一些三维的数据点图,就学习了下python中的matplotlib模块,如何绘制三维图形。初学者,可能对这些第三方库安装有一定的小问题,对于一些安装第三方库经验较少的...
  • python 画三维图像 曲面图和散点图

    万次阅读 2016-10-13 11:23:25
    python画图很多是根据z=f(x,y)来画图的,本...散点图: import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = fig.add_subplot(111, projection='3d') X = [1, 1, 2,
  • 我试图在matplotlib中获得一个散点图三维动画,基于here发布的2d散点图动画和here发布的3d线图.问题来自set_data和set_offsets不能在3D中工作,所以你应该使用set_3d_properties来处理z信息.玩它通常会窒息,但下面...
  • 注:point为散点三维坐标 from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = Axes3D(fig) point = [[5.0, 0.003, 4213.0], [5.0, 0.006, 4008.0], [5.0, 0....
  • 1. 绘制3D曲面from matplotlib import pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfig=plt.figure()ax=Axes3D(fig)x=np.arange(-4,4,0.25)y=np.arange(-4,4,0.25)x,y=np.meshgrid(x,...
  • 一、二的插值方法:原始数据(x,y)先对横坐标x进行扩充数据量,采用linspace。【如下面例子,由7个值扩充到300个】采用scipy.interpolate中的spline来对纵坐标数据y进行插值【也由7个扩充到300个】。画图import ...
  • mpl_toolkits.mplot3d里面导入Axes3D(2)数据方面操作:numpy(3)绘图工具包:matplotlib.pyplot二:绘图:1、绘图主要分成两种情况:(1)一种是根据函数来绘制三维图(2)一种是根据三维坐标绘制散点图2、代码一:...
  • python画三维立体-python绘制三维图

    千次阅读 2020-11-01 13:19:50
    作者:桂。时间:2017-04-27 23:24:55本文仅仅梳理最基本的...利用matplotlib.figure.Figure创建一个框:import matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()ax = fig.a...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,398
精华内容 3,359
关键字:

python画三维散点图

python 订阅