This repository was archived by the owner on Jul 29, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
This repository was archived by the owner on Jul 29, 2019. It is now read-only.
how to ellipse()? #3065
Copy link
Copy link
Closed
Milestone
Description
<head>
<style type="text/css">
#mynetwork {
width: 600px;
height: 400px;
border: 1px solid lightgray;
}
p {
max-width:600px;
}
h4 {
margin-bottom:3px;
}
</style>
</head>
<body>
<p>
You can draw on the canvas using normal HTML5 canvas functions. The before drawing will be behind the network, the after drawing will be in front of the network.
</p>
<div id="mynetwork"></div>
<pre id="eventSpan"></pre>
<script type="text/javascript">
// create an array with nodes
var nodes = new vis.DataSet([
{id: 1, label: 'Node 1'},
{id: 2, label: 'Node 2'},
{id: 3, label: 'Node 3'},
{id: 4, label: 'Node 4'},
{id: 5, label: 'Node 5'}
]);
// create an array with edges
var edges = new vis.DataSet([
{from: 1, to: 3},
{from: 1, to: 2},
{from: 2, to: 4},
{from: 2, to: 5}
]);
// create a network
var container = document.getElementById('mynetwork');
var data = {
nodes: nodes,
edges: edges
};
var options = {};
var network = new vis.Network(container, data, options);
network.on("initRedraw", function () {
// do something like move some custom elements?
});
network.on("beforeDrawing", function (ctx) {
var nodeId = 1;
var nodePosition = network.getPositions([nodeId]);
ctx.strokeStyle = '#294475';
ctx.fillStyle = '#A6D5F7';
ctx.ellipse(100, 100, 50, 20, 45 * Math.PI/180, 0, 2 * Math.PI, false);
//ctx.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)
ctx.fill();
ctx.stroke();
ctx.strokeStyle = '#294475';
ctx.fillStyle = '#A6D5F7';
ctx.ellipse(120, 120, 50, 20, 90 * Math.PI/180, 0, 2 * Math.PI, false);
//ctx.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)
ctx.fill();
ctx.stroke();
ctx.strokeStyle = '#294475';
ctx.fillStyle = '#A6D5F7';
ctx.ellipse(140, 140, 50, 20, 135 * Math.PI/180, 0, 2 * Math.PI, false);
//ctx.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)
ctx.fill();
ctx.stroke();
ctx.strokeStyle = '#294475';
ctx.fillStyle = '#A6D5F7';
ctx.ellipse(160, 160, 50, 20, 180 * Math.PI/180, 0, 2 * Math.PI, false);
//ctx.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)
ctx.fill();
ctx.stroke();
});
</script>
</body>
</html>
.ellipse()
If you use "ctx.ellipse()" in "beforeDrawing"
The ellipse does not rotate.
how to ctx.ellipse()?
How to rotate the four ellipses differently?
Metadata
Metadata
Assignees
Labels
No labels