我正在使用hist3D繪製3D直方圖,並且想要更改xlab,以便它包含帶有下標的希臘字母。如何在hist3D上打印標籤上的希臘字母?
我用
xlab=expression(theta[1]).
它不工作,我只是得到的標籤字符串 「[1] THETA」。另一方面,它可以正常工作,只需要經常繪圖命令。
那麼如何才能將下標希臘字母引入hist3D圖?
(hist3D來自PLOT3D格式庫)
我正在使用hist3D繪製3D直方圖,並且想要更改xlab,以便它包含帶有下標的希臘字母。如何在hist3D上打印標籤上的希臘字母?
我用
xlab=expression(theta[1]).
它不工作,我只是得到的標籤字符串 「[1] THETA」。另一方面,它可以正常工作,只需要經常繪圖命令。
那麼如何才能將下標希臘字母引入hist3D圖?
(hist3D來自PLOT3D格式庫)
一種解決方法是使用scatterplot3d
:
z <- seq(-10, 10, 0.01)
x <- cos(z)+1
y <- sin(z)+1
scatterplot3d(volcano, highlight.3d=TRUE, col.axis="blue",
col.grid="gray", main="scatterplot-greeks", pch=21,
xlab=expression(theta[1]),
ylab=expression(beta[2]),
zlab=expression(alpha[3]),cex.lab=1.5)
我喜歡persp更好,它繪製比這更好的東西...但謝謝。 – kloop
的hist3D
功能不接受軸標籤表達式。一種解決方法是對theta,θ使用Unicode字符。
# example data
library(plot3D)
x <- seq(-pi, pi, by = 0.2)
y <- seq(-pi, pi, by = 0.3)
grid <- mesh(x, y)
z <- with(grid, cos(x) * sin(y))
hist3D(z = z, x = x, y = y, border = "black", xlab = "θ1")
這將顯示一個符號THETA,但沒有下標1
另一個解決方法是使用text3D
函數從同一plot3D
包。它接受數學表達式作爲標籤,所以我們可以照常編寫expression(theta[1])
。在此解決方法唯一的小問題是要找到
# example data
library(plot3D)
x <- seq(-pi, pi, by = 0.2)
y <- seq(-pi, pi, by = 0.3)
grid <- mesh(x, y)
z <- with(grid, cos(x) * sin(y))
hist3D(z = z, x = x, y = y, border = "black", ticktype = "detailed", xlab = "", ylab="y", zlab="z")
text3D(2, -5, 0, labels = expression(theta[1]), add = TRUE, adj = 1)
我發現2,-5,0
是這個例子相當好我們的標籤的合適座標。標籤不像標準標籤那樣旋轉。
你應該添加一個可重複的例子,並提及你使用的軟件包。 – agstudy
函數'hist3D'調用函數'persp'。從'?persp',關於'xlab':'這些必須是字符串;表達式不被接受。' –
謝謝@SvenHohenstein – kloop