我想描绘一个图表,它是一些值的幂,以一种连续的方式.

f <- function(x) {
  return (x^(1/3))
}  

ggplot(data.frame(x=seq(-5,5,length.out=10)), aes(x)) +
  stat_function(fun=f) 

这只显示x > 0的值,但如果我使用在线图形工具Desmos,它也会显示x < 0的值.在交互式会话中,-3^(1/3)返回-1.44225.

为什么R省略它,我怎么也能描绘负的x值呢?

enter image description here

推荐答案

负数的分数次方是复数.如果要在绘图中包含这些组件,可以分别显示虚部和实部:

real_part <- function(x) {
  Re(complex(length(x), x, 0)^(1/3))
}

imaginary_part <- function(x) {
  Im(complex(length(x), x, 0)^(1/3))
}

为了清楚起见,我们可以使用标签进行绘制:

library(geomtextpath)
#> Loading required package: ggplot2

ggplot(data.frame(x = seq(-5, 5, length.out = 10)), aes(x)) +
  stat_function(fun = real_part, aes(label = "Real part"), geom = "textpath",
                hjust = 0.8, vjust = -0.2, size = 6) +
  stat_function(fun = imaginary_part, color = "red", linetype = 2, hjust = 0.2,
                aes(label = "Imaginary part"), geom = "textpath", vjust = -0.2,
                size = 6) +
  theme_minimal(base_size = 20)

enter image description here

创建于2022-11-20,共reprex v2.0.2

R相关问答推荐

如何计算前一行的值,直到达到标准?

如果行和大于值,则过滤

如何在R中添加截止点到ROC曲线图?

如何将dygraph调用到R Markdown作为一个shiny 的react 对象的参数?

基于多列将值链接到NA

在某些栏和某些条件下,替换dfs列表中的NA

par函数中的缩写,比如mgp,mar,mai是如何被破译的?

R Select()可以测试不存在的子集列

用两种 colored颜色 填充方框图

识别连接的子网(R-igraph)

将箭头绘制在图形外部,而不是图形内部

我如何go 掉盒子图底部的数字?

R中治疗序列的相对时间指数

R基于变量组合创建新的指标列

如何将EC50值绘制在R中的剂量-react 曲线上?

将仪表板中的值框大小更改为Quarto

在shiny /bslb中,当卡片是从json生成时,如何水平排列卡片?

通过判断行的值将数据从宽格式转换为长格式

判断R中多个数据帧中的公共ID

根据R中的值将多列折叠为一列