2016-05-12 11 views
3

調整大小括號,我想我的軸標籤讀取類似在R的表達

(平方米)

用括號稍微大一點的高度來匹配標2,但括號仍然在線。

不過,我要麼得到過小括號,通過類似

parse(text='group("(",m^{2},")")') 

這將產生

small parentheses

,或者是太大,超出行括號,通過像

parse(text='bgroup("(",m^{2},")")') 

其中產生

large parentheses

我不能在R中做這個嗎?

更新:

按照用戶的建議@ 42-,我也試着scriptstyle。但是,這會使加括號的文本變得更小。鄰近的文字尤其引人注目。例如,

parse(text='Area~~(scriptstyle(m^{2}))')

會產生

scriptstyle ex1

我認識的解決辦法是使用類似

parse(text='scriptstyle(Area~~(m^{2}))')

這將產生

scriptstyle ex2

然後手動升級字體大小來補償,但是有沒有修復或替代方案,不需要這種猜測?

回答

6

你想要;

plot(1,1, main=parse(text='scriptstyle(bgroup("(",m^{2},")"))')) 

或許:

plot(1,1, main=parse(text='"("*scriptstyle(m^{2})*")"')) 

enter image description here

第三altermative是使用 「幻影()」,這將預留空間等同於它的參數。我發現,通過實驗,你可以得到括號中的那是不那麼「下降-FUL」使用:

plot(1,1, main=parse(text='"("*phantom(m^2)*")"') ,cex.main=1.6) 

然後在縫隙填充:

title(main=expression(m^2)) 

enter image description here

它進一步需要進行調整,可以用文本行的單位來調整相對於「框」的文本的級別title(main= <expression> , line= 2.5)

plot(1,1) ; title(main=expression(Area(phantom(" "))) ,cex.main=1.5, line=1.5) 
title(main=expression(phantom('Area(')*m^2) ,line=1.5) 

enter image description here

+0

有用的語法! 但有沒有辦法做到這一點,而使括號更大/更高,而不是使文本內部更小?這真的很明顯,如果有周圍的文字,如 'parse(text ='Area ~~(scriptstyle(m^{2}))')' – user2455117

+1

Plotmath只是真正的LaTeX的一個可憐的一步孩子。您可能需要在Markdown中使用LaTeX或MathML。 –

+0

我明白了。有沒有一種方法可以預測字體大小的縮放(請參閱更新後的問題)? – user2455117