雖然標繪了R軸中標有對數刻度的軸,散點圖和其他繪圖,但如何使用標記(如10^-1 10^0 10^1 10^2 10^3等,而不是僅顯示-1,0,1,2,3等的座標軸。應該向hist(),plot()等命令添加哪些參數?R中的標記對數刻度顯示
回答
除了GGPLOT2(見GSK3的評論)的解決方案,我想補充一點,在情節自動發生的()以及使用正確的參數時,如:
x <- 1:10
y <- exp(1:10)
plot(x,y,log="y")
可以使用X軸的參數log="x"
或兩者的log="xy"
。
如果要格式化數字,或者以日誌格式存儲數據,則可以使用axis()來執行解決方法。一些有趣的功能:
axTicks(x)
給出關於X軸的刻度線的位置(x = 1)或Y軸(x = 2)bquote()
轉換表達式語言,但可以替代隨其價值變化。有關bquote()
的更多信息,請參閱Latex and variables in plot label in R?的問題。as.expression()
使語言對象來自bquote()
表達式。這允許axis()
按照?plotmath
中所述進行格式化。它不能用語言對象來實現。
的漂亮格式的一個例子:
x <- y <- 1:10
plot(x,y,yaxt="n")
aty <- axTicks(2)
labels <- sapply(aty,function(i)
as.expression(bquote(10^ .(i)))
)
axis(2,at=aty,labels=labels)
其中給出
謝謝,這是非常有用的,我認爲它是一個普通的解。爲我工作就好了 – user744121
這個例子介紹了我'bquote()' - 謝謝! – nullglob
別忘了'par(las = 1)'爲了更好的格式化... –
在GGPLOT2你只可以添加一個
... +
scale_x_log10() +
scale_y_log10(limits = c(1e-4,1), breaks=c(1e-4,1e-3,1e-2,0.1,1)) + ...
規模的軸,標籤他們並添加自定義休息。
這是一種不同的方式來繪製這種類型的軸:
plot(NA, xlim=c(0,10), ylim=c(1, 10^4), xlab="x", ylab="y", log="y", yaxt="n")
at.y <- outer(1:9, 10^(0:4))
lab.y <- ifelse(log10(at.y) %% 1 == 0, at.y, NA)
axis(2, at=at.y, labels=lab.y, las=1)
編輯:如果你做日誌這也解決了latticeExtra
與scale.components
- 1. FLOT:顯示特定刻度標記
- 2. 刻度線標記顯示順序
- 3. 在xyplot中減少刻度標記R
- 4. R rgl軸刻度和刻度標記之間的距離
- 5. R - heatmap.2對數刻度
- 6. 在極座標對數座標圖上不顯示R軸刻度
- 7. D3對數刻度標記爲10
- 8. R - ggplot2 - 設置刻度標記間隔
- 9. R中的對數刻度箱線圖
- 10. matplotlib中的刻度標記
- 11. 在R軸x軸顯示次要對數刻度
- 12. 如何使用Matplotlib以對數刻度顯示次要刻度標籤
- 13. R,軸的刻度線和刻度標記之間變化距離標籤
- 14. 條形圖的變化刻度標記以對數標度
- 15. ALTER刻度標記
- 16. 軸刻度標記
- 17. 使R中對數刻度直方圖
- 18. 在Tkinter中標記刻度
- 19. 刪除R中ggplot2中的單個x軸刻度標記?
- 20. 在對數刻度上使用自定義刻度標記的x軸間距
- 21. 以對數形式顯示刻度標籤MS Chart(log-log)
- 22. ggplot2:對於沒有標籤的刻度線有更短的刻度標記
- 23. 與空系列顯示隱藏的刻度標記值
- 24. R中的刻度標記文本方向
- 25. 線性刻度對比對數刻度
- 26. 在標籤上顯示刻度符號
- 27. 在輸入上顯示刻度標記[type = range]
- 28. iPhone核心劇情刻度線標記不顯示
- 29. plotly.js:僅顯示第一個x軸刻度標記
- 30. ř圖軸刻度標記
GGPLOT2自動執行此操作ggplot2中的轉換。看到這個頁面底部的例子:http://had.co.nz/ggplot2/geom_boxplot.html –
謝謝,這幫了我。此外,我還發現了一些非常有用的內容http://r.789695.n4.nabble.com/log-y-axis-of-histogram-td2399498.html – user744121