用plotly绘制R中的分子
我有两个数据框,如下所示,它们代表一个分子。我想用用plotly绘制R中的分子,r,ggplot2,plotly,R,Ggplot2,Plotly,我有两个数据框,如下所示,它们代表一个分子。我想用plot\u ly生成这个分子的一个图 一个数据帧,df,包含坐标和元素类型。 另一个数据帧,conn,包含原子之间的连接结构,以及连接两个原子的键数(1、2或3)。 例如,从conn的第二行,原子55通过双键连接到原子54 head(df) atomId element xCord yCord zCord 1 54 C -16.47474 -14.96508 8.332247 2 55
plot\u ly
生成这个分子的一个图
一个数据帧,df
,包含坐标和元素类型。
另一个数据帧,conn
,包含原子之间的连接结构,以及连接两个原子的键数(1、2或3)。
例如,从conn的第二行,原子55通过双键连接到原子54
head(df)
atomId element xCord yCord zCord
1 54 C -16.47474 -14.96508 8.332247
2 55 C -15.43503 -14.37500 7.599300
3 56 C -15.03843 -13.23943 8.285489
4 57 C -15.82452 -13.17686 9.413819
5 58 N -16.68804 -14.21907 9.439404
6 59 H -17.41647 -14.37430 10.166242
head(conn)
atom1 atom2 order
135 58 54 1
136 55 54 2
137 71 55 1
138 70 56 1
139 55 56 1
140 58 57 1
df <- structure(list(atomId = c("54", "55", "56", "57", "58", "59",
"69", "70", "71"), element = c("C", "C", "C", "C", "N", "H",
"H", "H", "H"), xCord = c(-16.474736, -15.43503, -15.038428,
-15.82452, -16.68804, -17.416475, -15.788173, -14.29002, -15.038094
), yCord = c(-14.965081, -14.375, -13.239429, -13.176858, -14.219065,
-14.374302, -12.380838, -12.509718, -14.671816), zCord = c(8.332247,
7.5993, 8.285489, 9.413819, 9.439404, 10.166242, 10.151304, 7.979794,
6.636516)), class = "data.frame", row.names = c(NA, -9L))
conn <- structure(list(atom1 = c(58, 55, 71, 70, 55, 58, 56, 69, 59),
atom2 = c(54, 54, 55, 56, 56, 57, 57, 57, 58), order = c(1,
2, 1, 1, 1, 1, 2, 1, 1)), row.names = 135:143, class = "data.frame")
我真的很喜欢这个情节,因为它是互动的,我可以注释点。然而,我想在连接之间画一条线。我想显示键合线,比如在这张图中,然而,我实际上更喜欢plotly中的点,而不是第二张图中的巨大丑陋的3D球体
有人能帮我用Plotly或其他类似的软件包来表示债券行吗?最糟糕的情况是,我知道它们是否必须进行颜色编码,或使用虚线/实线等进行编码。我更愿意看到双轨制,但我会尽我所能
谢谢
plot_ly(x = df$xCord, y = df$yCord, z = df$zCord, type="scatter3d",
mode="markers", color = df$element, hoverinfo = "text",
text = paste('AtomId: ', df$atomId, "\nElement: ", df$element)