搜索
首页web前端js教程使用Plotly.js创建交互式图表,第1部分:入门

>在标题为“从Chart.js开始”的系列中,您学习了如何使用Chart.js轻松创建基于响应帆布的图表。该系列涵盖了图书馆提供的七种基本图表类型。但是,您可能需要创建具有其他功能的更复杂的图表,以使这些图表交互式。

是最佳的免费使用库之一,以创建各种响应式,交互式和功能丰富的图表。在本系列中,您将学习如何使用plotly.js创建不同的图表,包括线图,条形图,气泡图表和点图表。这是一个建立在D3.js和stack.gl之上的高级声明库。以下是使绘图成为最佳JavaScript图表库之一的功能的列表:

您可以使用Plotly.js轻松创建交互式图表。您使用库创建的任何图表都配备了缩放,放大,平盘,自动缩放等功能。当您想研究具有大量绘制点的图表时,这些功能非常有用。所有这些事件均在API中公开,因此您可以在触发这些事件的任何一个时编写自定义代码以执行自己的操作。

高性能在绘制大量点时高性能使Plotly.js成为一个不错的选择。由于大多数图表都是使用SVG创建的,因此您可以在浏览器之间获得相当数量的兼容性,并且能够导出任何图表的高质量图像。但是,在DOM中绘制大量的SVG元素可能会对性能产生不利影响。该库使用stack.gl创建高性能的2D和3D图表。
    >
  • >
  • 您创建的任何3D图表都在WebGL的帮助下渲染,以充分利用GPU所提供的所有功能。
  • >

在开始使用plotly.js之前,安装plotly

,我们需要先安装它。通过运行以下命令:

>此选项可能是最优雅,最灵活的,可以使用许多不同的方法来安装库。但是,您将需要设置一个捆绑器,该捆绑器会自动将您使用的NPM软件包转换为浏览器可以处理的东西。此外,为了实际使用该软件包,您可能要使用ESM。您可以在此处阅读有关ESM的更多信息。

如果您想要快速的原型解决方案,也可以使用plotly.js cdn并直接链接到库:>在撰写本教程时,
npm install plotly.js<br>

>最新版本的库为2.14.0。缩小和压缩库后的文件大小为1.1 MB。非固定和未压缩版的大小为3.5 MB。如您所见,该库提供的一长串功能是价格。有七个不同的捆绑包:基本,笛卡尔,GEO,GL3D,GL2D,MAPBOX,FINALANCE和CRIGTH。您可以使用以下行获取这些捆绑包的CDN链接:

>另外,如果使用npm,则可以安装该捆绑包的软件包。
<script type="text/javascript" src="https://cdn.plot.ly/plotly-2.14.0.min.js"></script><br>
>

>
https://cdn.plot.ly/plotly-bundleName-2.14.0.min.js<br><br>// Therefore the basic bundle becomes:<br>https://cdn.plot.ly/plotly-basic-2.14.0.min.js<br><br>// and the cartesian bundle becomes:<br>https://cdn.plot.ly/plotly-cartesian-2.14.0.min.js<br>
,如果您只需要从单个捆绑包中绘制图表,则可以使用此方法来大大减少文件大小。这是有关每个信息的一些其他信息。

  • basic :此捆绑包包含直方图2D ,pie ,ctastternary 跟踪模块。该捆绑包的压缩和缩小版本的大小为238.2 kb。
  • geo
  • :此捆绑包允许您在JavaScript中创建不同类型的MAP相关图表。 The compressed and minified version of this bundle has a size of 224.1 kB.
  • gl3dscatter: This bundle allows you to create different types of 3D maps using the scatter<code>scatter3d, scatter3d<code>surface, surface<code>mesh3d, and mesh3d
  • trace modules.该捆绑包的压缩和升级版本的大小为354 kb。
  • scatterscatterglpointcloud gl2d heatmapgl:此捆绑包包含 scatse <code>contourgl stactgl <code>parcoords pointcloud <codef> code> code> heatmapggl <code> heatmapggl <code> code code code 模块。它的尺寸为362.9 kb,缩小和压缩后。
  • scattermapbox scattermapbox:此捆绑包包含 scatse> scatse
  • scate> scattermapbox<li>trace模块。在这种情况下,文件大小为328.6 kb。<strong></strong><code>scatterbarhistogram finance pie:财务捆绑包可用于创建时间序列,烛台和其他图表类型来绘制财务数据。该模块由 scatter<code>ohlc bar <code>candlestick直方图 pie <li>,<code> ohlc <strong>和<code> candlestick 跟踪模块。

strict strict div strict strict

:严格的bundle bundle waster bundle waster ands unders conuctors却造成了一切。该捆绑包比标准捆绑包大10%,因此,除非您真的需要它。您需要做的第一件事是创建一个空图 div 元素,其中应绘制图形。<p>有一些要在图表上绘制的数据。在此示例中,我只是使用一些随机数来创建图表。最后,您必须调用<code>plot()>函数,并为其提供所有信息,例如容器div,数据和布局选项。这是创建一个非常基本的线图的代码:

npm install plotly.js<br>

plotly.js中的所有图表都是使用JSON对象声明创建的。图表的每个属性,例如其颜色和数据,都有一个相应的JSON属性,可用于完全自定义图表的外观和行为。

这些属性可以将其广泛分为两类。第一个被称为 traces ,它们是用于提供有关要在图表上绘制的单个数据的信息的对象。第二类是>布局,它提供了控制图表的所有其他方面(例如标题或注释)的不同属性。图表类型进一步分类了不同的迹线,并且可供您绘制图表的属性取决于> type 属性的值。 在上面的示例中,我们创建了一个存储您想要在图表上绘制的跟踪类型和数据的对象。以下CODEPEN演示显示了上述代码的最终结果。

traceA在演示中可以看到,您可以放大,缩小或自动尺度图表。您也可以将图表下载为图像。图表本身看起来非常专业。

使用Plotly.js创建交互式图表,第1部分:入门

布局属性可以在本系列的其余教程中自定义图表

,我们将专注于学习与线条和条形图(如线图和条形图)相关的不同属性。在此之前,您还应该有一些基本知识,可以对不同的布局属性进行一些基本知识,该属性控制所有图表类型(例如字体,标题,X轴,Y轴等)所共有的方面。

您可以指定一个全局字体,在创建轨迹和其他布局组件(如轴和标题)时应使用该全局字体。这些选项是使用font>对象指定的,默认情况下,图表的所有组件都使用这些值。 color>,sizefamily键位于font键内。您可以使用它们分别设置全局字体颜色,全局字体大小和全局字体家庭。

>

每个图表都有一个title属性,可用于设置当前图表的标题。它为用户提供了有关您在图表上绘制的内容的一些信息。可以使用titlefont>属性指定标题的字体属性。就像globalfont属性一样,可以使用嵌套在color>属性内的sizefamily>键来控制标题的字体相关属性。titlefont

width>您可以使用height>>> and>> and> and> and> and> and> and> and and and and and and and and and and> geys指定图表中图表的宽度和高度。您还可以使用嵌套在margin键下的不同属性来控制图表周围的间距以及绘图区域。所有值均在像素中指定。

>

>使用l>属性,使用r>属性的右边缘指定左边边缘,使用t属性的最高边距和使用b> attribute的最高边距。默认情况下,绘图区域和轴线非常接近。您可以使用嵌套在键内的pad属性周围添加一些空间。填充物以像素指定,其默认值为零。margin

您可以为整个图表的背景以及绘图区域选择自己的颜色,以匹配网站的主题。这两种颜色默认情况下均设置为白色,但是您可以分别使用

paper_bgcolor键为每个颜色指定每个颜色的不同值。plot_bgcolor>

您也可以为图表中所有轴指定标题和不同的字体属性。字体属性嵌套在相应轴的轴键内。您还可以独立地控制轴的基本颜色,以及用于其标题的字体的颜色。

rangemode有时,将点绘制在图表上的点不会一直降低到零。在这种情况下,绘制在轴上创建的壁虱也不会扩展到零。但是,如果您希望滴答始终从零开始,无论绘制的要点范围如何,都可以使用tozero>属性,并将其值设置为

>。

npm install plotly.js<br>
使用Plotly.js创建交互式图表,第1部分:入门>以下代码snippet使用了一些属性,使用了我们刚刚讨论的一些属性,以修改我们在上一节中创建的图表的外观。教程,您了解了plotly.js库的各种功能。我还介绍了库的安装和使用以及不同的布局属性,以根据您的需要自定义图表的外观。

>这篇文章已通过雅各布·杰克逊(Jacob Jackson)的贡献进行了更新。雅各布是网络开发人员,技术作家,自由职业者和开源贡献者。

以上是使用Plotly.js创建交互式图表,第1部分:入门的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
从网站到应用程序:JavaScript的不同应用从网站到应用程序:JavaScript的不同应用Apr 22, 2025 am 12:02 AM

JavaScript在网站、移动应用、桌面应用和服务器端编程中均有广泛应用。1)在网站开发中,JavaScript与HTML、CSS一起操作DOM,实现动态效果,并支持如jQuery、React等框架。2)通过ReactNative和Ionic,JavaScript用于开发跨平台移动应用。3)Electron框架使JavaScript能构建桌面应用。4)Node.js让JavaScript在服务器端运行,支持高并发请求。

Python vs. JavaScript:比较用例和应用程序Python vs. JavaScript:比较用例和应用程序Apr 21, 2025 am 12:01 AM

Python更适合数据科学和自动化,JavaScript更适合前端和全栈开发。1.Python在数据科学和机器学习中表现出色,使用NumPy、Pandas等库进行数据处理和建模。2.Python在自动化和脚本编写方面简洁高效。3.JavaScript在前端开发中不可或缺,用于构建动态网页和单页面应用。4.JavaScript通过Node.js在后端开发中发挥作用,支持全栈开发。

C/C在JavaScript口译员和编译器中的作用C/C在JavaScript口译员和编译器中的作用Apr 20, 2025 am 12:01 AM

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。 1)C 用于解析JavaScript源码并生成抽象语法树。 2)C 负责生成和执行字节码。 3)C 实现JIT编译器,在运行时优化和编译热点代码,显着提高JavaScript的执行效率。

JavaScript在行动中:现实世界中的示例和项目JavaScript在行动中:现实世界中的示例和项目Apr 19, 2025 am 12:13 AM

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

JavaScript和Web:核心功能和用例JavaScript和Web:核心功能和用例Apr 18, 2025 am 12:19 AM

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

了解JavaScript引擎:实施详细信息了解JavaScript引擎:实施详细信息Apr 17, 2025 am 12:05 AM

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

Python vs. JavaScript:学习曲线和易用性Python vs. JavaScript:学习曲线和易用性Apr 16, 2025 am 12:12 AM

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

Python vs. JavaScript:社区,图书馆和资源Python vs. JavaScript:社区,图书馆和资源Apr 15, 2025 am 12:16 AM

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中