HTMLcopy
1
<div id="container"></div>
CSScopy
6
1
html, body, #container {
2
width: 100%;
3
height: 100%;
4
margin: 0;
5
padding: 0;
6
}
JavaScriptcopy
x
1
anychart.onDocumentReady(function () {
2
3
// the data used in this sample can be obtained from the CDN
4
// https://cdn.anychart.com/csv-data/csco-daily.js
5
// create a data table using this data
6
var dataTable = anychart.data.table();
7
dataTable.addData(get_csco_daily_short_data());
8
9
// map the data
10
var mapping = dataTable.mapAs({"value": 4});
11
12
// create a stock chart
13
var chart = anychart.stock();
14
15
// create a plot on the chart
16
var plot = chart.plot(0);
17
18
// create a line series
19
var lineSeries = plot.line(mapping);
20
lineSeries.name("CSCO");
21
22
// access the annotations() object of the plot to work with annotations
23
var controller = plot.annotations();
24
25
// create the first Ellipse annotation and configure its visual settings
26
var ellipse1 = controller.ellipse({
27
xAnchor: "2006-11-20",
28
valueAnchor: 25.92,
29
secondXAnchor: "2007-02-24",
30
secondValueAnchor: 31.92,
31
hovered: {
32
fill: "#398cae 0.3",
33
stroke: "2 #ff0000"
34
},
35
selected: {
36
fill: "#398cae 0.3",
37
hatchFill: "forward-diagonal",
38
stroke: "4 #ff0000"
39
}
40
});
41
42
// create the second Ellipse annotation
43
var ellipse2 = controller.ellipse();
44
45
// set the position of the second annotation
46
ellipse2.xAnchor("2005-11-20");
47
ellipse2.valueAnchor(15.55);
48
ellipse2.secondXAnchor("2007-02-25");
49
ellipse2.secondValueAnchor(23.30);
50
51
// configure the visual settings of the second annotation
52
ellipse2.normal().fill("none");
53
ellipse2.normal().stroke("#006600", 1, "10 2");
54
ellipse2.hovered().stroke("#00b300", 2, "10 2");
55
ellipse2.selected().stroke("#00b300", 4, "10 2");
56
57
// set the chart title
58
chart.title("Ellipse: Appearance");
59
60
// set the container id
61
chart.container("container");
62
63
// initiate drawing the chart
64
chart.draw();
65
});