我在 R 中绘制了一个图表,但是斜体函数在主标题下非常令人沮丧:
Far Gardens 珊瑚礁遗址不同C. austriacus个体的地图绘制区域
任何帮助,将不胜感激。
您没有提供有关您的数据的任何信息,但如果问题是标题中的斜体,则此代码可能会有所帮助:
plot(rnorm(100), main = substitute(paste(italic('p value'), " = 0.01")))
另请参阅此问题。
我个人认为使用paste
构造 plotmath 表达式是“丑陋的”;这是一种更清楚地展示“干净”使用的替代方法expression
:
plot(rnorm(100),main=expression( italic(p~value) == 0.01 ))
使用的另一个原因expression
是它将被 Lattice 函数接受,而该substitute
方法不会:
xyplot(1~1,main=substitute( paste(italic('p value'), " = 0.01" )))
#Error in paste(italic("p value"), " = 0.01") :
# could not find function "italic"
expression()
如果在替代调用中使用它会成功,但在这种情况下它是多余的行李。我曾经向 Deepayan Sarkar 抱怨过,他的回答是substitute
返回一个未经评估的“呼叫”而不是一个真正的“表达”。
我认为其他用户已经回答了这个问题,但我发现它并没有那么简单和枯燥,并且建立在他们的输入之上,因为对于像你的示例中的长标题来说它变得很棘手。
这是我可以使用通用图为组合斜体/普通文本想到的最干净的代码行......让我知道它如何适用于您的数据(或任何阅读此内容并发现它不适用于某些图表的人,收件箱我,我喜欢学习,宁愿分享也不愿把它储存在我的脑袋里)
plot(1:10, main = expression('Mapped territories of different '*italic(C.~austriacus)*' individuals at the Far Gardens coral reef site'))
现在,要使用允许斜体或上标/下标文本(简单标签除外)的表达式或类似术语进行换行,您可以使用atop函数均匀地分隔超长标签。人们可能更喜欢使用预览应用程序进行最终编辑和标签,但如果您想在所有事情上坚持使用 R,您可以使用以下示例:
plot(1:10, main = expression(atop('Mapped territories of different '*italic(C.~austriacus), ' individuals at the Far Gardens coral reef site')))
这给出了: 带有长混合标题的情节
感谢@42-