2015-09-28 28 views
0

我使用expression()來創建一個包含希臘字母的字符串。我的圖例標籤如下:如何使用cairo庫刪除希臘文後的自動空間?

legend.label = paste(mu, "+", sigma, ", ", mu, ", ", mu, "+", sigma, " of 
random strategy", sep ="") 

這應該給我的東西,如:μ+σ,μ,μ+σ隨機策略,而是我得到這個: enter image description here

它似乎如果希臘字母后有自動空格。我已經嘗試使用*和〜操作符,但它沒有幫助。我正在使用cairo軟件包來創建反anialised情節。但是,如果不使用cairo包,我似乎會得到正確的結果。有沒有人有一個想法如何解決這個問題?謝謝!

+0

不是100%確定你想知道什麼。但mu在這種情況下是預期值,而σ是與該預期值的標準差。 mu + sigma構建置信區間的上界,mu - σ構成下界。 – Sket

+1

哦,對不起,我想我明白你的意思。 mu和sigma只是希臘字母,他們不是變數。 R認可他們,如果你這樣稱呼他們。我沒有事先定義它們。 – Sket

+0

我沒有定義他們,並沒有加載任何包。我注意到,我也得到了錯誤,有趣的是我仍然得到了上面的結果。無論如何,你的解決方案解決了使用它們的問題。非常感謝你的幫助! – Sket

回答

3

我不知道你是怎麼定義的「希臘字母」,但你可以使用encode把他們沒有空間,在你的傳說:

plot(0:1, 0:1, type="none", main="\U03BC+\U03C3, \U03BC, \U03BC+\U03C3 of 
random strategy") 

enter image description here

2

要做到這一點是這樣的在help("plotmath")描述:

plot(1) 
legend("top", legend = expression(paste(mu + sigma, 
             ", ", 
             mu, 
             ", ", 
             mu + sigma, 
             " of random strategy")), 
     lty = 1, col = "red", bty = "n") 

resulting plot

+1

@CathG空格不在字母周圍,而是圍繞「+」號(如他們應該)。你可以用'expression(paste(mu,「+」,sigma))''來避開它們。 – Roland

+0

謝謝你的回答!我之前嘗試了很多東西,這是其中之一。只要你不使用cairo庫來創建劇情,它就可以完美運行。不幸的是,我不得不使用這個圖書館,結果和上面我的文章中的圖片一樣。 CathG的解決方案並不存在這個問題。 – Sket