精华内容
下载资源
问答
  • 主要为大家详细介绍了Python Matplotlib实现三维数据的散点图绘制,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了Python使用matplotlib绘制三维参数曲线操作,结合实例形式分析了Python使用matplotlib的数值计算与图形绘制相关操作技巧,需要的朋友可以参考下
  • matplotlib 绘制三维散点图

    千次阅读 2020-12-09 15:01:21
    在撰写论文时常常会用到 matplotlib 来绘制三维散点图,如下所示: 代码实现 plt.figure(figsize=(8,6)) # 设置画布大小 ax = plt.axes(projection='3d') # 设置三维轴 ax.scatter3D(X, Y, Z) # 三个数组对应三个...

    项目介绍

    在撰写论文时常常会用到 matplotlib 来绘制三维散点图,如下所示:
    在这里插入图片描述

    代码实现

    plt.figure(figsize=(8,6))  # 设置画布大小
    ax = plt.axes(projection='3d')  # 设置三维轴
    ax.scatter3D(X, Y, Z)  # 三个数组对应三个维度(三个数组中的数一一对应)
    plt.xticks(range(11))  # 设置 x 轴坐标
    plt.rcParams.update({'font.family': 'Times New Roman'})
    plt.rcParams.update({'font.weight': 'normal'})
    plt.rcParams.update({'font.size': 20})
    plt.xlabel('X')
    plt.ylabel('Y', rotation=38)  # y 轴名称旋转 38 度
    ax.set_zlabel('Z')  # 因为 plt 不能设置 z 轴坐标轴名称,所以这里只能用 ax 轴来设置(当然,x 轴和 y 轴的坐标轴名称也可以用 ax 设置)
    plt.savefig('3D.jpg', bbox_inches='tight', dpi=2400)  # 保存图片,如果不设置 bbox_inches='tight',保存的图片有可能显示不全
    plt.show()
    
    展开全文
  • import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D import matplotlib;matplotlib.use('tkagg') plt.rcParams['font.sans-serif']=['SimHei'] # 指定默认字体 SimHei为黑体 plt.rcParams['...

    在这里插入图片描述

    # -*- coding: UTF-8 -*-
    import random
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    import matplotlib;matplotlib.use('tkagg')
    
    plt.rcParams['font.sans-serif']=['SimHei']  # 指定默认字体 SimHei为黑体
    plt.rcParams['axes.unicode_minus']=False  # 用来正常显示负号
    
    
    def get_random_data(num):
        random_data = list()
        for i in range(0, num):
            # random_data.append(random.random())
            random_data.append(random.randint(0, 100))
        return random_data
    
    
    def csdn_plot_3D_scatter():
        """
            plot the 3D scatter picture.
        """
        '''get data ready.'''
        number_of_point = 100
        x_data = range(0, number_of_point)
        y_data_1 = get_random_data(number_of_point)
        y_data_2 = get_random_data(number_of_point)
        y_data_3 = get_random_data(number_of_point)
    
        '''plot starting ... '''
        fig = plt.figure()
        plt.rcParams['savefig.dpi'] = 1000       # 图片像素
        plt.rcParams['figure.dpi'] = 1000        # 分辨率
        ax = fig.add_subplot(111, projection='3d')
        ax.scatter(xs=x_data, ys=0, zs=y_data_1, c='#4d3333', s=12, alpha=1, label='English', marker='*')
        ax.scatter(xs=x_data, ys=1, zs=y_data_2, c='#3333cc', s=12, alpha=1, label='Chinese', marker='o')
        ax.scatter(xs=x_data, ys=2, zs=y_data_3, c='#ff1493', s=12, alpha=1, label='Math', marker='^')
        ax.set_xticklabels([" ", " ", "Students", " ", " "], fontsize=20)
        ax.set_yticklabels(["English", "Chinese", "Math"], fontsize=20)
        ax.set_zlabel('Score', fontsize=16)
        ax.set_xticks([0, 20, 40, 60, 80, 100])	 # x 轴刻度密度
        ax.set_yticks([0, 1, 2])			     # y 轴刻度密度
        ax.set_xlim(left=0, right=100)           # x 轴显示范围
        ax.set_ylim(bottom=0, top=2)             # y 轴显示范围
        plt.tick_params(labelsize=13)		     # 刻度字体大小
        # plt.savefig('student_score.pdf')
        plt.show()
    
    
    if __name__ == '__main__':
    
        csdn_plot_3D_scatter()
    

    在这里插入图片描述

    import numpy as np
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D  # 空间三维画图
    import matplotlib;matplotlib.use('tkagg')
    
    plt.rcParams['font.sans-serif']=['SimHei']  # 指定默认字体 SimHei为黑体
    plt.rcParams['axes.unicode_minus']=False  # 用来正常显示负号
    
    # 数据1
    data1 = np.arange(24).reshape((8, 3))
    x1 = data1[:, 0]  # [ 0  3  6  9 12 15 18 21]
    y1 = data1[:, 1]  # [ 1  4  7 10 13 16 19 22]
    z1 = data1[:, 2]  # [ 2  5  8 11 14 17 20 23]
    
    # 数据2
    data2 = np.random.randint(0, 23, (6, 3))
    x2 = data2[:, 0]
    y2 = data2[:, 1]
    z2 = data2[:, 2]
    
    # 绘制散点图
    fig = plt.figure()
    ax = Axes3D(fig)
    ax.scatter(x1, y1, z1, c='r', label='顺序点')
    ax.scatter(x2, y2, z2, c='g', label='随机点')
    
    # 绘制图例
    ax.legend(loc='best')
    
    # 添加坐标轴(顺序是Z, Y, X)
    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()
    
    展开全文
  • matplotlib绘制三维折线图

    千次阅读 2020-12-21 19:01:59
    import matplotlib as mpl import numpy as np import matplotlib.pyplot as plt mpl.rcParams['legend.fontsize'] = 10 fig = plt.figure() ax = fig.gca(projection='3d') x = np.random.randint(0,10,20) # ...

    如下代码:

    import matplotlib as mpl
    import numpy as np
    import matplotlib.pyplot as plt
    mpl.rcParams['legend.fontsize'] = 10
     
    fig = plt.figure()
    ax = fig.gca(projection='3d')
    plt.xlabel('ai')
    plt.ylabel('bi')
    
    x = np.random.randint(0,10,20) # 生成20个随机整数
    y = np.random.randint(0,10,20)
    z = x/(x+y)
    ax.plot(x, y, z, 'go-', label='Curve', )
    ax.legend()
    plt.show()
    

    绘图效果:
    在这里插入图片描述

    展开全文
  • matplotlib绘制三维散点图

    万次阅读 多人点赞 2018-08-17 11:01:31
    1.只有一种点的散点图 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 空间三维画图 # 数据 data = np.arange(24).reshape((8, 3)) # data的值如下: # [[ 0...

    1.只有一种点的散点图

    import numpy as np
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D  # 空间三维画图
    
    
    # 数据
    data = np.arange(24).reshape((8, 3))
    # data的值如下:
    # [[ 0  1  2]
    #  [ 3  4  5]
    #  [ 6  7  8]
    #  [ 9 10 11]
    #  [12 13 14]
    #  [15 16 17]
    #  [18 19 20]
    #  [21 22 23]]
    x = data[:, 0]  # [ 0  3  6  9 12 15 18 21]
    y = data[:, 1]  # [ 1  4  7 10 13 16 19 22]
    z = data[:, 2]  # [ 2  5  8 11 14 17 20 23]
    
    
    # 绘制散点图
    fig = plt.figure()
    ax = Axes3D(fig)
    ax.scatter(x, y, z)
    
    
    # 添加坐标轴(顺序是Z, Y, X)
    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()

     

     

    三维图散点图如下:

    2.有多种点及图例的散点图

    import numpy as np
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D  # 空间三维画图
    
    
    # 数据
    
    # 数据1
    data1 = np.arange(24).reshape((8, 3))
    # data的值如下:
    # [[ 0  1  2]
    #  [ 3  4  5]
    #  [ 6  7  8]
    #  [ 9 10 11]
    #  [12 13 14]
    #  [15 16 17]
    #  [18 19 20]
    #  [21 22 23]]
    x1 = data1[:, 0]  # [ 0  3  6  9 12 15 18 21]
    y1 = data1[:, 1]  # [ 1  4  7 10 13 16 19 22]
    z1 = data1[:, 2]  # [ 2  5  8 11 14 17 20 23]
    
    # 数据2
    data2 = np.random.randint(0, 23, (6, 3))
    x2 = data2[:, 0]
    y2 = data2[:, 1]
    z2 = data2[:, 2]
    
    
    # 绘制散点图
    fig = plt.figure()
    ax = Axes3D(fig)
    ax.scatter(x1, y1, z1, c='r', label='顺序点')
    ax.scatter(x2, y2, z2, c='g', label='随机点')
    
    
    # 绘制图例
    ax.legend(loc='best')
    
    
    # 添加坐标轴(顺序是Z, Y, X)
    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()

    图:

    展开全文
  • matplotlib绘制三维散点图 0 代码 import pandas as pd # import seaborn as sns import matplotlib.pyplot as plt # %matplotlib inline plt.rcParams["font.sans-serif"] = ["SimHei"] plt.rcParams["axes.unicode...
  • import matplotlib.pyplot as plt import numpy as np X=np.array([0,2,3]) Y=np.array([0,2,3]) Z=Z=np.expand_dims([0,1,4],axis=0) fig=plt.figure() ax=fig.add_subplot(111,projection='3d') ax.plot_...
  • Matplotlib绘制三维散点图和曲线图

    千次阅读 2020-05-17 15:05:18
    整体架构参考:https://blog.csdn.net/weixin_41869644/article/details/89460329 设置标题、轴标签、刻度、刻度标签:https://blog.csdn.net/Asher117/article/details/85128463
  • 原博文2020-04-14 02:11 −1 # 实例:2 # 首先,还是需要取坐标3 import numpy as np # 假设,m是给定的三维散点序列4 m = np.array([[1, 3, 3],5 [4, 1, 6],6 [1, 4, 3],7 [1, 6, ...01177相关推荐2019-12-05 14:51...
  • matplotlib画三维图

    2021-11-14 20:46:05
    matplotlib画三维图画三维图需要先导入from mpl_toolkits import mplot3d。导入这个子模块后,就可以在创建任意一个普通坐标轴的过程中添加projection='3d'参数,从而创建一个三维坐标轴。三维图的优点是在...
  • 尝试将“ax.scatter”替换为ax.plot,可能使用“o”...import matplotlib as mplfrom mpl_toolkits.mplot3d import Axes3Dimport numpy as npimport matplotlib.pyplot as pltfrom numpy.random import randommpl...
  • Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散点图...
  • 1 120 12 0.0510 C-1 140 36 0.0575 D-1 0 0 0.1283 D-1 20 12 0.1197 D-1 40 36 0.1313 D-1 60 24 0.0765 D-1 80 12 0.0880 D-1 100 0 0.0860 D-1 120 12 0.0520 D-1 140 36 0.0465 三维图像之散点图代码如下: ...
  • Matplotlib画三维图最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感三维的线图和散点图#绘制...
  • 我不知道您正在使用的Matplotlib的哪个版本,但在某个时候,这个问题存在一个bug,它显然仍然对我今天使用的版本,即1.5.1产生影响(请查看this question了解更多信息)。在调整@Yann解决方案来解决您的问题应该可以...
  • 简单三维散点图 导入相关库 import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D 设置相关数据 x = [565.454,562.058,561.390,563.782,567.941,571.255,571.938,569.500] y = [528.012,525....
  • 我对三个参数进行了蒙特卡罗反演,现在我试图用Matplotlib将它们绘制成三维图形。其中一个参数(Mo)的值在大约10^15到10^20之间变化,我对绘制从10^17到10^19变化的好解(蓝点)感兴趣。我正在绘制z轴中的参数(Mo),...
  • 我使用matplotlib散点绘制三维点矩阵。我使用以下代码:import pylab as pltfrom mpl_toolkits.mplot3d import Axes3Dimport numpy as npmy_data = np.random.rand(6500,3) # toy 3D pointsfig = plt.figure()ax = ...
  • # -*-coding: utf-8- -*- ...import matplotlib.pyplot as plt import mpl_toolkits.mplot3d x = np.array([1, 2, 4, 5, 6]) y = np.array([2, 3, 4, 5, 6]) z = np.array([1, 2, 4, 5, 6]) ax = plt.
  • 因为在各种场景下需要各种实验数据的对比图像,有的中还要求dpi,这些在Python中的matplotlib中都可以实现,下面是总结的各种画图命令。打包文件:https://download.csdn.net/download/pcb931126/10864654"""#Python...
  • 【Python】Matplotlib绘制三维散点图

    千次阅读 2020-02-12 21:11:35
    Matplotlib除了二维绘图以外,还可绘制三维图呢,这里是三维散点图,来看~
  • 使用Python的matplotlib库画三维散点图

    千次阅读 2018-12-04 16:00:27
    import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D def draw_diagram(data_set, data_labels): plt.figure() ax = plt.subplot(111, projection='3d') plt.rcParams['font.san...
  • 文章目录一、简介二、图像1、线图2、散点图3、线框图4、表面图5、三角网格图6、等高线图7、填充等高线图 一、简介 相较于之前的版本,最新版的matplotlib只需要通过将关键字参数projection="3d" 传递给来创建(Axes...

空空如也

空空如也

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

matplotlib画三维散点图