博客
关于我
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 subprocess Permission denied Errno 13
查看>>
Python subprocess.call - 将变量添加到 subprocess.call
查看>>
Python Subprocess.Popen 从一个线程
查看>>
Python subprocess.Popen 作为 Windows 上的不同用户
查看>>
Python subprocess.Popen() 等待完成
查看>>
Python Sympy模块NoConversion:收敛到根失败;请尝试n<;15或MaxSteps>;50
查看>>
python time模块
查看>>
Python Tkinter Multiple Windows 教程
查看>>
Python tkinter 中的多处理
查看>>
Python tweepy写入到sqlite3 db
查看>>
Python TypeError:格式字符串的参数不足
查看>>
Python UI自动化测试Page Objects企业级实战
查看>>
python谷歌翻译,2021年9月10日亲测可用,一次可以翻译十万,强烈star
查看>>
Python UI自动化测试数据驱动实战
查看>>
Python UI自动化测试集成UnitTest
查看>>
Python UI自动化测试集成UnitTest
查看>>
python unicode-escape
查看>>
Python unittest mock:是否可以在测试时模拟方法默认参数的值?
查看>>
Python unittest单元测试框架 TestSuite测试套件
查看>>
PYTHON调离线语音合成并实时播放
查看>>