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

优秀企业门户网站黄骅港出海捕鱼

优秀企业门户网站,黄骅港出海捕鱼,我要建个人网站,sem竞价托管费用3D图片更生动,或许在时间序列数据的展示上更胜一筹 想法: 学习3D绘图的想法来自科研绘图中。我从事的专业是古植物学,也就是和植物化石打交道。化石有三大信息:1.物种信息,也就是它的分类学价值;2.时间信息…

3D图片更生动,或许在时间序列数据的展示上更胜一筹

想法: 学习3D绘图的想法来自科研绘图中。我从事的专业是古植物学,也就是和植物化石打交道。化石有三大信息:1.物种信息,也就是它的分类学价值;2.时间信息,也就是它的存在时间;3.地理信息,即它在过去某时存在于某地。

要想在一张图里展示同时展示这些信息并不容易,因为研究工作通常涉及一个类群,该类群存在的化石记录少则几条,多则几百条,如何合理地展示出来是一项不小的考验。

原先的做法: 首先回顾一下化石的三大信息:物种、时间、地理。如果要在地图上标注化石坐标,需要明确:1.现在发现化石的经纬度并不是过去它存在时的经纬度,换句话说,它生活的板块在漂移。2.也就表明全球地图是不断变化的,不同时间存在的化石应画在对应的古地图上。
所以,大部分人的做法,或者说现在的展现方法要么是在当今地图上把所有化石标注出来,要么挑几个大的时间段古地理图,把化石分别标注上去。

我的想法: 计算化石的古地理坐标并在古地理图上标注的方法很多,之前在GPlates上做过,并且有动态展示,但是无法用于科研文章中。而如果把每块化石标注在对应时间的古地理图上有会太多而没有意义。
虽然我的想法可能已经有人想到并尝试过,由目前尚无类似科研绘图来看,很可能行不通。我也大致猜想了一下行不懂的原因:首先,如果化石点没有标注在地理图上,那就没有展示意义,所以要向Z轴里插卡片一样插入古地理图。如此一来,古地理图间的阴影几乎肯定让图形不可示人。
反过来说,如果只展示化石点,那么无法直观地看到化石在地图上的呈现。也是没有意义的。如果用波面展示能反映出化石的经纬度变化,但也是没有意义的,因为化石记录不可能完全展现类群的演化历史,所以经纬度的上下波动没有研究价值。按统计学的思维来说,就是样本量缺失导致分析结果不可信。

说了这么多打击自己的话,但还是要自己撞一回南墙才知道有多疼。

要解决的坎:

  1. 计算古地理坐标,有大量算法支持,不算难事
  2. 以化石的古地理经度(X轴)、古地理纬度(Y轴)和年龄(Z轴)绘制3D图形,写完本文可就会了,不算事
  3. 如果展示古地理图。不知matplotlib能否向Z轴插入底图,有则最好,无则尽力解决。如果没法解决,需要思考别的展现地理信息的方式,需要思考,需要灵感。

预备工作

总而言之,要达到我的目标,必须要对matplotlib能绘制哪些3D图做到心中有数,所以本文及后续会完成3D图形绘制学习。

学习3D绘图

在3D坐标轴上绘制2D数据

学习资料: matplotlib3D绘图简例

以下示例使用ax.plot()的zdir关键字参数,将2D数据绘制到3D坐标轴上。
在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as npax = plt.figure().add_subplot(projection='3d')x = np.linspace(0, 1, 100)
y = np.sin(x*2*np.pi) / 2 + 0.5ax.plot(x, y, zs=0, zdir='z', label='curve in (x,y)')colors = ('r', 'g', 'b', 'k')np.random.seed(19680801)x = np.random.sample(20*len(colors))
y = np.random.sample(20*len(colors))
c_list = []for c in colors:c_list.extend([c]*20)ax.scatter(x, y, zs=0, zdir='y', c=c_list, label='points in (x,z)')ax.legend()
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
ax.set_zlim(0, 1)ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')ax.view_init(elev=20., azim=-35, roll=0)plt.show()

在运行上述代码时遇到的问题及解决方法

TypeError: Axes3D.view_init() got an unexpected keyword argument ‘roll‘

绘制3D柱状图

演示如何绘制有阴影和没有阴影的3D条形图。

import numpy as np
import matplotlib.pyplot as plt# set up the figure and axes
fig = plt.figure(figsize=(8, 3))
ax1 = fig.add_subplot(121, projection='3d')
ax2 = fig.add_subplot(122, projection='3d')# fake data
_x = np.arange(4)
_y = np.arange(5)
_xx, _yy = np.meshgrid(_x, _y)
x, y = _xx.ravel(), _yy.ravel()top = x + y
bottom = np.zeros_like(top)
width = depth = 1ax1.bar3d(x, y, bottom, width, depth, top, shade=True)
ax1.set_title('Shaded')ax2.bar3d(x, y, bottom, width, depth, top, shade=False)
ax2.set_title('Not Shaded')plt.show()

在这里插入图片描述

在不同的平面上创建二维条形图

演示了如何制作一个3D图形,该图形将二维条形图投影到平面y=0, y=1等。

import matplotlib.pyplot as plt
import numpy as np# Fixing random state for reproducibility
np.random.seed(19680801)fig = plt.figure()
ax = fig.add_subplot(projection='3d')colors = ['r', 'g', 'b', 'y']
yticks = [3, 2, 1, 0]
for c, k in zip(colors, yticks):# Generate the random data for the y=k 'layer'.xs = np.arange(20)ys = np.random.rand(20)# You can provide either a single color or an array with the same length as# xs and ys. To demonstrate this, we color the first bar of each set cyan.cs = [c] * len(xs)cs[0] = 'c'# Plot the bar graph given by xs and ys on the plane y=k with 80% opacity.ax.bar(xs, ys, zs=k, zdir='y', color=cs, alpha=0.8)ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')# On the y-axis let's only label the discrete values that we have data for.
ax.set_yticks(yticks)plt.show()

在这里插入图片描述

这个效果图和我想要达到的效果比较相近,只要把Y轴上的每个柱形图换为带有化石标定点的古地理图即可。但从本土来看,或许太多个图形看起来不清楚,上图仅是单色柱形图就难以观察到后面的情况,如果是色彩更复杂的地理图,效果不知会有多差。

未完待续

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

相关文章:

  • 那种类型的网站可以自己做也可以赚钱茂名专业网站建设公司
  • 商城网站有哪些功能青岛设计网站公司
  • 网站开发质保线上商城app
  • 永州网站建设收费标准如何将wordpress搬家
  • 个人主页静态网站网站接入支付宝需要网站备案吗
  • 网站购物分享seo关于网站的建设论文
  • 网站关键词格式电话销售网站建设多少钱一个月
  • 教做鞋的网站南阳网站营销外包
  • 太原富库网站建设有什么平台可以发广告
  • 太原建设厅网站电子商务专业就业方向及就业前景
  • 网站整体克隆包含后台超级简历免费模板
  • 网站收录网网站建设运营的灵魂是什么
  • 陕西住房和建设部网站首页网站建设是什么?
  • 企业建站用什么主机WordPress谷歌广告插件
  • 免费发外链的网站网站规划说明书范文
  • 绿色建筑网站百度怎样免费发布信息
  • php 茶叶网站网站产品展示系统
  • 山东建设局网站外贸服装网站模板
  • 网站开发结构文档交换友情链接的好处
  • 设计的网站怎么添加域名网站解析查询
  • 网站优化排名易下拉效率关于网站建设论文的结束语
  • 湖南常德广宇建设网站青岛团购网站建设
  • 网站建设保密协议怎么用 做网站
  • 江苏省城乡和住房建设厅网站wordpress 上传图片大小
  • 做网站的需要注册商标吗申请做网站 论坛版主
  • 免费网站部署网络系统管理和配置
  • 福州模板建站定制网站关键词排名优化免费
  • wordpress 网站死机做目的旅游网站的
  • 手表查询网站网上购物网站开发
  • form e哪个网站做服务推广网站