blockPlot.html
7.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
<!DOCTYPE html>
<html>
<head>
<title>Block Plots</title>
<link class="include" rel="stylesheet" type="text/css" href="../jquery.jqplot.min.css" />
<link rel="stylesheet" type="text/css" href="examples.min.css" />
<link type="text/css" rel="stylesheet" href="syntaxhighlighter/styles/shCoreDefault.min.css" />
<link type="text/css" rel="stylesheet" href="syntaxhighlighter/styles/shThemejqPlot.min.css" />
<!--[if lt IE 9]><script language="javascript" type="text/javascript" src="../excanvas.js"></script><![endif]-->
<script class="include" type="text/javascript" src="../jquery.min.js"></script>
</head>
<body>
<div class="logo">
<div class="nav">
<a class="nav" href="../../../index.php"><span>></span>Home</a>
<a class="nav" href="../../../docs/"><span>></span>Docs</a>
<a class="nav" href="../../download/"><span>></span>Download</a>
<a class="nav" href="../../../info.php"><span>></span>Info</a>
<a class="nav" href="../../../donate.php"><span>></span>Donate</a>
</div>
</div>
<div class="example-content">
<div class="example-nav">
<a href="bezierCurve.html">Previous</a> <a href="./">Examples</a> <a href="bodyOpenerNoHeader.html">Next</a></div>
<!-- Example scripts go here -->
<p>Below is an example block plot. This plot also uses the Enhanced Legend Renderer plugin. Clicking on an item in the legend will toggle display of the appropriate series.</p>
<div id="chart1" class="plot" style="width:500px;height:300px;margin-bottom:30px;"></div>
<p>Blocks can be moved by selecting the series, the point, and an optional duration parameter. If specified, duration will animate the movement. Duration is either a number in milliseconds, or the keywords 'fast' or 'slow'. Higher numbers will cause a slower animation.</p>
Series: <select id="seriesId">
<option value="0" selected>First</option>
<option value="1">Second</option>
<option value="2">Third</option>
</select>
Point: <select id="pointId">
<option value="0" selected>first</option>
<option value="1">second</option>
<option value="2">third</option>
<option value="3">fourth</option>
<option value="4">fifth</option>
<option value="5">six</option>
</select>
Duration: <select id="duration">
<option value="" selected>None</option>
<option value="150">100</option>
<option value="fast">fast</option>
<option value="300">300</option>
<option value="300">400</option>
<option value="300">500</option>
<option value="slow">slow</option>
<option value="900">700</option>
<option value="900">800</option>
<option value="900">900</option>
</select>
X: <button id="mxval" type="button" value="-0.5" onclick="move('x', -1);">-1</button> <button id="pxval" type="button" value="-0.5" onclick="move('x', 0.5);">0.5</button>
Y: <button id="myval" type="button" name="myval" value="-10" onclick="move('y', -30);">-30</button> <button id="pyval" type="button" name="pyval" value="10" onclick="move('y', 15);">15</button>
<pre class="code brush:js"></pre>
<p>This second chart is like the first except the "varyBlockColors" renderer option is set to true. This will vary the color of each block in a series separately. This allows displaying a third dimension to the data such as grouping beverage products by producer and by category such as "cola", "tea", "energy drink", etc.</p>
<p>Also, the legend has it's "showSwathces" option set to false, since the blocks of each series will be of varying color and won't correspond to one swatch color. This still enables the user to show and hide the series by clicking on a label in the legend.</p>
<div id="chart2" class="plot" style="width:500px;height:300px;margin-bottom:30px;"></div>
<script class="code" type="text/javascript">
$(document).ready(function(){
var s1 = [[0.9, 120, 'Vernors'], [1.8, 140, 'Fanta'], [3.2, 90, 'Barqs', {background:'#ddbb33'}],
[4.1, 140, 'Arizon Iced Tea'], [4.5, 91, 'Red Bull'], [6.8, 17, 'Go Girl']];
var s2 = [[1.3, 44, 'Pepsi'], [2.1, 170, 'Sierra Mist'], [2.6, 66, 'Moutain Dew'],
[4, 52, 'Sobe'], [5.4, 16, 'Amp'], [6, 48, 'Aquafina']];
var s3 = [[1, 59, 'Coca-Cola', {background:'rgb(250, 160, 160)'}], [2, 50, 'Ambasa'],
[3, 90, 'Mello Yello'], [4, 90, 'Sprite'], [5, 71, 'Squirt'], [5, 155, 'Youki']];
$('#chart1').jqplot([s1, s2, s3],{
seriesDefaults:{
renderer:$.jqplot.BlockRenderer
},
legend:{
renderer: $.jqplot.EnhancedLegendRenderer,
show:true
},
series: [
{},
{rendererOptions: {
css:{background:'#A1EED6'}
}},
{rendererOptions: {
css:{background:'#D3E4A0'}
}}
],
axes: {
xaxis: {
min:0,
max: 8
},
yaxis: {
min:0,
max: 200
}
}
});
});
function move(dir, val) {
var plot1 = $('#chart1').data('jqplot');
val = parseFloat(val);
var sidx = parseInt($('#seriesId').val());
var pidx = parseInt($('#pointId').val());
var duration = $('#duration').val();
var x = plot1.series[sidx].data[pidx][0];
var y = plot1.series[sidx].data[pidx][1];
(dir == 'x') ? x += val : y += val;
plot1.series[sidx].moveBlock(pidx, x, y, duration);
}
</script>
<script class="code" type="text/javascript">
$(document).ready(function(){
var s1 = [[0.9, 120, 'Vernors'], [1.8, 140, 'Fanta'], [3.2, 90, 'Barqs'],
[4.1, 140, 'Arizon Iced Tea'], [4.5, 91, 'Red Bull'], [6.8, 17, 'Go Girl']];
var s2 = [[1.3, 44, 'Pepsi'], [2.1, 170, 'Sierra Mist'], [2.6, 66, 'Moutain Dew'],
[4, 52, 'Sobe'], [5.4, 16, 'Amp'], [6, 48, 'Aquafina']];
var s3 = [[1, 59, 'Coca-Cola'], [2, 50, 'Sprite'], [3, 90, 'Mello Yello'],
[4, 90, 'Ambasa'], [5, 71, 'Squirt'], [5, 155, 'Youki']];
var plot2 = $.jqplot('chart2',[s1, s2, s3],{
seriesDefaults:{
renderer:$.jqplot.BlockRenderer,
rendererOptions: {
varyBlockColors: true
},
pointLabels:{
show: false
}
},
legend:{
renderer: $.jqplot.EnhancedLegendRenderer,
show:true,
showSwatches: false
},
series: [{label: 'Independent Brands'}, {label: 'Pepsi Brands'}, {label: 'Coke Brands'}],
axes: {
xaxis: {
min:0,
max: 8
},
yaxis: {
min:0,
max: 200
}
}
});
});
</script>
<!-- End example scripts -->
<!-- Don't touch this! -->
<script class="include" type="text/javascript" src="../jquery.jqplot.min.js"></script>
<script type="text/javascript" src="syntaxhighlighter/scripts/shCore.min.js"></script>
<script type="text/javascript" src="syntaxhighlighter/scripts/shBrushJScript.min.js"></script>
<script type="text/javascript" src="syntaxhighlighter/scripts/shBrushXml.min.js"></script>
<!-- Additional plugins go here -->
<script class="include" type="text/javascript" src="../plugins/jqplot.blockRenderer.min.js"></script>
<script class="include" type="text/javascript" src="../plugins/jqplot.enhancedLegendRenderer.min.js"></script>
<script class="include" type="text/javascript" src="../plugins/jqplot.pointLabels.min.js"></script>
<!-- End additional plugins -->
</div>
<script type="text/javascript" src="example.min.js"></script>
</body>
</html>