博客
关于我
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-queue队列通信
查看>>
python-ros No module named PyKDL
查看>>
python-social-auth 是否需要会话
查看>>
Python再获年度编程语言,微软或成最大赢家
查看>>
python-week5
查看>>
Python写表情包搜索工具(非常详细)零基础入门到精通,收藏这一篇就够了
查看>>
Python-【1】配置
查看>>
Python-从子文件夹执行绝对导入
查看>>
Python-刷新页面,直到元素可单击
查看>>
PYTHON-唤醒+VOSK+DEEPSEEK+离线合成-实现纯离线大模型问答
查看>>
Python-在Dash回调中重用函数
查看>>
PYTHON-基本数据类型-元祖类型,字典类型,集合类型
查看>>
python-外观模式
查看>>
Python-如何使用FastAPI和uvicorn.run而不阻塞线程?
查看>>
Python-字典
查看>>
python-字符串
查看>>
Python-将二进制遮罩转换为多边形
查看>>
python-文件操作
查看>>
PYTHON-模块 sys os random shutil-练习
查看>>
Python-模块与包的管理
查看>>