挖坑,以后还会更新吧

做数学建模画图使用了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还是很强大的,有很多的数据图还没有用到

最新文章

  1. 用js加密你的重要信息
  2. AngularJS向指令传递数据
  3. Poj(3686),最小权匹配,多重匹配,KM
  4. Ubuntu11.10 更新软件源source.list (ZT)
  5. 【转】获取android设备 id
  6. 如何区分Shapefile,Coverage,Geodatabase(转载)
  7. DevExpress GridControl一些属性使用方法总结
  8. Spring第五篇【cglib、手动实现AOP编程】
  9. 菜鸟玩云计算之二十:saltstack入门初步
  10. 【机器学习】--FP-groupth算法从初始到应用
  11. Linux服务器运维基本命令
  12. 动手做webserver的核心之http解析
  13. No cached version of cn.lightsky.infiniteindicator:library:1.2.2 available for offline mode.
  14. Java 虚拟机面试题全面解析(干货)
  15. luogu3810 陌上花开 (cdq分治)
  16. CF 987
  17. vue实现一个简单的选项卡
  18. 【DL】梯度下降小结
  19. to refactor for refactor
  20. 浅谈cookie、session

热门文章

  1. linux命令之文件系统权限操作常用命令
  2. 如何用 npm 同时执行两条监听命令
  3. maven-生命周期与插件
  4. JavaSE 第二次学习随笔(四)
  5. scrapy框架爬取笔趣阁完整版
  6. ecshop漏洞修复 以及如何加固ecshop网站安全?
  7. Waterline从概念到实操
  8. python2.7入门---break语句&continue语句&pass空语句
  9. Java线程:概念与使用
  10. 【转】已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭