• python数据绘图常用方法总结


    挖坑,以后还会更新吧

    做数学建模画图使用了matplotlib和numpy,这里简单总结一下常用的用法

    一、数据拟合

    1、np.polyfit(x, y, n) 使用n次多项式去拟合x,y散点图,返回各个项的系数

    2、np.poly1d(a) 返回一个a数组描述的多项式函数

    3、np.linspace(l, r, n) 从l到r上生成n个数(间距相等) 

    二、二维颜色图的绘画

    1、首先需要from matplotlib import colors, ticker, cm

    x = np.linspace(l1, r1, n1)

    y = np.linspace(l2, r2, n2)

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

    这里

    X,Y生成一个像网格的矩阵,X[i][1~n2]都等于x[i], Y[1~n1][i]都等于y[i](用于绘制三维图)

    2、然后设置图的格式

    fig, ax = plt.subplots()  这里fig是衡量z值的条,ax是三维子图

    cs = ax.contourf(X, Y, Z, locator = ticker.LinearLocator(), cmap = cm.PuBu_r)

    ticker是指刻度的分割标准,有线性,也有log标准,具体可以参见

    https://matplotlib.org/api/ticker_api.html

    cmap是配色风格,有很多风格可选

    3、添加colorbar和显示

    cbar = fig.colorbar(cs)

    plt.show() 

    即可形成一个二维颜色分布图

    三、三维图的绘制

    1、首先需要from mpl_toolkits.mplot3d.axes3d import Axes3D

    并设置一下子图格式

    fig = plt.figure(figsize = plt.figaspect(0.5)) (长宽比例)

    ax = fig.addsubplot(1, 1, 1, projection='3d') (x, y, z轴显示时的比例,这里为1:1:1)

    X,Y同样需要网格化。

    2、接下来生成三维平面

    surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm, linewidth=0, antialiased=False)

    fig.colorbar(surf, shrink=0.5, aspect=10)

    rstride为行的步幅,linewidth为线宽,antialiased是抗锯齿开关

    然后添加colorbar,分成10份,刻度为每半份一个

    3、最后plt.show()即可

    4、另一种三维图的样式是plot_wireframe,这个是没有颜色的

    四、关于坐标轴

    set_xlabel()设置x轴的标识

    set_xticks()设置x轴的刻度([]代表无刻度)

    先简单做到这里,以后遇到更多的应用会更新吧

    不得不说matplotlib还是很强大的,有很多的数据图还没有用到

  • 相关阅读:
    【C#】工具类-FTP操作封装类FTPHelper
    网盘搜索网站
    在线服务
    Windows下安装NTP服务器
    vue 组件间的传值 + 路由守卫
    功能6 -- 选项卡数据缓存
    vue2.0/3.0
    vuex
    mySql笔记
    Typescript
  • 原文地址:https://www.cnblogs.com/Saurus/p/6875600.html
Copyright © 2020-2023  润新知