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

一行代码,将2D转3D图表!

本次分享一个R语言工具rayshader:

  • 一行代码,将ggplot2生成的2D图表转为非常酷炫的3D图表;
  • 强大3D地图支持,rayshader使用base R中的elevation data,以及hillshading等算法生成令人惊叹的2D和3D地图。

rayshader安装

官网推荐从github上安装:

该方法很慢,而且大概率会失败~

# install.packages("devtools")
devtools::install_github("tylermorganwall/rayshader")

小编这里强烈从CRAN安装

install.packages("rayshader")

rayshader支持ggplot2

主要使用plot_gg函数,一行代码,将ggplot2生成的2D图表转为非常酷炫的3D图表:

案例1

library(rayshader)
library(ggplot2)
library(tidyverse)

gg = ggplot(diamonds, aes(x, depth)) +
  stat_density_2d(aes(fill = stat(nlevel)), 
                  geom = "polygon",
                  n = 100,bins = 10,contour = TRUE) +
  facet_wrap(clarity~.) +
  scale_fill_viridis_c(option = "A")

# 以下一行代码将ggplot2 2D图转3D图
plot_gg(gg,multicore=TRUE,width=5,height=5,scale=250)

可使用render_snapshot函数截图,

或者使用render_movie函数保存为mp4或者gif,

更多案例,


rayshader支持2D/3D地图

主要使用plot_map函数,可以在地图中添加河流、光影、路径等等,支持多种配色盘,

一个案例,

 

更惊艳的效果:https://www.bilibili.com/video/BV1he4y1t7XP?spm_id_from=333.999.0.0

进一步学习:https://github.com/tylermorganwall/rayshader 

相关文章:

  • C++编程 杨辉三角详解
  • JavaScript 中的异步编程(上)
  • 【一起学数据结构与算法】快速教你了解并实现单链表
  • 用Pytorch实现一个线性回归
  • 【C++】二叉搜索树set/map
  • 最短路径查找Dijkstra算法
  • [数字媒体] Photoshop基础之图像校正、抠图(证件照)和融合
  • 【毕业设计】基于的单片机的移动硬盘设计与实现 - stm32 嵌入式 物联网
  • 使用Python的requests库发送SOAP请求,错误码415
  • Python爬虫技术系列-02HTML解析-lxml+BS4
  • 今日头条——机器学习算法岗1234面
  • 【笔记】快速理解傅里叶级数
  • 宣布发布 .NET 7 Release Candidate 1
  • 8万Star,这个开源项目有点强
  • 数据批处理速度慢?不妨试试这个
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • Angularjs之国际化
  • Date型的使用
  • es6要点
  • EventListener原理
  • IDEA常用插件整理
  • log4j2输出到kafka
  • nfs客户端进程变D,延伸linux的lock
  • PHP 7 修改了什么呢 -- 2
  • Puppeteer:浏览器控制器
  • SpiderData 2019年2月25日 DApp数据排行榜
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 创建一种深思熟虑的文化
  • 大快搜索数据爬虫技术实例安装教学篇
  • 计算机在识别图像时“看到”了什么?
  • 简单易用的leetcode开发测试工具(npm)
  • 免费小说阅读小程序
  • 浅谈Golang中select的用法
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • ​力扣解法汇总946-验证栈序列
  • #### go map 底层结构 ####
  • (1)SpringCloud 整合Python
  • (2)STM32单片机上位机
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (day 12)JavaScript学习笔记(数组3)
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)springboot教学评价 毕业设计 641310
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (四)Android布局类型(线性布局LinearLayout)
  • (四)鸿鹄云架构一服务注册中心
  • (算法)Game
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET成年了,然后呢?
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • ?
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成