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

echarts4r 教程1:Get Started

写在前面

本文为 R 语言 echarts4r 包的学习笔记。本着自己学习、分享他人的态度,分享学习笔记,希望能对大家有所帮助。软件可能随时更新,建议配合官方文档一起阅读。


目录

  • 1 Video & Article
  • 2 Your first plot
  • 3 Options
  • 4 Navigate options

官网教程:https://echarts4r.john-coene.com/articles/get_started

欢迎来到 echarts4r,让我们一起来探索一下这个包吧。

  1. echarts4r 包的所有函数都以 e_ 开头。
  2. 它所有的 Shiny 代理都以 _p 结尾。
  3. 所有 echarts4r 绘图均使用 e_charts 初始化。
  4. 所有函数都是 |> 友好的。
  5. 大多数函数都有以 _ 结尾的 escape hatches。

1 Video & Article

感谢 Sharon Machlis,提供了一个介绍 echarts4r 的精彩视频和文章。

视频:https://youtu.be/OBJxIWEFHdo

文章:https://www.infoworld.com/article/3607068/plot-in-r-with-echarts4r.html

2 Your first plot

让我们构建一个折线图,加载库并将数据通过管道传输到 e_charts。如果您对 |> 不满意,可以使用 e_charts(mtcars, wt)

# prepare data
df <- state.x77 |> 
  as.data.frame() |> 
  tibble::rownames_to_column("State")

library(echarts4r) # load echarts4r

df |> 
  e_charts(x = State) |> # initialise and set x
  e_line(serie = Population) # add a line
alt

如果您对裸列名称不满意,可以使用以 _ 结尾的 escape hatches。

df |> 
  e_charts_("State") |> 
  e_line_("Population")

最简单的方法是使用 |> 运算符添加绘图和选项。

df |> 
  e_charts(State) |> # initialise and set x
  e_line(Population) |>  # add a line
  e_area(Income) # add area
alt

3 Options

我们还可以改变线条,使它们变得 smooth

df |> 
  e_charts(State) |> # initialise and set x
  e_line(Population, smooth = TRUE) |>  # add a line
  e_area(Income, smooth = TRUE# add area
alt

让我们使用便捷函数 e_axis_labels 来标记轴。

df |> 
  e_charts(State) |> # initialise and set x
  e_line(Population, smooth = TRUE) |>  # add a line
  e_area(Income, smooth = TRUE) |>  # add area
  e_axis_labels(x = "State"# axis labels
alt

我们可以使用 13 个内置主题之一,请参阅 ?e_theme 获取完整列表,我们还将使用 e_title 添加标题。

df |> 
  e_charts(State) |> # initialise and set x
  e_line(Population, smooth = TRUE) |>  # add a line
  e_area(Income, smooth = TRUE) |>  # add area
  e_axis_labels(x = "State") |> # axis labels
  e_title("US States""Population & Income") |>  # Add title & subtitle
  e_theme("infographic"# theme
alt

图例和标题有点接近,让我们将图例移到画布的另一部分。

df |> 
  e_charts(State) |> # initialise and set x
  e_line(Population, smooth = TRUE) |>  # add a line
  e_area(Income, smooth = TRUE) |>  # add area
  e_axis_labels(x = "State") |> # axis labels
  e_title("US States""Population & Income") |>  # Add title & subtitle
  e_theme("infographic") |>  # theme
  e_legend(right = 0# move legend to the bottom
alt

添加一个 tooltip,其中有很多选项,这里我们使用 trigger = "axis" 来通过轴而不是单个数据点来触发 tooltip。

df |> 
  e_charts(State) |> # initialise and set x
  e_line(Population, smooth = TRUE) |>  # add a line
  e_area(Income, smooth = TRUE) |>  # add area
  e_axis_labels(x = "State") |> # axis labels
  e_title("US States""Population & Income") |>  # Add title & subtitle
  e_theme("infographic") |>  # theme
  e_legend(right = 0) |>  # move legend to the bottom
  e_tooltip(trigger = "axis"# tooltip
alt

最后,我们目前正在同一轴上绘制人口和收入,让我们通过为收入指定一个额外的轴,将它们分别放在各自的 y 轴上。

注意:双 y 轴是一个糟糕的主意,它仅用于演示目的。

df |> 
  e_charts(State) |> # initialise and set x
  e_line(Population, smooth = TRUE) |>  # add a line
  e_area(Income, smooth = TRUE, y_index = 1) |>  # add area
  e_axis_labels(x = "State") |> # axis labels
  e_title("US States""Population & Income") |>  # Add title & subtitle
  e_theme("infographic") |>  # theme
  e_legend(right = 0) |>  # move legend to the bottom
  e_tooltip(trigger = "axis"# tooltip
alt

4 Navigate options

echarts4r 是高度可定制的,有太多的选项,无法将它们全部硬编码在包中,但请放心;它们可用,并且可以传递给 ...。您将在官方文档中找到所有这些选项: https://echarts.apache.org/en/option.html

例如,tooltip 的文档如下所示:

alt

因此,如果我们想将 tooltip 更改为 axisPointer,我们可以通过将列表传递给 axisPointer 来实现。

df |> 
  e_charts(State) |> # initialise and set x
  e_line(Population, smooth = TRUE) |>  # add a line
  e_area(Income, smooth = TRUE) |>  # add area
  e_x_axis(name = "States") |>  # add x axis name
  e_title("US States""Population & Income") |>  # Add title & subtitle
  e_theme("infographic") |>  # theme
  e_legend(right = 0) |> # move legend to the bottom
  e_tooltip(
    axisPointer = list(
      type = "cross"
    )
  ) 
alt

一旦你意识到 R 中的 JSON ~= list,那就很容易了。

您已经了解了基础知识,请转到 advanced 部分或浏览网站以了解如何添加多个链接图表、在地球仪上绘图、使用 shiny 包等等。


--------------- 结束 ---------------

注:本文为个人学习笔记,仅供大家参考学习,不得用于任何商业目的。如有侵权,请联系作者删除。

alt

本文由 mdnice 多平台发布

相关文章:

echarts4r 教程1:Get Started

❝ 写在前面 本文为 R 语言 echarts4r 包的学习笔记。本着自己学习、分享他人的态度&#xff0c;分享学习笔记&#xff0c;希望能对大家有所帮助。软件可能随时更新&#xff0c;建议配合官方文档一起阅读。 目录 1 Video & Article 2 Your first plot 3 Options 4 Navigate…...

蚁群算法(Ant Colony Optimization, ACO)

简介 蚁群算法&#xff08;Ant Colony Optimization, ACO&#xff09;是一种基于自然启发的优化算法&#xff0c;由意大利学者马可多里戈&#xff08;Marco Dorigo&#xff09;在1992年首次提出。它受自然界中蚂蚁觅食行为的启发&#xff0c;用于解决离散优化问题。 在自然界…...

使用IDEA构建springboot项目+整合Mybatis

目录 目录 1.Springboot简介 2.SpringBoot的工作流程 3.SpringBoot框架的搭建和配置 4.用Springboot实现一个基本的select操作 5.SpringBoot项目部署非常简单&#xff0c;springBoot内嵌了 Tomcat、Jetty、Undertow 三种容器&#xff0c;其默认嵌入的容器是 Tomcat&#xff0c;…...

苹果系统中利用活动监视器来终止进程

前言 苹果系统使用的时候总是感觉不太顺手。特别是转圈的彩虹球出现的时候&#xff0c;就非常令人恼火。如何找到一个像Windows那样任务管理器来终止掉进程呢&#xff1f; 解决办法 Commandspace 弹出搜索框吗&#xff0c;如下图&#xff1a; 输入“活动”进行搜索&#xff…...

宝塔安装雷池网站防护

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、 加载镜像二、使用步骤三、如果启动不成三、 启动成功以后三、 进入雷池不知道密码 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a;…...

JavaScript完整原型链

在 JavaScript 中&#xff0c;每个函数都有一个prototype属性&#xff0c;这个属性是一个对象。当通过一个构造函数创建一个新的对象时&#xff0c;这个新对象会自动拥有一个内部属性[[Prototype]]&#xff08;在一些浏览器中可以通过__proto__访问&#xff0c;不过这是一个非标…...

Vue 内置组件 keep-alive 中 LRU 缓存淘汰策略和实现

LRU&#xff08;Least Recently Used&#xff0c;最近最少使用&#xff09;是通过记录缓存项的访问顺序来决定淘汰的策略&#xff1a;当缓存满时&#xff0c;移除最久未被使用的项。 核心概念&#xff1a; 缓存存储&#xff1a;使用 Map 存储键值对&#xff0c;用于快速访问缓…...

李宏毅机器学习课程知识点摘要(14-18集)

线性回归&#xff0c;逻辑回归&#xff08;线性回归sigmoid&#xff09;&#xff0c;神经网络 linear regression &#xff0c; logistic regression &#xff0c; neutral network 里面的偏导的相量有几百万维&#xff0c;这就是neutral network的不同&#xff0c;他是…...

《AI大模型开发笔记》Faster-Whisper 免费开源的高性能语音识别模型

1 Whisper模型&#xff0c;免费开源的语音识别模型 Whisper模型是OpenAI公开的语音识别模型。这是一个免费可商用的模型。 Whisper模型根据参数量来区分&#xff0c;有多个不同的版本&#xff0c;分别是tiny&#xff0c;base&#xff0c;small medium&#xff0c;large&#x…...

蓝队基础,网络七杀伤链详解

声明&#xff01; 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&#…...

golang开发一个海盗王的登录更新器

前段时间&#xff0c;用golang配合界面库govcl开发一个海盗王的登陆更新器&#xff0c;实现多区注册和文件更新分离不同服务器等新功能。 由于govcl没有更换皮肤的功能&#xff0c;界面都是默认&#xff0c;不好看。 找了很多go语言的gui库&#xff0c;都没有符合要求的。 后来…...

李宏毅机器学习课程知识点摘要(6-13集)

pytorch简单的语法和结构 dataset就是数据集&#xff0c;dataloader就是分装好一堆一堆的 他们都是torch.utils.data里面常用的函数&#xff0c;已经封装好了 下面的步骤是把数据集读进来 这里是读进来之后&#xff0c;进行处理 声音信号&#xff0c;黑白照片&#xff0c;红…...

003 STM32基础、架构以及资料介绍——常识

注&#xff1a; 本笔记参考学习B站官方视频教程&#xff0c;免费公开交流&#xff0c;切莫商用。内容可能有误&#xff0c;具体以官方为准&#xff0c;也欢迎大家指出问题所在。 01什么是STM32&#xff08;宏观&#xff09; STM32属于一个微控制器&#xff0c;自带了各种常用通…...

【大语言模型】ACL2024论文-20 SCIMON:面向新颖性的科学启示机器优化

【大语言模型】ACL2024论文-20 SCIMON&#xff1a;面向新颖性的科学启示机器优化 目录 文章目录 【大语言模型】ACL2024论文-20 SCIMON&#xff1a;面向新颖性的科学启示机器优化目录摘要研究背景问题与挑战如何解决创新点算法模型实验效果推荐阅读指数&#xff1a;★★★★☆ …...

开源可视化工具对比:JimuReport VS DataEase

在当今数据驱动的时代&#xff0c;高效的数据可视化工具成为企业洞察业务、做出决策的关键利器。那对于企业来讲如何选择BI产品呢&#xff1f; 在开源可视化工具的领域中&#xff0c;JimuReport和DataEase 以其独特的优势脱颖而出&#xff0c;究竟谁更胜一筹呢&#xff1f;让我…...

2024年亚太地区数学建模大赛A题-复杂场景下水下图像增强技术的研究

复杂场景下水下图像增强技术的研究 对于海洋勘探来说&#xff0c;清晰、高质量的水下图像是深海地形测量和海底资源调查的关键。然而&#xff0c;在复杂的水下环境中&#xff0c;由于光在水中传播过程中的吸收、散射等现象&#xff0c;导致图像质量下降&#xff0c;导致模糊、…...

shell与QQ邮箱的连接

1.下载软件&#xff1a;yum install s-nail 2.配置文件&#xff1a;vim /etc/s-nail.rc 末尾添加此三行&#xff0c;加入QQ邮箱和验证码 3.验证码位于QQ邮箱安全管理内&#xff0c;进行复制粘贴 4.测试发消息给本地邮箱&#xff1a;echo "要发送的内容" | mail …...

11.21 深度学习-tensor常见操作

import torch from PIL import Image from torchvision import transforms # 获取元素值 tensor.item() 返回一个数值 只能是tensor里面有一个数字的 # 我们可以把单个元素tensor转换为Python数值&#xff0c;这是非常常用的操作 # tensor 里面超过了1个数字就不行 def g…...

【MySQL课程学习】:MySQL安装,MySQL如何登录和退出?MySQL的简单配置

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;MySQL课程学习 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 MySQL在Centos 7环境下的安装&#xff1a; 卸载…...

基于官网的Vue-router安装(2024/11)

&#xff01;&#xff01;&#xff01;首先声明&#xff0c;官网很重要。其次&#xff0c;不知道为啥&#xff0c;我不会安装时看不懂官网&#xff0c;会了之后就能看懂了。 官网地址&#xff1a;https://router.vuejs.org/zh/guide/ 1.npm安装 npm install vue-router4 官方貌…...

未来已来:少儿编程竞赛聚焦物联网,激发创新潜力

随着人工智能与物联网技术&#xff08;IoT&#xff09;的快速发展&#xff0c;少儿编程教育正在迎来新的变革浪潮。近年来&#xff0c;各类少儿编程竞赛纷纷增加了物联网相关主题&#xff0c;要求学生结合编程知识和硬件设备设计智能家居、智慧城市等创新项目。这一趋势不仅丰富…...

archlinux安装waydroid

目录 参考资料 注意 第一步切换wayland 第二步安装binder核心模组 注意 开始安装 AUR安裝Waydroid 启动waydroid 设置网络&#xff08;正常的可以不看&#xff09; 注册谷歌设备 安装Arm转译器 重启即可 其他 参考资料 https://ivonblog.com/posts/archlinux-way…...

Oralce数据库巡检SQL脚本

文章目录 Oralce数据库巡检SQL脚本1 检查表空间使用情况2 检查是否有 offline 状态的表空间3 在线日志是否存在小于 50M 的及状态不正常4 检查锁阻塞5 查看是否有僵死进程6 检查是否有失效索引7 检查不起作用的约束8 缓冲区命中率9 数据字典命中率10 库缓存命中率11 内存中的排…...

CentOS使用中遇到的问题及解决方法

一、CentOS 7网络配置&#xff08;安装后无法联网问题&#xff09; 现象说明 在安装CentOS系统后&#xff0c;有可能出现无法联网的问题&#xff0c;虚拟机中的网络配置并没有问题&#xff0c;而系统却无法联网,也ping不通。 原因描述 CentOS默认开机不启动网络&#xff0c;因…...

ThinkPad t61p 作SMB服务器,打印服务器,pc ,android ,ipad利用此服务器互传文件

1.在t61p上安装win7 2,配置好smb 服务 3.再安装好打印驱动程序 4.pc与win7利用系统的网络互相发现,映射为硬盘使用。 5.android&#xff0c;ipad安装ES文件浏览器访问win7 共享文件夹&#xff0c;互传文件。 6.android手机安装FE文件浏览器&#xff0c;可以利用花生壳外网…...

php:使用Ratchet类实现分布式websocket服务

一、前言 最近需要做一个有关聊天的小程序&#xff0c;逻辑很简单&#xff0c;所以不打算用Swoole和workerman之类的&#xff0c;最后选择了Ratchet&#xff0c;因为简单易用&#xff0c;适合小型websocket服务。 二、问题 但是目前我的项目是分布式环境&#xff0c;统一通过Ng…...

储能场站安全风险挑战

电化学储能目前最大的痛点问题就是安全问题&#xff0c;制约了储能行业的发展。 首先&#xff1a;锂作为最活泼的金属加上有机溶剂的电解液&#xff0c;安全性天生就差。基因不行。 其次储能系统的BMS对电池管理相对粗放&#xff0c;不足以保证锂电池的安全运行。 当前储能产业…...

Ubuntu系统为同一逻辑网口配置不同网段的IP

近期遇到一个问题&#xff1a;机载计算机的载版上有两个网口&#xff0c;但是这两个网口本质上是一个独立网口一个交换机&#xff0c;即对于机载计算机而言这两个物理网口是同一个逻辑网口。但是我需要将这两个网口分别连接到两个设备&#xff0c;并配置不同网段的IP&#xff0…...

MySQL出现Waiting for table metadata lock的原因以及解决方法(已亲测)

参考&#xff1a;MySQL出现Waiting for table metadata lock的原因以及解决方法 - digdeep - 博客园 当对表执行truncate\drop 操作时&#xff0c;会出现一直处于等待的状态&#xff0c;通过show processlist可以看到TableA停滞在Waiting for table metadata lock的状态。kill…...

学会Lambda,让程序Pythonic一点

Lambda是Python里的高阶用法&#xff0c;要把代码写得Pythonic&#xff0c;就需要了解这些高阶用法&#xff0c;想说自己是一名真正的Python程序员&#xff0c;先要把代码写得Pythonic。 今天聊下Lambda的用法&#xff0c;写篇简短的用法说明。 Lambda是匿名函数的意思&#…...