如何在Persp R中自定义ntick

用户名

我是R 3D绘图的新手。我基本上有一个9x3的矩阵。这是我必须绘制的图:

###loads the above matrix
d2 <- read.csv("data.csv", header=T, dec=".",sep = " ")
###loads x,y,z
x <- c(2,3,4,5,6,7,8,9,10)
y <- c(3,4,10)
z <- as.matrix(d2)


persp(x, y, z,
  zlab="Score", ylab = "C", xlab="T",
  theta=40, phi=-5, ylim=c(3,10), xlim=c(2,10), 
  nticks = 5, ticktype = "detailed",  
  col="springgreen", shade=0.5)

一切都很好,只是我对轴上的刻度不满意。

有没有一种方法可以强制x,和yz

例如,有没有办法做这样的事情x.nticks=5y.nticks=2z.nticks=7

编辑:dput(d2)输出:

structure(list(X571.4711426 = c(415.0601344, 398.2104115, 392.3533142, 
389.1941271, 388.099164, 387.919963, 387.8443483, 387.808006, 
387.8046256), X569.3318221 = c(412.6845238, 396.1001583, 390.6924488, 
387.7928128, 386.7903531, 386.6250436, 386.549898, 386.5178556, 
386.5147072), X564.8071975 = c(408.1278631, 392.3859494, 387.5985228, 
384.9989269, 384.0664302, 383.9174889, 383.8442499, 383.8178535, 
383.8151726)), .Names = c("X571.4711426", "X569.3318221", "X564.8071975"
), class = "data.frame", row.names = c(NA, -9L))
哈克
d2 <- structure(list(X571.4711426 = c(415.0601344, 398.2104115, 392.3533142, 
                                      389.1941271, 388.099164, 387.919963, 387.8443483, 387.808006, 
                                      387.8046256), X569.3318221 = c(412.6845238, 396.1001583, 390.6924488, 
                                      387.7928128, 386.7903531, 386.6250436, 386.549898, 386.5178556, 
                                      386.5147072), X564.8071975 = c(408.1278631, 392.3859494, 387.5985228, 
                                                                    384.9989269, 384.0664302, 383.9174889, 383.8442499, 383.8178535, 
                                                                    383.8151726)), .Names = c("X571.4711426", "X569.3318221", "X564.8071975"
                                                                    ), class = "data.frame", row.names = c(NA, -9L))
d2

x <- c(2,3,4,5,6,7,8,9,10)
y <- c(3,4,10)
z <- as.matrix(d2)

pmat <- persp(x, y, z,
              zlab="Score", ylab = "C", xlab="T",
              theta=40, phi=-5, ylim=c(3,10), xlim=c(2,10), 
              col="springgreen", shade=0.5ticks
)

min.x  <- min(x)
max.x  <- max(x)
x.axis <- seq(min.x,max.x,by=2) # by = 2 will get you 5 ticks
min.y  <- min(y)
max.y  <- max(y)
y.axis <- seq(min.y,max.y, by = 5) # by = 5 will get you 2 ticks
min.z  <- round(min(z))
max.z  <- round(max(z))
z.axis <- seq(min.z, max.z, by=5) # by = 5 will get you 7 ticks 

tick.start <- trans3d(x.axis, min.y, min.z, pmat)
tick.end   <- trans3d(x.axis, (min.y - 0.20), min.z, pmat)
segments(tick.start$x, tick.start$y, tick.end$x, tick.end$y)

#Note the (min.y - 0.20) in the calculation of tick.end. This places the second line, parallel to the X axis, at the position -0.20 on the Y axis (i.e., into negative/unplotted space).

#The tick marks on the Y and Z axes can be handled similarly:

tick.start <- trans3d(max.x, y.axis, min.z, pmat)
tick.end   <- trans3d(max.x + 0.20, y.axis, min.z, pmat)
segments(tick.start$x, tick.start$y, tick.end$x, tick.end$y)

tick.start <- trans3d(min.x, min.y, z.axis, pmat)
tick.end <- trans3d(min.x, (min.y - 0.20), z.axis, pmat)
segments(tick.start$x, tick.start$y, tick.end$x, tick.end$y)

labels <- as.character(x.axis)
label.pos <- trans3d(x.axis, (min.y - 0.25), min.z, pmat)
text(label.pos$x, label.pos$y, labels=labels, adj=c(0, NA), srt=270, cex=0.5)

#The adj=c(0, NA) expression is used to left-justify the labels, the srt=270 expression is used to rotate the labels 270°, and the cex=0.5 expression is used to scale the label text to 75% of its original size.

#The labels on the Y and Z axes are produced similarly:
labels <- as.character(y.axis)
label.pos <- trans3d((max.x + 0.25), y.axis, min.z, pmat)
text(label.pos$x, label.pos$y, labels=labels, adj=c(0, NA), cex=0.5)

labels <- as.character(z.axis)
label.pos <- trans3d(min.x, (min.y - 0.5), z.axis, pmat)
text(label.pos$x, label.pos$y, labels=labels, adj=c(1, NA), cex=0.5)

# And you can of course change the specific settings to whatever you want

完全自定义刻度的示例 风俗

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在R中自定义bin图

来自分类Dev

如何在R中添加自定义图例?

来自分类Dev

在R中使用persp3D函数时,如何在轴标签上添加下标?

来自分类Dev

如何自定义属于包的R函数中的图?

来自分类Dev

如何在R的Google Viz包中的gvisBarChart中自定义轴

来自分类Dev

如何在R的Google Viz包中的gvisBarChart中自定义轴

来自分类Dev

如何在MathJax中定义自定义宏

来自分类Dev

如何在PHP数组中定义自定义键?

来自分类Dev

如何在Dymola中定义记录的自定义参数?

来自分类Dev

如何在Leaflet中定义多个自定义图标?

来自分类Dev

如何在SQL Server中定义自定义日志

来自分类Dev

如何在ckeditor中定义自定义html标签

来自分类Dev

如何在MySQL查询中定义自定义ORDER BY

来自分类Dev

如何在R中为tableGrob自定义特定的列?

来自分类Dev

如何在Dynamic Document R和Knitr中创建自定义章节标题

来自分类Dev

如何在R中为ggplot自定义调色板?

来自分类Dev

如何在R中的data.table中使用自定义函数

来自分类Dev

如何在基础R中制作自定义y轴刻度

来自分类Dev

如何在R中创建自定义过滤器功能

来自分类Dev

如何在R中沿着ggplot的轴添加自定义着色器?

来自分类Dev

如何在R中的ggnet图中添加自定义顶点标签?

来自分类Dev

如何在R中输入具有多个data.frames的自定义函数?

来自分类Dev

如何在Tableau中的Script_Real()中使用自定义的R函数?

来自分类Dev

如何在R中以自定义间隔添加背景网格以进行绘图?

来自分类Dev

R - 如何在矩阵(或类似结构)中存储自定义对象?

来自分类Dev

如何从 R 中的 persp3d 图中更改视角

来自分类Dev

如何在 Knockout 中的自定义 bindingHandler 中绑定到自定义模板

来自分类Dev

如何在Go中创建自定义类型元素的自定义类型数组?

来自分类Dev

如何在Eclipse中自定义自定义编程语言?

Related 相关文章

  1. 1

    如何在R中自定义bin图

  2. 2

    如何在R中添加自定义图例?

  3. 3

    在R中使用persp3D函数时,如何在轴标签上添加下标?

  4. 4

    如何自定义属于包的R函数中的图?

  5. 5

    如何在R的Google Viz包中的gvisBarChart中自定义轴

  6. 6

    如何在R的Google Viz包中的gvisBarChart中自定义轴

  7. 7

    如何在MathJax中定义自定义宏

  8. 8

    如何在PHP数组中定义自定义键?

  9. 9

    如何在Dymola中定义记录的自定义参数?

  10. 10

    如何在Leaflet中定义多个自定义图标?

  11. 11

    如何在SQL Server中定义自定义日志

  12. 12

    如何在ckeditor中定义自定义html标签

  13. 13

    如何在MySQL查询中定义自定义ORDER BY

  14. 14

    如何在R中为tableGrob自定义特定的列?

  15. 15

    如何在Dynamic Document R和Knitr中创建自定义章节标题

  16. 16

    如何在R中为ggplot自定义调色板?

  17. 17

    如何在R中的data.table中使用自定义函数

  18. 18

    如何在基础R中制作自定义y轴刻度

  19. 19

    如何在R中创建自定义过滤器功能

  20. 20

    如何在R中沿着ggplot的轴添加自定义着色器?

  21. 21

    如何在R中的ggnet图中添加自定义顶点标签?

  22. 22

    如何在R中输入具有多个data.frames的自定义函数?

  23. 23

    如何在Tableau中的Script_Real()中使用自定义的R函数?

  24. 24

    如何在R中以自定义间隔添加背景网格以进行绘图?

  25. 25

    R - 如何在矩阵(或类似结构)中存储自定义对象?

  26. 26

    如何从 R 中的 persp3d 图中更改视角

  27. 27

    如何在 Knockout 中的自定义 bindingHandler 中绑定到自定义模板

  28. 28

    如何在Go中创建自定义类型元素的自定义类型数组?

  29. 29

    如何在Eclipse中自定义自定义编程语言?

热门标签

归档