source: sapic/static/plugins/flot/jquery.flot.symbol.js @ bc01af3

erwinexplicacion_situacionalgestion_usuariostaller_django
Last change on this file since bc01af3 was 10f099e, checked in by lhernandez <lhernandez@…>, 7 años ago

Se desarrollo e implemento el registro de oraganizaciones, preparando para asociar voceros al registro

  • Propiedad mode establecida a 100755
File size: 2.4 KB
Línea 
1/* Flot plugin that adds some extra symbols for plotting points.
2
3Copyright (c) 2007-2013 IOLA and Ole Laursen.
4Licensed under the MIT license.
5
6The symbols are accessed as strings through the standard symbol options:
7
8        series: {
9                points: {
10                        symbol: "square" // or "diamond", "triangle", "cross"
11                }
12        }
13
14*/
15
16(function ($) {
17    function processRawData(plot, series, datapoints) {
18        // we normalize the area of each symbol so it is approximately the
19        // same as a circle of the given radius
20
21        var handlers = {
22            square: function (ctx, x, y, radius, shadow) {
23                // pi * r^2 = (2s)^2  =>  s = r * sqrt(pi)/2
24                var size = radius * Math.sqrt(Math.PI) / 2;
25                ctx.rect(x - size, y - size, size + size, size + size);
26            },
27            diamond: function (ctx, x, y, radius, shadow) {
28                // pi * r^2 = 2s^2  =>  s = r * sqrt(pi/2)
29                var size = radius * Math.sqrt(Math.PI / 2);
30                ctx.moveTo(x - size, y);
31                ctx.lineTo(x, y - size);
32                ctx.lineTo(x + size, y);
33                ctx.lineTo(x, y + size);
34                ctx.lineTo(x - size, y);
35            },
36            triangle: function (ctx, x, y, radius, shadow) {
37                // pi * r^2 = 1/2 * s^2 * sin (pi / 3)  =>  s = r * sqrt(2 * pi / sin(pi / 3))
38                var size = radius * Math.sqrt(2 * Math.PI / Math.sin(Math.PI / 3));
39                var height = size * Math.sin(Math.PI / 3);
40                ctx.moveTo(x - size/2, y + height/2);
41                ctx.lineTo(x + size/2, y + height/2);
42                if (!shadow) {
43                    ctx.lineTo(x, y - height/2);
44                    ctx.lineTo(x - size/2, y + height/2);
45                }
46            },
47            cross: function (ctx, x, y, radius, shadow) {
48                // pi * r^2 = (2s)^2  =>  s = r * sqrt(pi)/2
49                var size = radius * Math.sqrt(Math.PI) / 2;
50                ctx.moveTo(x - size, y - size);
51                ctx.lineTo(x + size, y + size);
52                ctx.moveTo(x - size, y + size);
53                ctx.lineTo(x + size, y - size);
54            }
55        };
56
57        var s = series.points.symbol;
58        if (handlers[s])
59            series.points.symbol = handlers[s];
60    }
61   
62    function init(plot) {
63        plot.hooks.processDatapoints.push(processRawData);
64    }
65   
66    $.plot.plugins.push({
67        init: init,
68        name: 'symbols',
69        version: '1.0'
70    });
71})(jQuery);
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.