gpt4 book ai didi

r - 在 R 中绘制一颗心

转载 作者:行者123 更新时间:2023-12-03 07:21:44 25 4
gpt4 key购买 nike

Possible Duplicate:
Equation-driven smoothly shaded concentric shapes

如何在 R 中绘制对称的心形,就像绘制圆形(使用plotrix)或矩形一样?

我想要这方面的代码,这样我就可以真正为自己做这件事,并能够将其推广到类似的 future 需求。我见过比这更复杂的情节,所以这是相当可行的,只是我缺乏这样做的知识。

最佳答案

这是绘制“参数方程”的示例,即共享公共(public)参数的 x 和 y 的两个独立方程的配对。您可以找到许多可以在这样的框架内编写的常见曲线和形状。

dat<- data.frame(t=seq(0, 2*pi, by=0.1) )
xhrt <- function(t) 16*sin(t)^3
yhrt <- function(t) 13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t)
dat$y=yhrt(dat$t)
dat$x=xhrt(dat$t)
with(dat, plot(x,y, type="l"))

Other Parametric (and implicit and polar) Heart Eqns

您还可以使用polygon 函数的“填充”功能来“加热它”:

with(dat, polygon(x,y, col="hotpink"))   

如果您只是想让小心形散布在各个地方,您可以在查看 help(points) 页面并使用 后使用“heart”的符号字体版本TestChars 函数:

points(c(10,-10, -15, 15), c(-10, -10, 10, 10), pch=169, font=5)

enter image description here

Windows 用户可能想看看添加 Cairo 包是否有助于访问包括“红心”在内的卡片符号。(当我在 MacPro 的 WinXP“一侧”测试 TestChars 功能时,我没有获得红心,并且翻页MS-Word 中的“特殊符号”没有发现任何内容。所以我搜索了 Rhelp,发现了 Ivo Welch 最近的帖子。他报告了一个错误,但它们在我的机器上看起来没问题。)进一步说明...我认为他的红心和钻石代码颠倒了。

library(Cairo)

clubs <- expression(symbol('\247'))
hearts <- expression(symbol('\251'))
diamonds <- expression(symbol('\250'))
spades <- expression(symbol('\252'))
csymbols <- c(clubs, hearts, diamonds, spades)

plot( 0, xlim=c(0,5), ylim=c(0,2), type="n" )
clr <- c("black", "red", "red", "black")
for (i in 1:4) {
hline <- function( yloc, ... )
for (i in 1:length(yloc))
lines( c(-1,6), c(yloc[i],yloc[i]), col="gray")
hline(0.9);
hline(1.0);
hline(1.1);
hline(1.2)
text( i, 1, csymbols[i], col=clr[i], cex=5 )
text( i, 0.5, csymbols[i], col=clr[i] ) }

# Also try this
plot(1,1)
text(x=1+0.2*cos(seq(0, 2*pi, by=.5)),
y=1+0.2*sin(seq(0, 2*pi, by=.5)),
expression(symbol('\251') ) )

enter image description here

关于r - 在 R 中绘制一颗心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com