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

服装定制品牌排行榜前十名seo优化排名易下拉用法

服装定制品牌排行榜前十名,seo优化排名易下拉用法,吉林网络推广代运营,国内最大的软件开发商绘制 3D 图形 到目前为止,我们一直在讨论有关 2D 图形的绘制方法和绘制技术。3D 图形也是数据可视化的 一个很重要的应用方面,我们接下来就重点讲解有关 3D 图形的实现方法。绘制 3D 图形通常需要导 入 mpl_toolkits 包中的 mplot3d 包的相关模块&#x…

绘制 3D 图形

到目前为止,我们一直在讨论有关 2D 图形的绘制方法和绘制技术。3D 图形也是数据可视化的 一个很重要的应用方面,我们接下来就重点讲解有关 3D 图形的实现方法。绘制 3D 图形通常需要导 入 mpl_toolkits 包中的 mplot3d 包的相关模块,如 axes3d 模块,模块 axes3d 中包含类 Axes3D,对象 Axes3D 可以在 2D 的 matplotlib 画布中绘制 3D 图形对象。

一,绘制带颜色标尺的彩色曲面

在 2D 画布中绘制 3D 图形时,绘制的本质就是绘制三维曲面,即由一对有序数对映射成的数据 值和有序数对所组成的三元元组在画布上的描点成面。这个三维曲面不仅可以着色,还可以按照曲 面的高度分别涂上不同的颜色,同时用颜色标尺进行注释,说明高度变化。接下来,我们就讲解带 颜色标尺的彩色曲面的绘制方法。

1.代码示例

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
from mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection="3d")x = np.arange(-3, 3, 0.25)
y = np.arange(-3, 3, 0.25)
x, y = np.meshgrid(x, y)
r = np.sqrt(np.power(x, 2) + np.power(y, 2))
z = np.sin(r)# plot 3d surface
surf = ax.plot_surface(x, y, z,rstride=1,cstride=1,cmap=cm.coolwarm,linewidth=0,antialiased=False)# customize the z axis
ax.set(zlim=(-1, 1))
ax.zaxis.set_major_locator(LinearLocator(7))
ax.zaxis.set_major_formatter(FormatStrFormatter("%3.2f"))# add a color bar mapping values to colors
fig.colorbar(surf, shrink=0.6, aspect=10)plt.show()

2.代码解释 

为了绘制 3D 图形,需要从 mpl_toolkits 包里的 mplot3d 包的 axes3d 模块中导入类 Axes3D,实 现在 2D 的 matplotlib 画布中绘制 3D 图形对象的目标。

(1)通过调用“plt.figure()”语句,生成类 Figure 的实例 fig。

(2)向画布 fig 中添加 3D 投影模式的子区,得到可以绘制 3D 图形的坐标轴实例 ax。 接下来,设置 x 轴、y 轴和 z 轴的数据内容。

(3)这样,我们就可以在坐标轴实例 ax 中,调用类 Axes3D 的实例方法 plot_surface()绘制曲 面了。通过参数 rstride 和 cstride 设置曲面上单位曲面的大小,参数 cmap 用于设置曲面补片的颜 色映射表类型。单位曲面(曲面补片)的衔接线的线条宽度设置为 0,以求突出曲面补片的颜色 变化情况。

(4)为了使 z 轴的刻度线和刻度标签更加清晰和直观,使用一组代码对 z 轴的刻度线和刻度标 签进行定制化设置,主要调整刻度线的数量和刻度标签的小数点位数。

(5)向画布中的曲面实例添加颜色标尺,通过参数 shrink 设置颜色标尺的整体大小,通过参数 aspect 设置标尺框的长和宽的比例。 这样,通过上面的 Python 代码,我们就完成了带颜色标尺的彩色曲面的绘制任务。

二,在3D 空间里分层展示投射到指定平面后的2D 柱状图

我们在 2D 平面上可以绘制柱状图,如果要绘制多组数据的柱状图,则可以尝试使用堆叠柱状 图或并列柱状图。但是,如果数据组数过多,那么使用这两种柱状图展示数据的可视化效果就不是 很理想。这时候,我们可以先将多组数据的柱状图投射到指定平面上,再借助指定坐标轴将投射后 的柱状图分层,从而在 3D 空间里实现多组数据的分层展示的 2D 柱状图的绘制任务。 

1.代码示例

import matplotlib.pyplot as plt
import numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection="3d")colorsList = ["r", "b", "y"]
yLayersList = [2, 1, 0]for color, layer in zip(colorsList, yLayersList):x = np.arange(10)y = np.random.rand(10)ax.bar(x, y, zs=layer, zdir="y", color=color, alpha=.7)ax.set(xlabel="X", ylabel="Y", zlabel="Z", yticks=yLayersList)plt.show()

2.代码解释 

(1)需要从 mpl_toolkits 包里的 mplot3d 包的 axes3d 模块中导入类 Axes3D,实现在 2D 的 matplotlib 画布中绘制 3D 图形对象的目标。

(2)调用模块 pyplot 中的函数 figure(),生成类 Figure 的实例 fig。

(3)向画布 fig 中添加 3D 投影模式的子区,得到可以绘制 3D 图形的坐标轴实例 ax。

(4)分别设置柱状图的柱体颜色和柱状图投射层次的序号,分别存储在列表 colorsList 和 yLayersList 中。

(5)借助内置函数 zip(),获得颜色和层次序号的元组列表,通过 for 循环实现迭代绘制柱状图 的目标。

(6)在 for 循环中,需要重点说明语句块“ax.bar(x,y,zs=layer,zdir="y",color=color,alpha=.7)”的 作用,也就是类 Axes3D 的实例方法 bar()的使用方法。其中,参数 x 表示柱体左边位置的列表;参 数 y 表示柱体高度的列表;参数 zs 是将柱状图进行投射的层次序号;参数 zdir 是将 z 轴用来表示柱 体的高度,即将 y 轴设定成 z 轴;参数 zs 和 zdir 组合使用的效果就是在 y 轴的刻度线位置 2、1 和 0 处所在的与 z 轴所属平面平行的平面上绘制 2D 柱状图;参数 color 用于设置柱体的颜色;参数 alpha 用于设置柱体的透明度。这样,我们就将 2D 柱状图投射到 z 轴所属的平面上,再借助 y 轴分层展示投射到 z 轴所属平面上的 2D 柱状图,从而实现在 3D 空间里分层展示投射到指定平面 后的 2D 柱状图。

(7)通过调用实例方法 set(),统一设置 x 轴、y 轴和 z 轴的坐标轴标签,以及将 y 轴的刻度线位 置设置成投射层次的位置序号。类 Axes 的实例方法 set()是属性批量设置器,也就是说,可以将类 Axes 的若干属性设置一起放在实例方法 set()中来实现。

三,在 3D 空间里绘制散点图

我们可以在 2D 平面内绘制散点图,但在很多时候,出于实际项目需要,需要在 3D 空间里绘制 散点图。在 3D 空间里绘制散点图,就是在 x 轴和 y 轴之外再添加一条 z 轴后,使用三元有序数对在 3D 空间里进行描点。下面,我们就介绍在 3D 空间里绘制散点图的实现方法。

1.代码示例

import matplotlib.pyplot as plt
import numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()ax = fig.add_subplot(projection = '3d')xs = np.random.rand(50) * 10
ys = np.random.rand(50) * 10 + 20
zs1 = np.random.rand(50) * 10
zs2 = np.sqrt(xs ** 2 + ys ** 2)ax.scatter(xs, ys, zs=zs1, zdir="z", c="cornflowerblue", marker="o", s=40)
ax.scatter(xs, ys, zs=zs2, zdir="z", c="purple", marker="^", s=40)ax.set(xlabel="X", ylabel="Y", zlabel="Z")plt.show()

2.代码解释 

与前面讲过的导入 3D 绘图模式一样,同样从 mpl_toolkits 包里的 mplot3d 包的 axes3d 模块中导 入类 Axes3D,实现在 2D 的 matplotlib 画布中绘制 3D 图形对象的目标。

(1)调用模块 pyplot 中的函数 figure(),生成类 Figure 的实例 fig。

(2)调用实例方法 add_subplot()获得 3D 模式下的坐标轴实例 ax。

(3)构建一组模拟数据 xs、ys、zs1 和 zs2,用于绘制 3D 空间里的散点图。

(4)调用类 Axes3D 的实例方法 scatter(),实例方法 scatter()的大部分参数与 2D 平面里的实例 方法 scatter()的大部分参数相同。这里需要重点说明的就是参数 zs。参数 zs 是与 xs 和 ys 数组长度 相同的数组,将 z 轴本身作为 z 坐标轴,这样,就会在 z 轴上的 zs 列表里的元素的位置处绘制由 xs 和 ys 的对应位置的元素所组成的有序数对的坐标点。

(5)调用“ax.set(xlabel="X",ylabel="Y",zlabel="Z")”语句,设置 x 轴、y 轴和 z 轴的坐标轴标签。 这样,通过上面的操作步骤,就可以完成在 3D 空间里绘制散点图的数据可视化任务。

http://www.yayakq.cn/news/586193/

相关文章:

  • 长春制作公司网站专业集团门户网站建设费用
  • 十大网络安全上市公司seo怎么优化一个网站
  • 淘宝美工做倒计时图片网站天津建设发展集团有限公司
  • 价格低的成语产品seo是什么意思
  • 宿迁网站建设哪家专业网站的pdf预览是怎么做的
  • 个性化网站wordpress做成仿阿里巴巴
  • dw创建网站导航栏菜单怎么做鹤壁做网站推广
  • 中展建设股份有限公司网站网络服务器可提供的常见服务有什么
  • 海康域名网站网络在线培训网站建设方案
  • 烟台市福山区住房和建设局网站网站建设一龙条
  • 网站开发与维护视频教程做美足网站违法吗
  • 天津企业网站制作手机网站你了解的
  • 网站维护具体做啥wordpress全景插件
  • 建设工程职称论文查询网站网站推广的作用
  • 文具网站建设规划书钓鱼网站到底怎么做
  • 佛山公司网站推广外包服务100个最佳市场营销案例
  • 网站建设怎么写宁波网络推广推荐机构
  • 小企业官方网站制作不通过网站可以做360全景吗
  • 临夏金属装饰网站建设为什么没有人做像58一样的网站
  • 专业网专业网站建设为网站网站做代理怎么判
  • 优良的定制网站建设提供商山东东营市属于几线城市
  • 郑州购物网站建设长春市长春网站建设
  • 江门网站建设公司哪家好找工作室的网站
  • 北京网站设计十年乐云seowordpress可以做淘宝客
  • 用cms做网站的具体步骤统计局网站建设情况
  • 中国建设银行网站首页怎么销户官方制作网站
  • 外贸机械网站建设品牌购买网站
  • 网站界面设计规划wordpress 海贼王
  • 检察院门户网站建设情况总结郑州网站设计汉狮
  • 营销型网站建设需要注意什么云南网站设计