JavaScript 温度异常图表

这篇具有很好参考价值的文章主要介绍了JavaScript 温度异常图表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

了解如何使用高性能 JS 图表创建可用于异常天气和温度科学研究的 JS 温度异常图表。

你好!

在本文中,我们将创建温度异常图表。

对于这个例子,我们将使用 LightningCharts JS 库,特别是XY图表。对于那些对技术细节感兴趣的人,这里有一些XY 图表的 特征:

  1. 这种类型的图表仅适用于两个轴,X 和 Y。
  2. 它允许我们将图形中的数据点定位为坐标。
  3. XY 图表是测量和读取温度异常的绝佳工具。
  4. 异常指的是在一段较长的时间内相对于参考值或平均值的变化。
  5. 正值表示温度变暖,而负值表示温度变冷。

温度异常图的主要用途

JavaScript 温度异常图表

  • 气候监测:温度异常图有助于监测温度模式随时间的变化,提供对气候趋势和整体气候条件的洞察。 
  • 气候研究:温度异常图在研究气候动态、识别气候驱动因素以及研究自然和人为因素对温度变化的影响方面具有科学用途。 
  • 天气预报:在气象学中,温度异常图用于通过识别异常温暖或寒冷的区域来预测天气模式,有助于更准确的短期天气预测。 
  • 环境分析:温度异常会影响生态系统和环境系统,因此温度异常图表对于分析温度变化对植被、野生动物和洋流的影响很有价值。

让我们开始实施吧。

模板设置

1. 请下载以下模板 (.ZIP),您可以在其中找到项目和学习本教程所需的所有文件。JavaScript 温度异常图表项目模板

2. 下载项目后,在 Visual Studio 中将其打开,并可视化以下文件树:

JavaScript 温度异常图表

3. 现在,打开一个新终端,像往常一样在NodeJS项目中运行NPM install命令。有关安装 NodeJS的更多信息,请参阅本文。

这就是设置模板的一切。现在让我们编写代码。

图表.ts

在这个文件中,我们将拥有创建图表、配置动画和格式化数据所需的所有逻辑。

1.导入JSON数据:

import data from './data.json'

附言。如果您是 JSON 数据的新手,我向您推荐这本 JSON 数据建模指南。

2. 声明将 lcjs 引用我们的常量@arction/lcjs library

3. 从中提取所需的类lcjs

const lcjs = require('@arction/lcjs')
const { lightningChart, AxisTickStrategies, UIElementBuilders, UIOrigins, ImageFill, emptyLine, ImageFitMode, emptyFill, Themes } = lcjs

4. 创建图表对象:

const chart = lightningChart()
    .ChartXY({
        theme: Themes.darkLime,
    })
    .setTitle('')
  • setTitle:将在仪表板中显示为顶部标题的文本。
  • Theme:LightningChart JS 库具有一组默认实现,可由Themes. 组件的颜色主题必须在创建时指定,之后不能更改。

5.获取Y轴:

const axisY1 = chart.getDefaultAxisY().setTitle('Atmospheric Carbon Dioxide (ppm)')

getDefaultAxisY可以访问 Y 轴,X 轴 ( getDefaultAxisX) 的情况相同。

一旦我们有权访问它,我们就可以添加 UI 属性,如标题。AxisY1对应图表中的意义线:

JavaScript 温度异常图表

6. 创建主 Y 轴线:

const axisY2 = chart
    .addAxisY({
        opposite: true,
    })
    .setTitle('Temperature Anomaly Index (°C)')
    // Hide tick grid-lines from second Y axis.
    .setTickStrategy(AxisTickStrategies.Numeric, (ticks) =>
        ticks
            .setMinorTickStyle((minor) => minor.setGridStrokeStyle(emptyLine))
            .setMajorTickStyle((major) => major.setGridStrokeStyle(emptyLine)),
    )

 文章来源地址https://www.toymoban.com/news/detail-483030.html

刻度策略定义了轴刻度的定位和格式化逻辑以及创建的刻度的样式。数字属性对应于要在 Y 轴上显示的数字值。

对于 XY,刻度将为空行,因为我们不需要在图表中显示每个刻度:

major.setGridStrokeStyle((solidLine) => solidLine.setThickness(500))),

JavaScript 温度异常图表

7. X轴:

const axisX = chart.getDefaultAxisX().setTickStrategy(AxisTickStrategies.DateTime)

 如您所见,X 轴具有日期时间策略,因为我们需要按日期显示数据:

 

JavaScript 温度异常图表

 8. 使用 JSON 数据:

const { temperature, co2 } = data

//code stored in "data.json"
{
    "temperature":[-0.16,-0.08,-0.1,-0.17,-0.28,-0.33,-0.31,-0.36,-0.17,-0.1,-0.35,-0.22,-0.27,-0.31,-0.3,-0.23,-0.11,-0.11,-0.27,-0.18,-0.08,-0.16,-0.28,-0.37,-0.47,-0.26,-0.22,-0.39,-0.43,-0.49,-0.44,-0.44,-0.36,-0.35,-0.16,-0.15,-0.36,-0.46,-0.3,-0.28,-0.28,-0.19,-0.29,-0.27,-0.27,-0.22,-0.11,-0.22,-0.2,-0.36,-0.16,-0.1,-0.16,-0.29,-0.13,-0.2,-0.15,-0.03,0,-0.02,0.13,0.19,0.07,0.09,0.2,0.09,-0.07,-0.03,-0.11,-0.11,-0.17,-0.07,0.01,0.08,-0.13,-0.14,-0.19,0.05,0.06,0.03,-0.03,0.06,0.03,0.05,-0.2,-0.11,-0.06,-0.02,-0.08,0.05,0.03,-0.08,0.01,0.16,-0.07,-0.01,-0.1,0.18,0.07,0.16,0.26,0.32,0.14,0.31,0.16,0.12,0.18,0.32,0.39,0.27,0.45,0.4,0.22,0.23,0.32,0.45,0.33,0.46,0.61,0.38,0.39,0.54,0.63,0.62,0.53,0.68,0.64,0.66,0.54,0.66,0.72,0.61,0.65,0.68,0.74,0.9,1.01,0.92,0.85,0.98,1.02],
    "co2":[285.2,285.1,285,285,284.9,285.1,285.4,285.6,285.9,286.1,286.4,286.6,286.7,286.8,286.9,287.1,287.2,287.3,287.4,287.5,287.7,287.9,288,288.2,288.4,288.6,288.7,288.9,289.5,290.1,290.8,291.4,292,292.5,292.9,293.3,293.8,294,294.1,294.2,294.4,294.6,294.8,294.7,294.8,294.8,294.9,294.9,294.9,295.3,295.7,296.2,296.6,297,297.5,298,298.4,298.8,299.3,299.7,300.1,300.6,301,301.3,301.4,301.6,302,302.4,302.8,303,303.4,303.7,304.1,304.5,304.9,305.3,305.8,306.2,306.6,307.2,307.5,308,308.3,308.9,309.3,309.7,310.1,310.6,311,311.2,311.3,311,310.7,310.5,310.2,310.3,310.3,310.4,310.5,310.9,311.3,311.8,312.2,312.6,313.2,313.7,314.3,314.8,315.34,316.18,317.07,317.73,318.43,319.08,319.65,320.23,321.59,322.31,323.04,324.23,325.54,326.42,327.45,329.43,330.21,331.36,331.92,333.73,335.42,337.1,338.99,340.36,341.57,342.53,344.24,345.72,347.15,348.93,351.47,353.15,354.29]
  }

 9. 为大气二氧化碳线添加值:

const carbonDioxideSeries = chart
    .addLineSeries({
        yAxis: axisY1,
    })
    .setName('Atmospheric Carbon Dioxide (ppm)')
    // Data set contains PPM measurement values only. First measurement is from year 1880, and each consecutive measurement is 1 year after previous.
    .add(
        co2.map((ppm, i) => ({
            y: ppm,
            x: new Date(1880 + i, 0, 1, 0, 0, 0, 0).getTime(),
        })),
    )

如您所见,Y1 轴上添加了一个线系列。名称设置为系列,数据映射自 JSON 数据中的 CO2 数组对象。我们没有日期值,因此只需从 1880 年开始连续添加 1 年,以创建一条不间断的线。

10.添加图例框:

JavaScript 温度异常图表

// Add legend.
const legend = chart.addLegendBox(undefined, { x: axisX, y: axisY1 }).add(chart)
.setOrigin(UIOrigins.LeftTop)
.setMargin(4)
const positionLegendOnAxes = () => legend.setPosition({ x: axisX.getInterval().start, y: axisY1.getInterval().end })
positionLegendOnAxes()

 

添加legendbox到意义线(Y 轴)和唯一的 X 轴。

  •  setOrigin:设置此 UiElement 的位置原点。 
  • setMargin以像素为单位设置对象周围的边距。 
  • setPosition:设置此 UiElement 相对于其原点的位置。 
  • getInterval获取当前应用的坐标轴刻度间隔。

NPM 开始

要初始化图表,请打开一个新终端并运行命令npm start。您将看到本地主机路径。单击它并与浏览器上的图表进行交互。

JavaScript 温度异常图表

JavaScript 温度异常图表

在这里,您可以看到最终图表:

JavaScript 温度异常图表

结论

在本文中,我们以非常简单的方式创建了 XY 图表的实现。为了生成 XY 图表,我们只需要使用该charXY()方法。

在此示例中,我们使用了LC JS 库中的默认值,但在您的情况下,您只需要一个具有所需值的 JSON 类型的对象。

从技术上讲,只要您使用两个阵列,该过程就应该有效。几乎所有的代码开发都集中在图表定制上,加载数据的过程也很容易理解。

另一个要点是主题目录的使用,它允许我们生成外观相当复杂的图表,但无需求助于外部 CSS 类。

毫无疑问,LC JS 有助于以更少的执行时间执行最佳工作。

 

到了这里,关于JavaScript 温度异常图表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python数据可视化:如何使用Matplotlib创建漂亮的图表

    Python是一种易于学习的编程语言,很受数据科学家和分析师的青睐。Python的数据可视化库Matplotlib是一种用于创建图表的强大工具,可以帮助我们在数据分析中更好地理解和呈现数据。 在本文中,我们将介绍如何使用Matplotlib创建各种类型的图表,包括折线图、柱状图、散点图

    2024年02月10日
    浏览(52)
  • 电脑发热发烫,具体硬件温度达到多少度才算异常?

    联想E14 电脑发热发烫,具体硬件温度达到多少度才算异常? 电脑硬件的温度正常范围会因设备类型和使用的具体硬件而有所不同。一般来说,以下是各种硬件的正常温度范围: CPU:正常情况下,CPU的温度应该在45-75度之间,或者更低。如果CPU温度过高大于等于85度以上,长时间

    2024年02月03日
    浏览(40)
  • Python 数据可视化教程 - 如何使用 pyecharts 绘制多条折线图表

    部分数据来源: ChatGPT   引言         本文主要介绍如何使用 Python 中的 pyecharts 库,绘制多条折线图表。在本例中,我们将展示各国的 COVID-19 确诊人数数据。 1、首先,我们需要导入必要的库: 其中, json  库用于解析 JSON 数据, pyecharts  库用于绘图, TitleOpts 、 Lege

    2024年02月09日
    浏览(56)
  • JavaScript复杂功能实现:实时数据可视化图表

    本文将介绍如何使用JavaScript创建实时数据可视化图表。我们将使用流行的图表库,如Chart.js,来展示如何将实时数据动态呈现在图表中。 随着Web应用的发展,实时数据可视化变得越来越重要。通过实时数据可视化,用户可以快速了解数据的变化趋势,从而做出相应的决策。本

    2024年01月20日
    浏览(63)
  • 如何使用ESP8266微控制器和Nextion显示器为Home Assistant展示温度传感器和互联网天气预报

    第一部分:引言与项目概述 在智能家居领域,实时监控和显示环境数据已经成为了一个热门的话题。无论是室内温度、室外温度,还是游泳池的温度,都可以通过各种传感器轻松获取。但如何将这些数据以直观、美观的方式展现出来呢?本文将详细介绍如何使用带有ESP8266微

    2024年02月07日
    浏览(51)
  • 如何使用xlwings库创建图表及设置坐标轴标题文本内容----关于Python里xlwings库对Excel表格的操作(三十二)

    这篇小笔记主要记录如何 【如何使用“Chart类”、“Api类\\\"和“Axes函数”设置坐标轴标题文本内容】 。 前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 (1)如何安装导入xlwings库; (2)如何在Wps下使用xlwings中

    2024年01月22日
    浏览(71)
  • 了解IL汇编异常处理语法

    从网上拷过来一个IL汇编程序,编译时先报如下错,         看它是把空格识别为了下注红线的字符,这是字符编码的问题,用记事本替换功能替换了; 然后又报如下的错,   看不出来问题,拷一句正确的来,整个替换;   然后又报如下的错,       这次一直改不了;看了

    2024年02月13日
    浏览(43)
  • JavaScript如何使用for循环

    JavaScript 是一门非常有趣的编程语言,它可以让我们在浏览器中创建交互式的 Web 应用程序。在 JavaScript 中,我们可以使用 for 循环来迭代一个数组或对象,从而执行一系列的操作。下面是一些关于 for 循环的有趣的用法和例子。 为什么要使用 for 循环? JavaScript 中的 for 循环可

    2024年02月05日
    浏览(45)
  • Java中的异常你了解多少?

    在Java中,我们将程序执行过程中发生不正常的情况称为异常 。 我们先看下面这行代码,我们将字符串赋值给了字符类型的s,由我们所学习的知识来判断,这肯定是不能通过的。 接下来我们来简单了解几种异常: 1.算数异常 2.数组越界异常 3.空指针异常 由图可以看出 1.Thr

    2024年02月04日
    浏览(44)
  • Javascript程序异常处理

    什么是异常,异常就是我们在编写Javascript程序时出现的一些错误,并会在控制台中抛出这个错误,出现异常其实并不是一件坏事,相对的呢它可以提醒我们开发人员哪里出现了错误,方便我们后续的修改,能让我们的代码更加的流畅丝滑的运行,如果你对程序异常还不了解,

    2024年02月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包