博客
关于我
R语言绘制颜色变化的同心圆动图
阅读量:611 次
发布时间:2019-03-13

本文共 688 字,大约阅读时间需要 2 分钟。

绘制圆形热力图的代码整理解释

library(caTools);

x <- y <- seq(-4pi, 4pi, len=200);
r <- sqrt(outer(x^2, y^2, '+'));

image <- array(0, c(200, 200, 10));

for(i in 1:10) {
image[,,i] <- cos(r - (2pii/10))/r^{0.25};
}

write.gif(image, "dynamic_gir.gif", col="rainbow");

z <- read.gif("dynamic_gir.gif");
for(i in 1:10) {
image(z, image[,,i], breaks=(0:256)-0.5, asp=1);
}

解释:

  • 首先,创建了x和y的二维矩阵,范围为-4π到4π。
  • 计算二维半径矩阵r。
  • 初始化一个三维数组image,尺寸为200x200x10,以存储每个深度的图像。
  • 使用循环生成每个图像框架,通过调整循环变量i,实现圆形图的风格变化。
  • 调用write.gif生成图片并保存为"dynamic_gir.gif"。
  • 读取生成的图片文件,通过循环绘制动态效果,实现圆形图的流动效果。

进一步分析:

  • 调用cos函数,并通过调整参数实现不同效果:
    • 公式中的2π*i/10用于产生周期性变化,避免重复的效果。
    • 除以r^{0.25}的作用是拉伸纵向数据,使图像呈现优雅的圈圈结构。
  • 不同分母值将影响圈圈大小和间距:
    • 倍增分母将导致圈圈变圆润且间距变大。
    • 倍减分母则使圈圈变小并间距密集。

转载地址:http://sfjaz.baihongyu.com/

你可能感兴趣的文章
python-字符串
查看>>
Python-将二进制遮罩转换为多边形
查看>>
python-文件操作
查看>>
PYTHON-模块 sys os random shutil-练习
查看>>
Python-模块与包的管理
查看>>
PYTHON-模块定义 搜索路径
查看>>
Python-爬虫工程师-面试总结
查看>>
Python-类与文件读取结合
查看>>
python-类思想-实现简单增删查改
查看>>
python-网络编程
查看>>
python写入文件出现空行
查看>>
PYTHON-返回给定x的多边形路径的y坐标
查看>>
python-进程池与线程池,协程
查看>>
Python-通过函数传递变量
查看>>
Python内置函数详解——总结篇
查看>>
Python.对象集合中的标识.和散列
查看>>
Python.硒.拖放错误“AttributeError:move_to 需要 WebElement“
查看>>
Python内置函数详解
查看>>
Python/Kivy:从一个类调用函数到另一个类并在 Python 中显示小部件
查看>>
Python/Kivy:我可以在双击标签时调用函数吗
查看>>