标签: plotmath

R图的传说中的多个bquote项

以下作品,(复制并粘贴到R中)

a=123
plot(1,1)
legend('bottomleft',legend=bquote(theta == .(a)))
Run Code Online (Sandbox Code Playgroud)

我想在图例中有多个项目.全部都带有希腊字母.举个简单的例子,如果我重复两次这个项目,代码就不再起作用了

a=123
plot(1,1)
legend('bottomleft',legend=c(bquote(theta == .(a)),bquote(theta == .(a))))
Run Code Online (Sandbox Code Playgroud)

我尝试过更复杂的表达式,但它们都没有用.

任何帮助将不胜感激.

plot r legend plotmath

11
推荐指数
1
解决办法
7187
查看次数

使用表达式时在轴标签上的间距(粘贴(...))

请考虑以下示例:

plot(c(2,4,6)~c(1,2,3),xlab="x",
ylab=expression(paste('flux (g ',CO[2]~m^{-2}~h^{-1},')')))
Run Code Online (Sandbox Code Playgroud)

显然我想要"g"和"CO"之间的完整空间,但由于某种原因,我在图形标签中得到一个更小的空间(有些标签甚至为零).

问题更加明显,如果我这样做:

plot(c(2,4,6)~c(1,2,3),xlab="x",
ylab=expression(paste('flux (g C',O[2]~m^{-2}~h^{-1},')')))
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?有没有办法修复间距甚至更好的方法来创建带有大量子/上标和希腊字母的标签?

r axis-labels plotmath

11
推荐指数
1
解决办法
9037
查看次数

如何在文本中使用多个等号(x,y,表达式(...))

是否有解决方案在表达式中使用多个等号(不在括号内)?我目前正在使用"=".但那不太好,因为==和"="在情节上看起来不同.

最小样本:

plot(0:5,0:5, type="n")
saleprice <- 35
revenue <- 98000
text(1, 2, 
     bquote(paste(R(x[G]) == .(saleprice)%.%x[G], " = ", .(revenue))))
Run Code Online (Sandbox Code Playgroud)

有关当前状态,请参见下图: 样本图像

我想使用类似的东西:

bquote(R(x[G]) == .(saleprice)%.%x[G] == .(revenue))
Run Code Online (Sandbox Code Playgroud)

但它会产生错误.

graphics plot expression r plotmath

11
推荐指数
1
解决办法
2174
查看次数

添加其他文本时R中的下标

如何在R中为标题的某个特定单词添加下标?例如,假设标题是"A_2 and B_2."如何添加这两个下标?我知道expression("A"[2])expression("B"[2])单独添加这些字母的下标.

r plotmath

10
推荐指数
2
解决办法
1万
查看次数

如何在图表标题或标签中加下划线?(GGPLOT2)

如果这是一个简单的问题,请原谅我的无知,但我似乎无法弄清楚如何强调情节标题的任何部分.我正在使用ggplot2.

我能找到的最好的是 手工制作的注释("段"),我创建了一个玩具图来说明它的方法.

df <- data.frame(x = 1:10, y = 1:10)

rngx <- 0.5 * range(df$x)[2]  # store mid-point of plot based on x-axis value
rngy <- 0.5 * range(df$y)[2]  # stores mid-point of y-axis for use in ggplot

ggplot(df, aes(x = x, y = y)) + 
  geom_point() +
  ggtitle("Oh how I wish for ..." ) +
  ggplot2::annotate("text", x = rngx, y = max(df$y) + 1, label = "underlining!", color = "red") +
  # create …
Run Code Online (Sandbox Code Playgroud)

plot r underline ggplot2 plotmath

10
推荐指数
1
解决办法
5195
查看次数

如何在`bquote`表达式中使用`text`表示新行?

我希望在我的bquote环境中有一个新的界限,我该怎么做?

我的代码:

test<-c(1,2,3,4,4.5,3.5,5.6)
test2<-0.033111111
plot(test,c(1:length(test)))

segments(4,0,4,23,col="red",lwd=2)
text(5, 4.5, labels = bquote(Qua[0.99] == .(round(test2,4))),col="red", cex = 1.4)
Run Code Online (Sandbox Code Playgroud)

我希望在等号后面有一个新行,所以这应该给:

VaR_0.99 =

0.03311

and not

    VaR_0.99 = 0.03311
Run Code Online (Sandbox Code Playgroud)

我尝试用线条,但它不起作用:

    test<-c(1,2,3,4,4.5,3.5,5.6)
    test2<-0.033111111
    lines<-list(bquote(Qua[0.99] == ),bquote(.(round(test2,4))))
    plot(test,c(1:length(test)))

    segments(4,0,4,23,col="red",lwd=2)
    text(5, 4.5, labels =lines ,col="red", cex = 1.4)
Run Code Online (Sandbox Code Playgroud)

r data-visualization plotmath

9
推荐指数
2
解决办法
5856
查看次数

在plotmath表达式中包含文本控制字符

有没有办法获取文本字符串的控制字符,例如在plotmath表达式中"\n"进行newline评估,反之亦然.在下面的例子中,我想结合:

  • 一些字符文字
  • 文本控制字符(换行符)
  • 替换变量名称
  • 包括plotmath表达式

在阅读完这个问题之后,我可以通过替代来获得大部分内容,但newline不会对角色进行评估.现在我转圈圈,并用自己的困惑plotmath,parse,bquotesubstitute.在plotmath 的帮助页面中,它说

与普通绘图不同,控制字符(例如\n)不会在plotmath中的字符串中解释.

这是否意味着它真的不可能?

lab = "some data"
form = "Exponential"
x = 1:10
y = x^2


plot( x , y , type = "b" )
title( main = substitute( paste( "Plot of " , phi , " of: "  , lab , "\nFunctional form: " , form ) , list(lab = lab , form = form …
Run Code Online (Sandbox Code Playgroud)

graphics plot expression r plotmath

8
推荐指数
2
解决办法
2788
查看次数

使用plotmath保持尾随零

我正在使用annotate()我的一个ggplot2图上覆盖文字.我正在使用该选项,parse=T因为我需要使用希腊字母rho.我想要文字说= -0.50,但是尾随的零被剪掉了,而我得到了-0.5.

这是一个例子:

library(ggplot2)
x<-rnorm(50)
y<-rnorm(50)
df<-data.frame(x,y)

ggplot(data=df,aes(x=x,y=y))+
geom_point()+
annotate(geom="text",x=1,y=1,label="rho==-0.50",parse=T)
Run Code Online (Sandbox Code Playgroud)

有谁知道我怎么能得到最后的0出现?我以为我可以这样使用paste():

annotate(geom="text",x=1,y=1,label=paste("rho==-0.5","0",sep=""),parse=T)
Run Code Online (Sandbox Code Playgroud)

但后来我得到了错误:

Error in parse(text = lab) : <text>:1:11: unexpected numeric constant
1: rho==-0.5 0
             ^
Run Code Online (Sandbox Code Playgroud)

r ggplot2 plotmath

8
推荐指数
1
解决办法
928
查看次数

使用ggplot2中的plotmath和百分号(%)

我想在ggplot2条形图的facet标签中使用希腊字符,拉丁字符和百分号.希腊字符可以使用'facet_grid(.~variable,labeller = label_parsed)'来完成:

    a<-c("Delta~V","VarcoV","Delta~V","VarcoV")
    b<-c(1,2,3,4)
    d<-c("one","one","two","two")
    mydata<-data.frame(cbind(b,a,d))
    ggplot(mydata,aes(x=d,y=b))+facet_grid(.~a, labeller=label_parsed)+geom_bar(stat="identity")
Run Code Online (Sandbox Code Playgroud)

现在我还要添加一个包含%和拉丁字符的构面标签:

    a<-c("Delta~V","VarcoV","%V","Delta~V","VarcoV","%V")
    b<-c(1,2,3,4,5,6)
    d<-c("one","one","one","two","two","two")
    mydata<-data.frame(cbind(b,a,d))
    ggplot(mydata,aes(x=d,y=b))+facet_grid(.~a, labeller= label_parsed)+geom_bar(stat="identity")
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误:

    Error in parse(text = x) : <text>:1:1: unexpected input
    1: %V
       ^
Run Code Online (Sandbox Code Playgroud)

任何想法如何包含百分号?

r bar-chart ggplot2 plotmath

8
推荐指数
1
解决办法
2788
查看次数

如何修复在 Linux/Fedora 31 上的 R 中未正确显示的度数符号

我制作的任何地图:

ggplot() + geom_sf()

生成预期的地图,但未正确显示度数符号,如下图所示。

带有错误度数符号的地图一角

这个答案中给出的答案 -地图轴标签中的度数符号不正确- 没有帮助,当我看到不同的标志时,我发布了一个单独的问题。

更改字体无济于事。

我还尝试sf在一个单独的项目中从 Github安装当前版本的(0.9) renv,但结果相同。

我在 Linux 上,Fedora 31。

复制:

library("ggplot2")
library("sf")
nc <- st_read(system.file("shape/nc.shp", package="sf"))

ggplot() +
  geom_sf(data = nc)
Run Code Online (Sandbox Code Playgroud)

2019-03-15 更新

该问题并非特定于 ggplot/geom_sf;正如评论中所建议的,我遇到了同样的问题plot.new(); text(0.5,0.5, bquote(120*degree*N), cex=5) 错误度数符号的附加示例

另外,澄清一下,我没有在?X11(). 如果我在我的终端中运行fc-match Symbol,我会得到:

StandardSymbolsPS.t1:“标准符号 PS”“常规”

更新 2019-03-19

在全新的 Fedora 31 和 Fedora 32 beta 安装中得到确认。可能是 Fedora 的问题。

我尝试使用不同的语言环境(包括例如“en_US.UTF-8”或“German”)和设备(例如cairo_pdf(), cairo_ps()),结果相同。

X11.options() 将“cairo”显示为类型(将其更改为 Xlib,或者 dbcairo 不会更改结果)。

使用TestChars()dww在下面的答案中提出的函数显示如下: 测试

但是,如果我用 knitr 编织到 pdf,我会得到大多数符号,包括°。

从pdf测试

如果我编织到 …

r pango plotmath pangocairo r-sf

8
推荐指数
2
解决办法
1161
查看次数