哟库(Julia打造可视化万花筒,比Python来得更炫酷)
Julia官方迭代几乎日更。Julia的框架库也是频繁更新,就拿之前介绍过的 Flux.jl 来说,也在最近发布了新版。Julia在国外已然是一枚新宠,而国内的资料却相对较少。这么优秀的一门科学计算语言实在不容错过。尤其性能如此出色,兼顾简单易学,不必像很多项目一开始图简单用Python,遇到性能瓶颈又换C++。在之前的例子里我们介绍了关于Julia数据可视化的简洁易用。如下:
这篇主要介绍Julia万花筒可视化,要用到一个R包frak,介绍如下。
安装frak包
场景描述,在测试软件的时候最快速的生成测试可视化,需要满足点如下:
- 快速生成
- 要生动有趣,而不仅仅是白噪点
- 每像素8位, 而这个值可以放到R原始向量或C的uint8_t向量
- 可平移、缩放、并且随着输入变量发生简单的改变
安装也非常方便,从Github上直接拉,如下:
# install.package('remotes')remotes::install_github('coolbutuseless/frak')
生成Julia数据集
生成Julia的数据集,cx和cy作为迭代变量c的组件,如下:
julia(cx, cy, movex, movey, zoom, size, max_iter)
返回的原始值数组表示特定位置转向无穷大时的迭代计数,这些值被缩放到原始向量允许的全部范围(即0到255的整数)。
library(frak)fractal <- julia(cx = -0.7, cy = 0.27, zoom = 1, size = 400, max_iter = 255)mode(fractal) <- 'integer'plot(as.raster(fractal/255))
为图上翠绿色
直接看代码,如下:
library(viridisLite)# 生成不规则fractal <- julia(cx = -0.74, cy = 0.17, zoom = 3, size = 400, max_iter = 100)mode(fractal) <- 'integer'# Grab a palette from viridispal <- rev(viridisLite::viridis(256))# Recode the values with the palette. Lowest raw value is 0, so offset by 1.fractal_raster <- fractalfractal_raster[] <- pal[fractal_raster + 1]plot(as.raster(fractal_raster))
多帧动态程序
在C中创建一个julia集合比使用普通的R快100倍。
suppressPackageStartupMessages({ library(Julia) library(frak) library(ggplot2) library(dplyr) library(tidyr)})size <- 400# Julia::JuliaImageJuliaImage does at most 50 iterationsres <- bench::mark( `Julia::JuliaImage()` = Julia::JuliaImage(imageN = size, centre = 0.0, L = 4, C = 1-1.6180339887), `frak::julia()` = julia(size = size, max_iter = 50), check = FALSE)
⚠️警告:一些表达式在每次迭代中都有一个GC,所以过滤是禁用的。
彩蛋
最后附上我整理的Julia学习路线图,我会不定期的分享Julia系列。
对金融科技、人工智能感兴趣的小伙伴记得关注我哟~
参考:
mandelbrot 生成视图(https://cran.r-project.org/package=mandelbrot)
一个纯Julia集的生成器(https://cran.r-project.org/package=Julia)
https://coolbutuseless.github.io/2020/07/16/introducing-frak-a-julia-set-fractal-generator
-
阿里国际站(“死守”阿里巴巴国际站)
2024-05-26
-
淮海经济区(淮海经济区三个主要经济城市数据,徐州规模大,济宁扎实临沂活跃)
2024-05-26
-
吴江市(12个版聚焦吴江经验,全国分享)
2024-05-26
-
书法学习(掌握深入临帖的关键,学书法便可豁然开朗)
2024-05-26
-
布政(清代此省份是个特例,不仅有两个布政使,而且还有两个省会)
2024-05-26
-
519是什么意思(你知道中国旅游日为什么定在“5·19”吗?)
2024-05-26