簡體   English   中英

如何格式化ggplot2中的標題

[英]How to format the title in ggplot2

我有一個名為“ catch”的數據,觀察結果是:

x  y
0.50 3.66
0.63 3.95
0.77 5.82
0.92 7.38
1.07 8.58
1.24 9.31
1.42 9.52
1.61 9.52
1.81 9.58
2.04 9.54
2.29 9.56
2.56 9.44
2.87 9.07
3.21 8.61
3.61 7.92
4.09 7.04
4.67 5.93
5.43 4.52
6.52 2.90
8.43 0.63

我在R中使用了以下代碼:

library(ggplot2)
ccplot <- ggplot(data = catch, aes(x = x, y = y)) +
          geom_point(shape = 19, colour = "#0072B2")

ccplot <- ccplot + geom_abline(intercept = 14.58, slope = -1.85, col = "#D55E00")

ccplot2 <- ccplot + 
           xlab("time") + 
           ylab(expression(paste("ln[C(L1, L2)]/(", Delta, "t)")))

ccplot2 + ggtitle(expression(paste("Length-Converted Catch Curve\n(for Z=1.85; M(at 23"*degree*"C)=0.69; F=1.16; E=0.63"), hjust = 0))

當打印的圖形在數字23和度數符號之間有較大(較遠)的空間時,就會出現問題。

用上面的代碼打印的情節

如何格式化標題,以便空格消失? 還是有其他方法可以在ggplot2中完成正確的標題?

先感謝您。

在這種情況下,最好使用Unicode度數符號,而不是嘗試使用plotmath。

ccplot2 + ggtitle(expression("Length-Converted Catch Curve\n(for Z=1.85; M(at 23\u00B0C)=0.69; F=1.16; E=0.63)"), hjust=0)

您還可以使用atop()表達式進行布局

ccplot2 + ggtitle(expression(atop("Length-Converted Catch Curve","(for Z=1.85; M(at 23"~degree~"C)=0.69; F=1.16; E=0.63)")))

您的代碼正在發生的事情是,它正在打印第一個字符串(使用新行),然后在切換到帶度數的數學模式時,退出該字符串,並從兩行字符串的右側開始。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM