当前位置: 首页 > news >正文

学校网站建设要求域名注册商怎么查

学校网站建设要求,域名注册商怎么查,网站注册 优帮云,宿州网站制作前述学习过程中,我们已经掌握了3D surface的基本绘制技巧,详见链接: python画图|3D surface基础教程-CSDN博客 基础教程中的3D surface绘制位于笛卡尔坐标系,但有时候会用到极坐标绘图。虽然我们已经学过简单的极坐标绘图技巧&a…

前述学习过程中,我们已经掌握了3D surface的基本绘制技巧,详见链接:

python画图|3D surface基础教程-CSDN博客

基础教程中的3D surface绘制位于笛卡尔坐标系,但有时候会用到极坐标绘图。虽然我们已经学过简单的极坐标绘图技巧,详见链接:

python画图|极坐标中画直方图_ax1.plot()怎么画直方图-CSDN博客

但前面的极坐标绘图学习也是基于笛卡尔坐标系。

因此,很有必要继续探索3D 极坐标系下的surface图绘制。

【1】官网教程

打开官网链接,看到漂亮的3D图:

3D surface with polar coordinates — Matplotlib 3.9.2 documentation

很有必要,读懂官网程序。

【2】程序解读

程序开始,是亘古不变的numpy、matplotlib引入:

import matplotlib.pyplot as plt #引入matplotlib模块画图
import numpy as np #引入numpy模块做数学计算

然后设定要画图,画3D图:

fig = plt.figure() #定义要画图
ax = fig.add_subplot(projection='3d') #定义要画3D图

到这里其实都是前置条件,说明了要画图,给出了画图必须得数据计算支撑模块numpy和输出图形支撑模块matplotlib。

然后才开始定义变量:

# Create the mesh in polar coordinates and compute corresponding Z.
r = np.linspace(0, 1.25, 50) #定义自变量r
p = np.linspace(0, 2*np.pi, 50) #定义自变量p
R, P = np.meshgrid(r, p) #自变量r和p充分组合
Z = ((R**2 - 1)**2) #定义因变量R# Express the mesh in the cartesian system.
X, Y = R*np.cos(P), R*np.sin(P) #定义因变量XY

这里的meshgrid让r和p充分组合,之后:先完成了Z的定义,在完成了Z和Y的定义。

接下来输出图形:

# Plot the surface.
ax.plot_surface(X, Y, Z, cmap=plt.cm.YlGnBu_r) #画surface面,颜色按照YlGnBu_r分布

最后对坐标属性进行了设定,并输出图形:

# Tweak the limits and add latex math labels.
ax.set_zlim(0, 1) #设定Z轴范围
ax.set_xlabel(r'$\phi_\mathrm{real}$') #设定X轴为实轴
ax.set_ylabel(r'$\phi_\mathrm{im}$') #设定Y轴为虚轴
ax.set_zlabel(r'$V(\phi)$') #设定Z轴为角度轴plt.show() #输出图形

ab5f847eb2cd4c3584a535cb30be804b.png

图1

图1即为输出图形。

至此增添注释后的完整代码为:

import matplotlib.pyplot as plt #引入matplotlib模块画图
import numpy as np #引入numpy模块做数学计算fig = plt.figure() #定义要画图
ax = fig.add_subplot(projection='3d') #定义要画3D图# Create the mesh in polar coordinates and compute corresponding Z.
r = np.linspace(0, 1.25, 50) #定义自变量r
p = np.linspace(0, 2*np.pi, 50) #定义自变量p
R, P = np.meshgrid(r, p) #自变量r和p充分组合
Z = ((R**2 - 1)**2) #定义因变量R# Express the mesh in the cartesian system.
X, Y = R*np.cos(P), R*np.sin(P) #定义因变量XY# Plot the surface.
ax.plot_surface(X, Y, Z, cmap=plt.cm.YlGnBu_r) #画surface面,颜色按照YlGnBu_r分布# Tweak the limits and add latex math labels.
ax.set_zlim(0, 1) #设定Z轴范围
ax.set_xlabel(r'$\phi_\mathrm{real}$') #设定X轴为实轴
ax.set_ylabel(r'$\phi_\mathrm{im}$') #设定Y轴为虚轴
ax.set_zlabel(r'$V(\phi)$') #设定Z轴为角度轴plt.show() #输出图形

【3】修改代码

cmap=plt.cm.YlGnBu_r为渐变式的上色,color为纯色。画图结果为:

85f9a2b8844c404683730c4e77e58068.png

图2

由图2课件,整个图形已经更换为红色。

【4】改写代码

改写代码,实现:

【a】并列输出多个图形;

【b】设定不同颜色的输出。

首先,将fig定义改为subplots形式,并约定每个子模型都画3D图:

fig ,[ax1,ax2,ax3]= plt.subplots(1,3,sharey=True,figsize=(6,2)) #定义要画图
ax1 = fig.add_subplot(1,3,1,projection='3d') #定义要画3D图
ax2 = fig.add_subplot(1,3,2,projection='3d') #定义要画3D图
ax3 = fig.add_subplot(1,3,3,projection='3d') #定义要画3D图

然后,修改画图plot_surface模块中的颜色指定:

ax1.plot_surface(X, Y, Z, cmap=plt.cm.PuBuGn) #画surface面,颜色按照PuBuGn分布
ax2.plot_surface(X, Y, Z, color='r') #画surface面,颜色为红色
ax3.plot_surface(X, Y, Z, color='g') #画surface面,颜色为绿色

此时的结果为:

ce49159cfefe4efa9fe8e65431eef17f.png

图3

图3即为并列输出结果,此时只有最左侧图形为渐变色。这里使用了PuBuGn代码,这个代码代表了一种新的渐变,详情可参考下述链接:

Choosing Colormaps in Matplotlib — Matplotlib 3.9.2 documentation

上图3中,似乎渐变图是最好看的,参考上述链接,修改颜色代码后:

# Plot the surface.
ax1.plot_surface(X, Y, Z, cmap=plt.cm.PuBuGn) #画surface面,颜色按照PuBuGn分布
ax2.plot_surface(X, Y, Z, cmap='Accent') #画surface面,颜色为v
ax3.plot_surface(X, Y, Z, cmap='summer_r') #画surface面,颜色为summer_r

此时的输出结果为:

2ad23cfbb90b43cab7bc65f6cfc0906f.png

图4

由图4可见,不同颜色的表达给人的感觉不同。

为精益求精,尝试把每个图的方框去掉,并且加上图名:

改后的执行去除方框功能和附近其他代码为:

fig ,[ax1,ax2,ax3]= plt.subplots(1,3,sharey=True,figsize=(6,2)) #定义要画图
fig.delaxes(ax1) #去除方框
fig.delaxes(ax2) #去除方框
fig.delaxes(ax3) #去除方框

增加图名代码为:

# Tweak the limits and add latex math labels.
ax1.set_title(label='cmap=plt.cm.PuBuGn' )
ax2.set_title(label='cmap=Accent' )
ax3.set_title(label='cmap=summer_r' )

输出图形为:

1fb67e70a882481ebfcdc848217ea93d.png

图5

图5即为无方框、带图名并列输出结果。

【5】总结

学习了极坐标下的3D surface画法,尝试修改了图形颜色,掌握了多个图形输出的方法,掌握了图形方框和图名设置方法。

 

 

http://www.mmbaike.com/news/82766.html

相关文章:

  • 网站设计动画学校教育培训机构
  • 现在做网站还有出路吗网站排名提升软件
  • 河北网站开发联系电话网络网站推广优化
  • 正品查询网站怎么做网站seo是什么意思
  • 国外网站建立泉州关键词排名工具
  • 统计局网站建设seo网络优化是什么工作
  • 用office做网站免费打广告平台有哪些
  • 多媒体网站开发助理网络营销策划内容
  • 网站seo数据分析中国万网域名注册服务内容
  • 武汉网站建设公司 排名新东方在线教育平台官网
  • 如何避免网站被降权外链群发软件
  • 给别人做软件的网站seo怎么推排名
  • 黑龙江省住房和城乡建设网站腾讯控股第三季度营收1401亿
  • 地方网站如何做竞价购物网站有哪些
  • 做医院健康专题网站百度推广账户登录
  • 可以做超大海报的网站百度网站大全首页
  • 南京有关制作网站的公司廊坊今日头条新闻
  • 网站建设虚拟小吃培训2000元学6项
  • 自己做的网站怎么排名网站关键词排名优化电话
  • 建设购物网站的意义谷歌三件套
  • 网站运营工作具体做啥百度推广北京总部电话
  • 网站建设如何加入字体武汉seo 网络推广
  • 用云主机做网站新闻营销发稿平台
  • 宁夏政务大厅城乡建设厅口网站厦门seo招聘
  • 深圳做响应式网站公司住房和城乡建设部
  • wordpress相关文章小工具seo教程排名第一
  • 商标交易北京seo外包公司要靠谱的
  • 建立一个网站需要多久广告公司名称
  • 腾讯学生服务器做网站seo外包
  • 专业设计企业网站seo是什么服务