标签: plotmath

调整font.lab以获得plotmath表达式的粗体?

使用以下代码,xlab将是粗体但是ylab不是.请你帮助我好吗

pdf()
par(font.axis=2, font.lab=2, cex.lab=1.2, cex.axis=1.2, cex.sub=1.2,
    mfrow=c(2,2), mar = c(5,6,3,1) + 0.1)
hist(ADAM, axes=F, main="", ylim=c(0,1000000), xlab="",
     ylab= expression(paste("number(",x10^6,")",sep="")))
axis(1,at=seq(0,1,0.2), labels=seq(0,1,0.2))
axis(2, at=seq(0,1000000,500000), labels=seq(0,1, by=0.5), las=2)
dev.off()
Run Code Online (Sandbox Code Playgroud)

谢谢

r plotmath

6
推荐指数
1
解决办法
3402
查看次数

R:Plot中的高级图例

这是这个问题的后续问题: 如何在`bquote`表达式中使用`text`?

但现在我把它放在一个传奇中,这似乎改变了事情.

我尝试了以下方法:

test<-c(10:1)
dummy1<-0.004323423
dummy2<-0.054
dummy3<-0.032
plot(test,c(1:10))
legend("topright", 
 legend=c(bquote(Qua_0,99^normal == .(round(dummy1,4))),bquote(Qua_0,95^normal == .(round(dummy2,4))),bquote(Qua_0,99^t == .(round(dummy3,4)))),
 bty = "n",lwd=2, cex=1, col=c("red","black","darkgreen"), lty=c(1,3,5))
Run Code Online (Sandbox Code Playgroud)

所以,我想拥有

  1. 表达式正确,因此正确写入了索引0,95以及幂^ correclty

  2. 等号后的换行符

  3. 彩色文字,与lign相同,所以第一个是红色的

我试图实现现有帖子的答案,但我没有想出来,顶部也没有用.

plot expression r legend plotmath

6
推荐指数
2
解决办法
3209
查看次数

R/ggplot2:评估表达式内的对象

示例代码:

rsq <- round(cor(mtcars$disp, mtcars$mpg)^2, 2) # rsq = 0.72

ggplot(mtcars, aes(x = disp, y = mpg)) +
  geom_point() +
  geom_smooth(method = lm, aes(color = "Linear")) +
  scale_color_discrete(labels = expression(paste("R"^2, " = ", rsq)))
Run Code Online (Sandbox Code Playgroud)

我希望将图例显示为R² = 0.72.
我知道我可以使用unicode符号来获取上标,但总的来说我认为必须有一种方法来组合数学表达式和存储在对象中的计算值.

我试图玩eval和各种组合paste,但似乎我一直在遇到同样的问题.

编辑#1:
我试着使用bquote按照这个答案是这样的:

scale_color_discrete(labels = bquote(R^2 == .(rsq)))

原来只会将图例渲染为==.

编辑#2:
即使下面的答案有效,似乎......对于更复杂的表达式来说非常不方便,比如:

我仍然希望有一个更简单的解决方案.

r ggplot2 plotmath

6
推荐指数
1
解决办法
1158
查看次数

使用注释向ggplot2添加粗体女性符号

我试图在我的情节中使用女性符号♀.它非常微弱(嗯,它在我的实际图形上看起来很微弱),所以我希望能让它变得大胆.

df <- data.frame(x = c(0, 1), y = c(0, 1))
ggplot(df, aes(x, y)) + geom_point() +
   theme_bw() +
   annotate("text", x = 0.5, y = 0.7, label = "2016 ?", 
   size = 7, hjust = 0, colour = "grey50")
Run Code Online (Sandbox Code Playgroud)

情节与微弱的女性符号

我尝试了以下,但似乎没有工作:

ggplot(df, aes(x, y)) + geom_point() +
   annotate("text", x = 0.5, y = 0.7, label = "2016~bold(?)", 
   size = 7, hjust = 0, parse = TRUE) 

# error message: Error in parse(text = as.character(lab)) : <text>:1:11: unexpected '<'
#1: 2016~bold(<
              ^ …
Run Code Online (Sandbox Code Playgroud)

fonts r ggplot2 plotmath

6
推荐指数
1
解决办法
2296
查看次数

通过表达式生成时如何在ggplot2中对齐标题和副标题

我正在使用下面的代码生成一个简单的箱线图ggplot2

# Libs data
data("mtcars"); require(ggplot2); require(ggthemes)
# Chart
ggplot(data = mtcars) +
  geom_boxplot(aes(y = wt, x = as.factor(am)),
               fill = "gray87") +
  xlab("AM") +
  ylab("WT") +
  theme_gdocs() +
  ggtitle("WT by AM") +
  theme(axis.title.y = element_text(angle = 90),
        axis.ticks = element_line(colour = "black", linetype = "solid",
                                  size = 0.5),
        panel.grid = element_line(colour = "gray"))
Run Code Online (Sandbox Code Playgroud)

生成的图表相当简单: 第一张图表

任务

我想为我的图表添加一个副标题,并对它的呈现方式进行一些控制。我正在关注此讨论并使用代码:

# Chart
ggplot(data = mtcars) +
  geom_boxplot(aes(y = wt, x = as.factor(am)),
               fill = "gray87") +
  xlab("AM") +
  ylab("WT") …
Run Code Online (Sandbox Code Playgroud)

charts r ggplot2 boxplot plotmath

5
推荐指数
1
解决办法
7407
查看次数

r ggplot 动态使用plotmath 表达式

我想使用 ggplot 动态更改轴标签。下面的代码是我想要做的事情的简单版本。它在 y 轴上正确显示度数符号。注释掉的 ylab 代码行是我想做的但失败了。我想创建绘图代码,将其分配给一个变量(例如 yLabel),然后让 ggplot 解释它。

library(data.table)
library(ggplot2)

DT <- data.table(timeStamp=c(1:12), ColN1=runif(12, 0, 10))
DT.long <- data.table::melt(
  DT, id.vars = c("timeStamp"))

yLabel <- "Temperature~(~degree~F)"
yLabel1 <- expression("Temperature~(~degree~F)")

p <- ggplot(data = DT.long, aes(x = timeStamp, y = value)) + 
  xlab("Time") + 
  #    ylab( expression(paste("Value is ", yLabel,","))) +
#  ylab(yLabel) +
#  ylab(yLabel1) +
  ylab(Temperature~(~degree~F)) +

    scale_y_continuous() +
  theme_bw() +
  geom_line()
print(p)
Run Code Online (Sandbox Code Playgroud)

r ggplot2 plotmath

5
推荐指数
1
解决办法
1136
查看次数

使用 expression() 在 R 中标记时如何制作连字符而不是减号?

expression()在我的绘图的 x 轴标签中使用在我的度量名称上创建一个平方根符号,以指示数据已使用平方根转换进行了转换。但是,我的度量名称(“CES-D”)中有一个连字符。当我把它写在 中时expression(),连字符变成一个减号或短划线字符,周围有空格。

qplot(1:10, 1:10) + 
    labs(x = expression(sqrt(CES-D~scores)), 
         y = "CES-D scores")
Run Code Online (Sandbox Code Playgroud)

x 和 y 轴标签中的连字符不同

请注意,x 轴和 y 轴标签中的连字符是不同的。在 x 轴标签中,它看起来像“CES 减去 D 分数”的平方根。

如何在expression()for 文本中创建常规连字符?

label r ggplot2 plotmath

5
推荐指数
1
解决办法
1997
查看次数

在r中使用atop函数时获得恒定的文本大小

下面是我编写的复杂自定义函数的一个简单得多的示例。在这个函数的全长形式中,

  • "layer1"对应于caption用户输入,
  • "layer2" 对应于统计测试的结果,并且
  • "layer3" 对应于有关执行的统计测试的详细信息。

但是当所有三层都包含在标题中时,它看起来像这样 -

library(ggplot2)

ggplot(iris, aes(Species, Sepal.Length)) +
  geom_boxplot()  +
  labs(caption = substitute(atop(substitute(
    atop("layer1", "layer2")
  )
  , "layer3")))
Run Code Online (Sandbox Code Playgroud)

reprex 包(v0.2.1)于 2018 年 11 月 9 日创建

所以我想找出一种方法可以使所有三层文本大小保持不变。我实际上不确定为什么在这种情况下文本大小会自动更改。

有什么办法可以防止这种情况发生吗?

r ggplot2 plotmath tidyverse

5
推荐指数
1
解决办法
301
查看次数

防止在ggplot2中居中多层标题

这是我上一个问题的第 2 部分(在 r 中使用 atop 函数时获得恒定的文本大小)。

现在问题涉及如何防止plotmath文本居中以避免额外的间距(此处以黄色突出显示)。我希望所有内容都与情节的右侧对齐。

(不幸的是,我不能代替substituteexpression如果这就是您的建议将是。)

有什么建议?

library(ggplot2)

ggplot(iris, aes(Species, Sepal.Length)) +
  geom_boxplot()  +
  labs(caption = substitute(atop(
    atop(
      displaystyle("layer1 is small"),
      displaystyle("layer2 is a bit longer")
    ),
    "layer3 is super-duper longgggggggg"
  )))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

r ggplot2 plotmath

5
推荐指数
1
解决办法
96
查看次数

地图轴标签中的度数符号不正确

如果我使用 来创建地图geom_sf,轴标签的度数符号是错误的。我得到的度数符号在文本中垂直居中,而不是像上标一样凸起。

例如,

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

ggplot() +                                             
  geom_sf(data = nc) +
  theme(axis.text = element_text(size=16))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

当我在网上看到示例时,它们通常看起来是正确的(例如下图,从这里复制),所以我猜这与我本地设置中的某些内容有关。

在此处输入图片说明

我曾尝试更改字体,使用library(extrafont)但这个问题仍然存在于我尝试的每种字体中。

更新

我不认为这是一个特定ggplot-问题,因为我得到同样的事情与使用任何图形degree关键字plotmath。例如

par(mar=c(0,0,0,0))
plot.new()
text(0.5,0.5, bquote(120*degree*N), cex=5)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我在Linux(Kubuntu 19.04), R3.5.2, ggplot2v. 3.2.1, sfv. 0.7-7。不确定还有哪些其他信息可能相关,但我可以用其他任何要求更新答案。

r ggplot2 plotmath

5
推荐指数
2
解决办法
584
查看次数

标签 统计

plotmath ×10

r ×10

ggplot2 ×8

boxplot ×1

charts ×1

expression ×1

fonts ×1

label ×1

legend ×1

plot ×1

tidyverse ×1