f(x,y)=x e{-(x2+y^2)}
f(x,y)=xe−(x2+y2)
1. 网格点
在绘制曲线之前,先了解一下网格点的绘制。比如绘制一个3x3
的网格,那么就需要9
个坐标点:
(0,2)-----(1,2)-----(2,2)
(0,1)-----(1,1)-----(2,1)
(0,0)-----(1,0)-----(2,0)
将其x
轴和y
轴坐标分开表示:
x轴:
[[0, 1, 2],
[0, 1, 2],
[0, 1, 2]]
y轴:
[[0, 0, 0],
[1, 1, 1],
[2, 2, 2]]
在numpy
中可以使用np.meshgrid()
来生成网格点:
import numpy as np
import matplotlib.pyplot as plt
10x10
x = np.linspace(-1.5, 1.5, num=10)
y = np.linspace(-1.5, 1.5, num=10)
generate grid
X, Y = np.meshgrid(x, y)
plt.plot(X, Y, marker=‘.’, linestyle=‘’)
plt.grid(True)
plt.show()
2. 等高线
绘制等高线需要的数据有点的坐标位置(x, y)
以及坐标的高度z
,高度z
就是将坐标点(x, y)
带入函数
f
(
x
,
y
)
f(x, y)
f(x,y)中计算得到的,在matplotlib
中可以使用plt.contour()
来绘制:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-1.5, 1.5, num=100)
y = np.linspace(-1.5, 1.5, num=100)
X, Y = np.meshgrid(x, y)
f = X * np.exp(-X**2 - Y**2)
fig = plt.figure()
plt.xlim(-1.5, 1.5)
plt.ylim(-1.5, 1.5)
draw
ax = plt.contour(X, Y, f, levels=10, cmap=plt.cm.cool)
add label
plt.clabel(ax, inline=True)
plt.savefig(‘img1.png’)
plt.show()
add color
plt.contourf(X, Y, f, levels=10, cmap=plt.cm.cool)
plt.colorbar()
plt.savefig(‘img1.png’)
plt.show()
更多的
api
参数请参考官方文档。
3. 三维图像
函数的三维图像的绘制需要的数据与等高线一样,即坐标位置(x, y)
以及坐标的高度z
,在matplotlib
中可以使用mpl_toolkits.mplot3d
来绘制:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x = np.linspace(-1.5, 1.5, num=100)
y = np.linspace(-1.5, 1.5, num=100)
X, Y = np.meshgrid(x, y)
f = X * np.exp(-X**2 - Y**2)
fig = plt.figure()
ax = Axes3D(fig)
ax.set_xlabel(‘X’)
ax.set_ylabel(‘Y’)
ax.set_zlabel(‘Z’)
plt.xlim(-1.5, 1.5)
plt.ylim(-1.5, 1.5)
ax.plot_surface(X, Y, f, cmap=plt.cm.cool)
plt.savefig(‘img1.png’)
plt.show()
有关
mpl_toolkits.mplot3d
的使用可以参考官方文档;
更多的颜色搭配可参考
matplotlib
的colormap
官方手册。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Go语言工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Go语言全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Golang知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Go)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Go)
[外链图片转存中…(img-lyNMaU4r-1712884672155)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!