Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F78167901
bar.html
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sun, Aug 18, 21:27
Size
5 KB
Mime Type
text/html
Expires
Tue, Aug 20, 21:27 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
20000944
Attached To
R2664 SHRINE MedCo Fork
bar.html
View Options
<!doctype html>
<html>
<head>
<title>
Bar Chart
</title>
<script
src=
"http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"
></script>
<script
src=
"../dist/Chart.bundle.js"
></script>
<style>
canvas
{
-
moz
-
user
-
select
:
none
;
-
webkit
-
user
-
select
:
none
;
-
ms
-
user
-
select
:
none
;
}
</style>
</head>
<body>
<div
id=
"container"
style=
"width: 75%;"
>
<canvas
id=
"canvas"
></canvas>
</div>
<button
id=
"randomizeData"
>
Randomize Data
</button>
<button
id=
"addDataset"
>
Add Dataset
</button>
<button
id=
"removeDataset"
>
Remove Dataset
</button>
<button
id=
"addData"
>
Add Data
</button>
<button
id=
"removeData"
>
Remove Data
</button>
<script>
var
MONTHS
=
[
"January"
,
"February"
,
"March"
,
"April"
,
"May"
,
"June"
,
"July"
,
"August"
,
"September"
,
"October"
,
"November"
,
"December"
];
var
randomScalingFactor
=
function
()
{
return
(
Math
.
random
()
>
0.5
?
1.0
:
-
1.0
)
*
Math
.
round
(
Math
.
random
()
*
100
);
};
var
randomColorFactor
=
function
()
{
return
Math
.
round
(
Math
.
random
()
*
255
);
};
var
randomColor
=
function
()
{
return
'rgba('
+
randomColorFactor
()
+
','
+
randomColorFactor
()
+
','
+
randomColorFactor
()
+
',.7)'
;
};
var
barChartData
=
{
labels
:
[
"January"
,
"February"
,
"March"
,
"April"
,
"May"
,
"June"
,
"July"
],
datasets
:
[{
label
:
'Dataset 1'
,
backgroundColor
:
"rgba(220,220,220,0.5)"
,
data
:
[
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
()]
},
{
hidden
:
true
,
label
:
'Dataset 2'
,
backgroundColor
:
"rgba(151,187,205,0.5)"
,
data
:
[
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
()]
},
{
label
:
'Dataset 3'
,
backgroundColor
:
"rgba(151,187,205,0.5)"
,
data
:
[
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
(),
randomScalingFactor
()]
}]
};
window
.
onload
=
function
()
{
var
ctx
=
document
.
getElementById
(
"canvas"
).
getContext
(
"2d"
);
window
.
myBar
=
new
Chart
(
ctx
,
{
type
:
'bar'
,
data
:
barChartData
,
options
:
{
// Elements options apply to all of the options unless overridden in a dataset
// In this case, we are setting the border of each bar to be 2px wide and green
elements
:
{
rectangle
:
{
borderWidth
:
2
,
borderColor
:
'rgb(0, 255, 0)'
,
borderSkipped
:
'bottom'
}
},
responsive
:
true
,
legend
:
{
position
:
'top'
,
},
title
:
{
display
:
true
,
text
:
'Chart.js Bar Chart'
}
}
});
};
$
(
'#randomizeData'
).
click
(
function
()
{
var
zero
=
Math
.
random
()
<
0.2
?
true
:
false
;
$
.
each
(
barChartData
.
datasets
,
function
(
i
,
dataset
)
{
dataset
.
backgroundColor
=
randomColor
();
dataset
.
data
=
dataset
.
data
.
map
(
function
()
{
return
zero
?
0.0
:
randomScalingFactor
();
});
});
window
.
myBar
.
update
();
});
$
(
'#addDataset'
).
click
(
function
()
{
var
newDataset
=
{
label
:
'Dataset '
+
barChartData
.
datasets
.
length
,
backgroundColor
:
randomColor
(),
data
:
[]
};
for
(
var
index
=
0
;
index
<
barChartData
.
labels
.
length
;
++
index
)
{
newDataset
.
data
.
push
(
randomScalingFactor
());
}
barChartData
.
datasets
.
push
(
newDataset
);
window
.
myBar
.
update
();
});
$
(
'#addData'
).
click
(
function
()
{
if
(
barChartData
.
datasets
.
length
>
0
)
{
var
month
=
MONTHS
[
barChartData
.
labels
.
length
%
MONTHS
.
length
];
barChartData
.
labels
.
push
(
month
);
for
(
var
index
=
0
;
index
<
barChartData
.
datasets
.
length
;
++
index
)
{
//window.myBar.addData(randomScalingFactor(), index);
barChartData
.
datasets
[
index
].
data
.
push
(
randomScalingFactor
());
}
window
.
myBar
.
update
();
}
});
$
(
'#removeDataset'
).
click
(
function
()
{
barChartData
.
datasets
.
splice
(
0
,
1
);
window
.
myBar
.
update
();
});
$
(
'#removeData'
).
click
(
function
()
{
barChartData
.
labels
.
splice
(
-
1
,
1
);
// remove the label first
barChartData
.
datasets
.
forEach
(
function
(
dataset
,
datasetIndex
)
{
dataset
.
data
.
pop
();
});
window
.
myBar
.
update
();
});
</script>
</body>
</html>
Event Timeline
Log In to Comment