Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot2三维条形图_R_Plot_3d_Ggplot2_Bar Chart - Fatal编程技术网

R ggplot2三维条形图

R ggplot2三维条形图,r,plot,3d,ggplot2,bar-chart,R,Plot,3d,Ggplot2,Bar Chart,我知道这听起来很基本,但我已经搜索了一个多小时,但没有成功。我只是尝试使用“ggplot2”软件包在“R”中绘制一个三维条形图。我的数据框如下所示: x y z t1 5 high t1 2 low t1 4 med t2 8 high t2 1 low t2 3 med t3 50 high t3 12 med t3 35 low 我想在上面画一些像这样的东西: 非常感谢您的帮助 如评论中所述,3D绘图通常不是

我知道这听起来很基本,但我已经搜索了一个多小时,但没有成功。我只是尝试使用“ggplot2”软件包在“R”中绘制一个三维条形图。我的数据框如下所示:

 x   y     z
t1   5   high
t1   2   low
t1   4   med
t2   8   high
t2   1   low
t2   3   med
t3  50   high
t3  12   med
t3  35   low
我想在上面画一些像这样的东西:


非常感谢您的帮助

如评论中所述,3D绘图通常不是一个好的选择(当其他选项可用时),因为它们往往会提供扭曲/模糊的数据视图

也就是说,以下是如何使用
latticeeextra
按需绘制数据:

d <- read.table(text=' x   y     z
t1   5   high
t1   2   low
t1   4   med
t2   8   high
t2   1   low
t2   3   med
t3  50   high
t3  12   med
t3  35   low', header=TRUE)

library(latticeExtra)

cloud(y~x+z, d, panel.3d.cloud=panel.3dbars, col.facet='grey', 
      xbase=0.4, ybase=0.4, scales=list(arrows=FALSE, col=1), 
      par.settings = list(axis.line = list(col = "transparent")))

d您应该意识到,R爱好者认为Excel是一个丰富的示例源,可以说明如何(正确地)做事,而3D条形图是最不受欢迎的传播精确定量信息的策略之一。@BondedDust ha!是的,我知道。可能是我找不到任何例子的原因。但我还是想尝试一下,你的任何指示都会有所帮助……我只需要知道如何将第三个轴添加到我的
geom_bar()
,这是来自rgl:和@hadley:的作者,我认为你无法使用
ggplot2
制作三维条形图。就像在我们的宇宙中超过光速一样,哈德利宇宙的基本法则也禁止某些事情。在任何情况下,按颜色分组的线图都会提供更多信息。例如,对于上面列出的数据,尝试以下操作(我将数据帧命名为dat):
ggplot(dat,aes(x,y,group=z,color=z))+geom_line()+geom_point()
。它必须是
ggplot
?(如果没有,请看一看
?latticeExtra::panel.3dbars
@maryam-刚刚注意到
z
的级别顺序不正确。您可以在创建因子时明确说明级别顺序来纠正这一点。哦,是的,它变为med->low->high而不是high->med->low谢谢您的纠正:)“y~x+z”是什么意思?@DavideChicco.it-它说根据
x
z
(其中这些是数据元素
d
)。@jbaums谢谢,我应该阅读文档。另一个小帮助:如何增加平行六面体边的尺寸?谢谢