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

新闻网站建设意义网站性能优化

新闻网站建设意义,网站性能优化,网页模板素材下载,只会后端不会前端如何做网站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.tj-hxxt.cn/news/48821.html

相关文章:

  • 竞价推广营销seo营销网站
  • 做卡盟网站赚钱吗东莞有限公司seo
  • 做网站 发现对方传销常州谷歌推广
  • 手机怎么做网站添加背景音乐百度查关键词显示排名
  • 重庆网站设计系统今日时政新闻热点
  • 美食网站建设策划书网站关键词优化技巧
  • 树莓派做网站服务器seo西安
  • 报纸网站建设东莞网站推广企业
  • 设计了网站首页成都seo技术
  • 做礼品建什么网站武汉seo网站优化排名
  • 高档餐厅包房装修效果图浙江seo公司
  • 建设网站能挣钱吗建站企业网站
  • 高手做网站优化手机性能的软件
  • 怎么制作游戏私服排名轻松seo 网站
  • 邯郸网站维护线上推广100种方式
  • 免费开网店是真的吗seo交流网
  • 潍坊专业网站建设怎么收费徐州网站建设
  • 网站建设总结报告百度帐号注册
  • dedecms确定网站风格seo网站推广经理招聘
  • 做网站济南西百度搜索风云榜人物
  • 专业网站建设怎么样北京百度推广代理
  • 菜鸟教程网站开发新乡网站优化公司
  • 徐州做网站哪个好市场调研报告包括哪些内容
  • 在网站建设会议上的讲话电视剧百度搜索风云榜
  • 门户网站开发项目的风险游戏广告联盟平台
  • 广州网络兼职网站建设百度网盘下载电脑版官方下载
  • nas 可以做网站吗天津seo推广软件
  • 3gb2c.com是什么网站郑州seo优化大师
  • 外贸建站效果百度网站域名注册
  • 在云服务器上搭建网站内容营销的4个主要方式