3D Cone Plots in JavaScript
How to make 3D cone plots in javascript.
Plotly Studio: Transform any dataset into an interactive data application in minutes with AI. Sign up for early access now.
var data = [{
type: "cone",
x: [1], y: [1], z: [1],
u: [1], v: [1], w: [0]
}]
var layout = {
"scene": {
"camera": {
"eye": {x: -0.76, y: 1.8, z: 0.92}
}
}
}
Plotly.newPlot('myDiv',data,layout)
var data = [{
type: "cone",
x: [1, 2, 3],
y: [1, 2, 3],
z: [1, 2, 3],
u: [1, 0, 0],
v: [0, 3, 0],
w: [0, 0, 2],
sizemode: "absolute",
sizeref: 2,
anchor: "tip",
colorbar: {
x: 0,
xanchor: "right",
side: "left"
}
}]
var layout = {
scene: {
domain: {x: [0, 1]},
camera: {
eye: {x: -1.57, y: 1.36, z: 0.58}
}
},
width: 800
}
Plotly.newPlot('myDiv', data, layout)
var data = [{
type: "cone",
name: "base",
x: [1, 1, 1],
y: [1, 2, 3],
z: [1, 1, 1],
u: [1, 2, 3],
v: [1, 1, 2],
w: [4, 4, 1],
hoverinfo: "u+v+w+name",
showscale: false
},
{
type: "cone",
name: "opacity:0.3",
x: [2, 2, 2],
y: [1, 2, 3],
z: [1, 1, 1],
u: [1, 2, 3],
v: [1, 1, 2],
w: [4, 4, 1],
hoverinfo: "u+v+w+name",
showscale: false,
opacity: 0.3
},
{
type: "cone",
name: "lighting.ambient:0.3",
x: [3, 3, 3],
y: [1, 2, 3],
z: [1, 1, 1],
u: [1, 2, 3],
v: [1, 1, 2],
w: [4, 4, 1],
hoverinfo: "u+v+w+name",
showscale: false,
lighting: {ambient: 0.3}
},
{
type: "cone",
name: "lighting.diffuse:0.3",
x: [4, 4, 4],
y: [1, 2, 3],
z: [1, 1, 1],
u: [1, 2, 3],
v: [1, 1, 2],
w: [4, 4, 1],
hoverinfo: "u+v+w+name",
showscale: false,
lighting: {diffuse: 0.3}
},
{
type: "cone",
name: "lighting.specular:2",
x: [5, 5, 5],
y: [1, 2, 3],
z: [1, 1, 1],
u: [1, 2, 3],
v: [1, 1, 2],
w: [4, 4, 1],
hoverinfo: "u+v+w+name",
showscale: false,
lighting: {specular: 2}
},
{
type: "cone",
name: "lighting.roughness:1",
x: [6, 6, 6],
y: [1, 2, 3],
z: [1, 1, 1],
u: [1, 2, 3],
v: [1, 1, 2],
w: [4, 4, 1],
hoverinfo: "u+v+w+name",
showscale: false,
lighting: {roughness: 1}
},
{
type: "cone",
name: "lighting.fresnel:2",
x: [7, 7, 7],
y: [1, 2, 3],
z: [1, 1, 1],
u: [1, 2, 3],
v: [1, 1, 2],
w: [4, 4, 1],
hoverinfo: "u+v+w+name",
showscale: false,
lighting: {fresnel: 2}
},
{
type: "cone",
name: "lighting.position x:0,y:0,z:1e5",
x: [8, 8, 8],
y: [1, 2, 3],
z: [1, 1, 1],
u: [1, 2, 3],
v: [1, 1, 2],
w: [4, 4, 1],
hoverinfo: "u+v+w+name",
showscale: false,
lightposition: {x: 0, y: 0, z: 1e5}
}]
var layout = {
scene: {
aspectmode: "data",
camera: {
eye: {x: 0.05, y: -2.6, z: 2}
}
},
width: 500,
height: 500,
margin: {t: 0, b: 0, l: 0, r: 0}
}
Plotly.newPlot('myDiv',data,layout)
