【问题标题】:How can I change the x axis labels in this ggplot to their pi symbols?如何将此 ggplot 中的 x 轴标签更改为它们的 pi 符号?
【发布时间】:2020-05-22 21:53:35
【问题描述】:

我希望这张图的 x 轴标签为“0”、“π/2”、“π”、“3/2*π”、“2*π”

我不希望它们成为 0、1.57 的实际值。 3.14..等

但如果我尝试做类似labels = c(seq(0, 2*pi, pi/2)) 的事情,它会生成一个疯狂的图表,x 轴上没有 pi 值。


x <- seq(0,2*pi, 0.01)
y <- sin(x)

sin(pi)

ggplot() +

  geom_line(aes(x,y)) +

  scale_x_continuous(breaks  = c(seq(0, 2*pi, pi/2))) +

  theme_bw()

是否有其他函数可以改变 x 轴标签?

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    您只需将labels= 参数添加到您的x 刻度。这里我使用了 pi 的 unicode 符号,\u03C0 来表示可移植性:

    library(ggplot2)
    
    x <- seq(0,2*pi, 0.01)
    y <- sin(x)
    
    ggplot() +
     geom_line(aes(x,y)) +
     scale_x_continuous(breaks  = c(seq(0, 2*pi, pi/2)), 
                        labels = c("0", "\u03c0/2", "\u03c0", "3/2*\u03c0", "2*\u03c0")) +
     theme_bw()
    

    reprex package (v0.3.0) 于 2020-05-22 创建

    【讨论】:

    • 那么“\u03c0/”只是ggplot的“pi”符号的代码吗?
    • @dftag 不,它可能在您的系统上通过仅在字符串中包含 π 个字符来工作,但在 R 中,您可以通过执行 \u 后跟 4 位 unicode 值来访问大多数 unicode 字符.这不是 ggplot 甚至 R 独有的。Unicode 是编码扩展字符集的全球标准。当您在控制台中输入 "\u03c0"(包括引号)时,看看 R 中会发生什么。
    • 它成功了,并且做了我想做的事。谢谢您的回答!我不知道 unicode 存在,现在很高兴知道它确实存在。
    猜你喜欢
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 1970-01-01
    • 2021-08-28
    • 2018-02-06
    • 2021-11-14
    相关资源
    最近更新 更多