HTMLcopy
1
<div id="container"></div>
CSScopy
8
1
html,
2
body,
3
#container {
4
width: 100%;
5
height: 100%;
6
margin: 0;
7
padding: 0;
8
}
JavaScriptcopy
x
1
// add the font link to the head of the document
2
var link = document.createElement('link');
3
link.href = 'https://cdn.anychart.com/fonts/interdex/interdex.css';
4
link.rel = 'stylesheet';
5
document.head.appendChild(link);
6
7
var fontLoad = new FontFaceObserver('Conv_interdex'); // eslint-disable-line no-undef
8
// create chart when font is loaded
9
// for this use https://cdnjs.cloudflare.com/ajax/libs/fontfaceobserver/2.0.7/fontfaceobserver.js
10
fontLoad.load().then(function () {
11
anychart.onDocumentReady(function () {
12
// set stage
13
var stage = anychart.graphics.create('container');
14
15
// chart type
16
var chart = anychart.column();
17
18
// set title
19
chart.title('HatchFill By Font');
20
21
// set axes titles
22
chart.xAxis().title('Manager');
23
chart.yAxis().title('Sales');
24
25
var data = anychart.data.set([
26
['John', 10000, 12000, 5000],
27
['Jake', 12000, 15000, 6000],
28
['Peter', 18000, 16000, 7000],
29
['James', 11000, 13000, 6000],
30
['Mary', 9000, 19000, 5000]
31
]);
32
33
// map data for the each series
34
var Sales2003 = data.mapAs({ x: 0, value: 1 });
35
var Sales2004 = data.mapAs({ x: 0, value: 2 });
36
var Sales2005 = data.mapAs({ x: 0, value: 3 });
37
38
var series;
39
40
// set series data
41
series = chart.column(Sales2003);
42
series.name('Sales 2003').fill(getPattern('B', 30)).stroke('#212121');
43
44
series = chart.column(Sales2004);
45
series.name('Sales 2004').fill(getPattern('Y', 30)).stroke('#212121');
46
47
series = chart.column(Sales2005);
48
series.name('Sales 2005').fill(getPattern('C', 30)).stroke('#212121');
49
50
// set container and draw chart
51
chart.container(stage);
52
chart.draw();
53
54
// helper function to get the pattern
55
function getPattern(letter, size) {
56
var text = anychart.graphics
57
.text()
58
.htmlText(
59
'<span ' +
60
'style=\'font-family:Conv_interdex;font-size:' +
61
size +
62
';\'>' +
63
letter +
64
'</span>'
65
);
66
var pattern = stage.pattern(text.getBounds());
67
pattern.addChild(text);
68
return pattern;
69
}
70
});
71
});