Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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:用迹线绘制三维图形_R_Plotly - Fatal编程技术网

R:用迹线绘制三维图形

R:用迹线绘制三维图形,r,plotly,R,Plotly,我正在使用plotly 4.7.0。我正在尝试向三维绘图添加一条三维线,仅曲面绘图。当我不在plot_ly调用中添加add_lines()函数时,它看起来很好。一旦我添加了add_线,图形就会变得一团糟,无法添加三维线图 library(plotly) m_x = seq(-2, 2, .01) m_y = seq(-2, 2, .01) df = expand.grid(m_x, m_y) df['matrix'] = exp(-(df$Var1^2+df$Var2^2)) m_z = mat

我正在使用plotly 4.7.0。我正在尝试向三维绘图添加一条三维线,仅曲面绘图。当我不在plot_ly调用中添加add_lines()函数时,它看起来很好。一旦我添加了add_线,图形就会变得一团糟,无法添加三维线图

library(plotly)
m_x = seq(-2, 2, .01)
m_y = seq(-2, 2, .01)
df = expand.grid(m_x, m_y)
df['matrix'] = exp(-(df$Var1^2+df$Var2^2))
m_z = matrix(df$matrix, nrow = length(m_x), ncol = length(m_y))
m_df = list(m_x, m_y, m_z)

x1 = seq(-2, 0, by=0.0202)
y1 = runif(100, min=-0.03,max=0.03)
z1 = exp(-(x1^2+y1^2))
df = data.frame(x1, y2, z2)
names(df) <- c("df_x", "df_y", "df_z")


colors = c( "Blue",  "Cyan", "Green", "Yellow", "Orange", "Red")
p1 <- plot_ly(x = m_df[[1]], y = m_df[[2]], z = m_df[[3]],
              colors = colors, color = m_df[[3]]) %>% add_surface()  %>%
  add_lines(x = df$df_x, y = df$df_y, z = df$df_z, data = df, 
            line = list(color = 'red', width = 1)) %>%
  layout(title = "Hike_Example",
       scene = list(aspectratio = list(x = 4, y = 4, z = 1)))

p1
library(plotly)
m_x=序列(-2,2,01)
m_y=序列(-2,2,01)
df=展开网格(m_x,m_y)
df['matrix']=exp(-(df$Var1^2+df$Var2^2))
m_z=矩阵(df$矩阵,nrow=长度(m_x),ncol=长度(m_y))
m_df=列表(m_x,m_y,m_z)
x1=序列(-2,0,by=0.0202)
y1=runif(100,最小值=-0.03,最大值=0.03)
z1=exp(-(x1^2+y1^2))
df=数据帧(x1,y2,z2)
姓名(df)%
添加_行(x=df$df_x,y=df$df_y,z=df$df_z,data=df,
行=列表(颜色=红色,宽度=1))%>%
布局(title=“Hike\u示例”,
场景=列表(aspectratio=列表(x=4,y=4,z=1)))
p1

这是带有3D线的曲面图的代码。
我用
add_trace
代替
add_line
绘制了3D线

library(plotly)
m_x = seq(-2, 2, .01)
m_y = seq(-2, 2, .01)
df = expand.grid(m_x, m_y)
df['matrix'] = exp(-(df$Var1^2+df$Var2^2))
m_z = matrix(df$matrix, nrow = length(m_x), ncol = length(m_y))
m_df = list(m_x, m_y, m_z)

x1 = seq(-2, 0, by=0.0202)
y1 = runif(100, min=-0.03,max=0.03)
z1 = exp(-(x1^2+y1^2))
df = data.frame(x1, y1, z1)
names(df) <- c("df_x", "df_y", "df_z")

colors = c( "Blue",  "Cyan", "Green", "Yellow", "Orange", "Red")
p1 <- plot_ly(x = m_df[[1]], y = m_df[[2]], z = m_df[[3]],
              colors = colors, color = m_df[[3]]) %>% add_surface()  %>%
  add_trace(x = ~df_x, y = ~df_y, z = ~df_z, data = df, 
            type="scatter3d", mode="lines",
            line = list(color = "red", width = 4)) %>%
  layout(title = "Hike_Example",
       scene = list(aspectratio = list(x = 4, y = 4, z = 1)))

p1
library(plotly)
m_x=序列(-2,2,01)
m_y=序列(-2,2,01)
df=展开网格(m_x,m_y)
df['matrix']=exp(-(df$Var1^2+df$Var2^2))
m_z=矩阵(df$矩阵,nrow=长度(m_x),ncol=长度(m_y))
m_df=列表(m_x,m_y,m_z)
x1=序列(-2,0,by=0.0202)
y1=runif(100,最小值=-0.03,最大值=0.03)
z1=exp(-(x1^2+y1^2))
df=数据帧(x1,y1,z1)
姓名(df)%
添加_跟踪(x=~df_x,y=~df_y,z=~df_z,data=df,
type=“scatter3d”,mode=“lines”,
行=列表(color=“red”,width=4))%>%
布局(title=“Hike\u示例”,
场景=列表(aspectratio=列表(x=4,y=4,z=1)))
p1

data.frame(x1,y2,z2)
对象
y2
z2
没有定义当我进行添加跟踪时,它看起来像是在我的绘图上创建了两个色条(一个用于三维地图,一个用于散点图)。它们也是不同大小的色条。有没有办法忽略add_trace()色条?@Mike我看过你的照片。这是非常奇怪的,在我的Windows7电脑与R3.3.3和plotly_4.5.6我没有这个问题。尝试在
add_trace
和/或
plot_ly
中添加
showscale=FALSE
选项。让我知道。将
showscale=False
添加到
plot\u-ly
语句有效,谢谢!