svg-graph 1.0.1 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/History.txt +7 -5
- data/Manifest.txt +53 -17
- data/README.markdown +14 -0
- data/README.txt +10 -3
- data/Rakefile +6 -0
- data/build.xml +143 -0
- data/dist.xml.in +46 -0
- data/images/bar.png +0 -0
- data/images/bar.svg +76 -0
- data/images/bar.svgz +0 -0
- data/images/barhorizontal.png +0 -0
- data/images/barhorizontal.svg +76 -0
- data/images/barhorizontal.svgz +0 -0
- data/images/line.png +0 -0
- data/images/line.svg +80 -0
- data/images/line.svgz +0 -0
- data/images/pie.png +0 -0
- data/images/pie.svg +70 -0
- data/images/pie.svgz +0 -0
- data/images/plot.png +0 -0
- data/images/plot.svg +131 -0
- data/images/plot.svgz +0 -0
- data/images/schedule.png +0 -0
- data/images/schedule.svg +67 -0
- data/images/timeseries.png +0 -0
- data/images/timeseries.svg +179 -0
- data/images/timeseries.svgz +0 -0
- data/index.xml +281 -0
- data/install.rb +161 -0
- data/lib/SVG/Graph/Bar.rb +1 -1
- data/lib/SVG/Graph/Graph.rb +11 -9
- data/lib/SVG/Graph/Line.rb +1 -0
- data/lib/SVG/Graph/Pie.rb +3 -3
- data/lib/SVG/Graph/Plot.rb +69 -20
- data/lib/SVG/Graph/Schedule.rb +19 -5
- data/lib/SVG/Graph/TimeSeries.rb +62 -45
- data/lib/svggraph.rb +1 -2
- data/screenshots.xml +148 -0
- data/style/common.xsl +37 -0
- data/style/release_html.xsl +169 -0
- data/style/release_txt.xsl +25 -0
- data/svg-graph.gemspec +59 -0
- data/test/data.txt +4 -0
- data/test/plot.rb +51 -0
- data/test/schedule.rb +43 -0
- data/test/single.rb +33 -0
- data/test/test.rb +54 -0
- data/test/test_plot.rb +170 -0
- data/test/test_svg_graph.rb +24 -55
- data/test/timeseries.rb +58 -0
- metadata +79 -14
- metadata.gz.sig +2 -1
data.tar.gz.sig
ADDED
Binary file
|
data/History.txt
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
-
=== 1.0.
|
1
|
+
=== 1.0.3 / 2011-08-04
|
2
|
+
* Removed unused variables which raises warnings on ruby head
|
3
|
+
* Bug fix: Test raises error on different order of xml attribute
|
4
|
+
* Merge pull request #2 from liehann/master
|
5
|
+
* Max values and improved Time data handling.
|
6
|
+
* Merge pull request #1 from thinkingbox/master
|
7
|
+
* Adding scattered plot support with :show_lines =>false Rounding values to integers in popups can be disabled with :round_popups => false Optional description gets shown in popup
|
2
8
|
|
3
|
-
* Work for Ruby version 1.8.6, 1.8.7 and 1.9
|
4
9
|
|
5
|
-
=== 1.0.0 / 2009-08-01
|
6
|
-
|
7
|
-
* First version
|
data/Manifest.txt
CHANGED
@@ -1,17 +1,53 @@
|
|
1
|
-
GPL.txt
|
2
|
-
History.txt
|
3
|
-
LICENSE.txt
|
4
|
-
Manifest.txt
|
5
|
-
README.
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
1
|
+
GPL.txt
|
2
|
+
History.txt
|
3
|
+
LICENSE.txt
|
4
|
+
Manifest.txt
|
5
|
+
README.markdown
|
6
|
+
README.txt
|
7
|
+
Rakefile
|
8
|
+
build.xml
|
9
|
+
dist.xml.in
|
10
|
+
images/bar.png
|
11
|
+
images/bar.svg
|
12
|
+
images/bar.svgz
|
13
|
+
images/barhorizontal.png
|
14
|
+
images/barhorizontal.svg
|
15
|
+
images/barhorizontal.svgz
|
16
|
+
images/line.png
|
17
|
+
images/line.svg
|
18
|
+
images/line.svgz
|
19
|
+
images/pie.png
|
20
|
+
images/pie.svg
|
21
|
+
images/pie.svgz
|
22
|
+
images/plot.png
|
23
|
+
images/plot.svg
|
24
|
+
images/plot.svgz
|
25
|
+
images/schedule.png
|
26
|
+
images/schedule.svg
|
27
|
+
images/timeseries.png
|
28
|
+
images/timeseries.svg
|
29
|
+
images/timeseries.svgz
|
30
|
+
index.xml
|
31
|
+
install.rb
|
32
|
+
lib/SVG/Graph/Bar.rb
|
33
|
+
lib/SVG/Graph/BarBase.rb
|
34
|
+
lib/SVG/Graph/BarHorizontal.rb
|
35
|
+
lib/SVG/Graph/Graph.rb
|
36
|
+
lib/SVG/Graph/Line.rb
|
37
|
+
lib/SVG/Graph/Pie.rb
|
38
|
+
lib/SVG/Graph/Plot.rb
|
39
|
+
lib/SVG/Graph/Schedule.rb
|
40
|
+
lib/SVG/Graph/TimeSeries.rb
|
41
|
+
lib/svggraph.rb
|
42
|
+
screenshots.xml
|
43
|
+
style/common.xsl
|
44
|
+
style/release_html.xsl
|
45
|
+
style/release_txt.xsl
|
46
|
+
svg-graph.gemspec
|
47
|
+
test/data.txt
|
48
|
+
test/plot.rb
|
49
|
+
test/schedule.rb
|
50
|
+
test/single.rb
|
51
|
+
test/test.rb
|
52
|
+
test/test_svg_graph.rb
|
53
|
+
test/timeseries.rb
|
data/README.markdown
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
SVG::Graph19
|
2
|
+
============
|
3
|
+
|
4
|
+
Description
|
5
|
+
-----------
|
6
|
+
This is a minor revision of the [SVG::Graph library](http://www.germane-software.com/software/SVG/SVG::Graph/) by Sean Russell with few minor touch-ups to make it run on Ruby 1.9.x and to have it [gem-installable](http://gemcutter.org/gems/svg-graph19).
|
7
|
+
|
8
|
+
Warning
|
9
|
+
-------
|
10
|
+
I'm not sure that all the parts of the original SVG library work as expected under 1.9.x too. Please notify me (via github messages or on the Issues section) if you find any bug.
|
11
|
+
|
12
|
+
Usage
|
13
|
+
-----
|
14
|
+
Yet to be written. Look at the original [SVG::Graph web page](http://www.germane-software.com/software/SVG/SVG::Graph/) for the moment (I'm not introducing new methods nor changing APIs, for the moment).
|
data/README.txt
CHANGED
@@ -2,22 +2,29 @@
|
|
2
2
|
|
3
3
|
http://www.germane-software.com/software/SVG/SVG::Graph/
|
4
4
|
|
5
|
-
==
|
5
|
+
== AUTHOR
|
6
6
|
|
7
7
|
Sean E. Russell <serATgermaneHYPHENsoftwareDOTcom>
|
8
8
|
Copyright 2004 Sean E. Russell
|
9
9
|
This software is available under the Ruby license[LICENSE.txt]
|
10
10
|
|
11
|
+
== DEVELOPERS
|
12
|
+
|
13
|
+
* Claudio Bustos <clbustos_AT_gmail_DOT_com
|
14
|
+
* Liehann Loots <liehhanl_AT_gmail_DOT_com
|
15
|
+
* Piergiuliano Bossi <pgbossi_AT_gmail_DOT_com
|
11
16
|
|
12
17
|
== DESCRIPTION:
|
13
18
|
|
14
|
-
|
19
|
+
This is a minor revision of the [SVG::Graph library](http://www.germane-software.com/software/SVG/SVG::Graph/) by Sean Russell with few minor touch-ups to make it run on Ruby 1.9.x and to have it gem-installable
|
15
20
|
|
16
21
|
SVG:::Graph is a pure Ruby library for generating charts, which are a type of graph where the values of one axis are not scalar. SVG::Graph has a verry similar API to the Perl library SVG::TT::Graph, and the resulting charts also look the same. This isn't surprising, because SVG::Graph started as a loose port of SVG::TT::Graph, although the internal code no longer resembles the Perl original at all.
|
17
22
|
|
18
23
|
== FEATURES
|
19
24
|
|
20
|
-
* Tested for Ruby versions 1.8.6, 1.8.7 and 1.9
|
25
|
+
* Tested for Ruby versions 1.8.6, 1.8.7 and 1.9.*
|
26
|
+
|
27
|
+
We are not sure that all the parts of the original SVG library work as expected under 1.9.x too. Please notify via github messages or on the Issues section if you find any bug.
|
21
28
|
|
22
29
|
== LICENSE:
|
23
30
|
|
data/Rakefile
CHANGED
@@ -1,13 +1,19 @@
|
|
1
1
|
# -*- ruby -*-
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
$:.unshift(File.dirname(__FILE__)+"/lib/")
|
2
4
|
|
3
5
|
require 'rubygems'
|
4
6
|
require 'hoe'
|
7
|
+
|
8
|
+
Hoe.plugin :git
|
5
9
|
$:.unshift("./lib")
|
6
10
|
require 'svggraph'
|
7
11
|
Hoe.spec 'svg-graph' do
|
8
12
|
self.version=SVG::Graph::VERSION
|
9
13
|
self.developer('Sean Russell', 'ser_AT_germane-software.com')
|
10
14
|
self.developer('Claudio Bustos', 'clbustos_AT_gmail.com')
|
15
|
+
self.developer("Liehann Loots","liehhanl_AT_gmail.com")
|
16
|
+
self.developer("Piergiuliano Bossi","pgbossi_AT_gmail.com")
|
11
17
|
self.rubyforge_name = 'ruby-statsample' # if different than 'svg_graph'
|
12
18
|
self.remote_rdoc_dir = 'svg-graph'
|
13
19
|
end
|
data/build.xml
ADDED
@@ -0,0 +1,143 @@
|
|
1
|
+
<project name='SVG::Graph' default='build-dist' basedir='.'>
|
2
|
+
<property name='date' value='+2005/058'/>
|
3
|
+
<property name='release' value='0.6.1'/>
|
4
|
+
<property name='version' value='$Rev$'/>
|
5
|
+
|
6
|
+
<!-- Build the API docs -->
|
7
|
+
<target name='api'>
|
8
|
+
<filter token='ANT_VERSION' value='${release}'/>
|
9
|
+
<filter token='ANT_DATE' value='${date}'/>
|
10
|
+
<delete dir='doc'/>
|
11
|
+
<mkdir dir='temp'/>
|
12
|
+
<copy todir='temp' filtering='true'> <fileset dir='SVG'/> </copy>
|
13
|
+
<exec executable='rdoc'>
|
14
|
+
<arg line='--main SVG::Graph::Graph --op doc --exclude .svn temp'/>
|
15
|
+
</exec>
|
16
|
+
<delete dir='temp'/>
|
17
|
+
</target>
|
18
|
+
|
19
|
+
|
20
|
+
<!-- Build the API doc archives -->
|
21
|
+
<target name='api-dist' depends='api'>
|
22
|
+
<!-- Make a distribution directory and copy the docs to it -->
|
23
|
+
<mkdir dir='dist'/>
|
24
|
+
<mkdir dir='dist/svg_graph_${release}'/>
|
25
|
+
<mkdir dir='dist/svg_graph_${release}/doc'/>
|
26
|
+
<copy todir='dist/svg_graph_${release}/doc'> <fileset dir='doc'/> </copy>
|
27
|
+
<tar tarfile='svg_graph_api_${release}.tar' basedir='dist'/>
|
28
|
+
<gzip zipfile='svg_graph_api_${release}.tgz' src='svg_graph_api_${release}.tar'/>
|
29
|
+
<zip zipfile='svg_graph_api_${release}.zip' basedir='dist'/>
|
30
|
+
<delete dir='dist'/>
|
31
|
+
<delete> <fileset dir='.' includes='*.tar'/> </delete>
|
32
|
+
</target>
|
33
|
+
|
34
|
+
|
35
|
+
<!-- Builds the distribution archive -->
|
36
|
+
<target name='dist'>
|
37
|
+
<filter token='ANT_VERSION' value='${release}'/>
|
38
|
+
<filter token='ANT_DATE' value='${date}'/>
|
39
|
+
|
40
|
+
<copy file="dist.xml.in" tofile="dist.xml" filtering="true"/>
|
41
|
+
|
42
|
+
<delete dir='dist'/>
|
43
|
+
|
44
|
+
<antcall target='docs'>
|
45
|
+
<param name='destdir' value='dist/svg_graph_${release}'/>
|
46
|
+
</antcall>
|
47
|
+
|
48
|
+
<copy todir='dist/svg_graph_${release}' filtering='true'>
|
49
|
+
<fileset dir='.' excludes='**/.svn/**,*~'
|
50
|
+
includes='README.txt,test.rb,test2.rb,data.txt'/>
|
51
|
+
</copy>
|
52
|
+
<copy filtering='true'
|
53
|
+
tofile='dist/svg_graph_${release}/install.rb' file='install.rb'/>
|
54
|
+
<copy todir='dist/svg_graph_${release}'>
|
55
|
+
<fileset dir='.' includes='SVG/**'/>
|
56
|
+
</copy>
|
57
|
+
|
58
|
+
<tar tarfile='svg_graph_${release}.tar' basedir='dist'/>
|
59
|
+
<gzip zipfile='svg_graph_${release}.tgz' src='svg_graph_${release}.tar'/>
|
60
|
+
<zip zipfile='svg_graph_${release}.zip' basedir='dist'/>
|
61
|
+
|
62
|
+
<!-- clean up -->
|
63
|
+
<delete dir='dist'/>
|
64
|
+
<delete>
|
65
|
+
<fileset dir='.' includes='*.tar'/>
|
66
|
+
</delete>
|
67
|
+
</target>
|
68
|
+
|
69
|
+
|
70
|
+
<target name='web' depends='api,logs'>
|
71
|
+
<delete dir='dist'/>
|
72
|
+
<mkdir dir='dist'/>
|
73
|
+
|
74
|
+
<antcall target='docs'>
|
75
|
+
<param name='destdir' value='dist'/>
|
76
|
+
</antcall>
|
77
|
+
|
78
|
+
<copy file='release.html' tofile='dist/changelog.html'/>
|
79
|
+
|
80
|
+
<copy file="dist.xml.in" tofile="dist/dist.xml" filtering="true"/>
|
81
|
+
<copy todir='dist/doc'> <fileset dir='doc'/> </copy>
|
82
|
+
<tar tarfile='web.tar' basedir='dist'/>
|
83
|
+
<gzip zipfile='web.tgz' src='web.tar'/>
|
84
|
+
|
85
|
+
<delete dir='dist'/>
|
86
|
+
<delete file='web.tar'/>
|
87
|
+
<delete file='index.xsl'/>
|
88
|
+
</target>
|
89
|
+
|
90
|
+
|
91
|
+
<target name='docs'>
|
92
|
+
<filter token='ANT_VERSION' value='${release}'/>
|
93
|
+
<filter token='ANT_DATE' value='${date}'/>
|
94
|
+
<filter token='ANT_PROJECT' value='SVG::Graph'/>
|
95
|
+
|
96
|
+
<copy tofile='${destdir}/index.xml' file='index.xml' filtering='true'/>
|
97
|
+
<copy tofile='${destdir}/screenshots.xml' file='screenshots.xml'/>
|
98
|
+
<copy todir='${destdir}' overwrite='yes' filtering='true'>
|
99
|
+
<fileset dir='.' includes='screenshot.svg,LICENSE.txt,GPL.txt'/>
|
100
|
+
</copy>
|
101
|
+
<copy todir='${destdir}/images'><fileset dir='images'/></copy>
|
102
|
+
|
103
|
+
<get dest='index.xsl'
|
104
|
+
src='http://www.germane-software.com/~ser/styles/common.xsl'/>
|
105
|
+
<style in='${destdir}/index.xml' out='${destdir}/index.html'
|
106
|
+
style='index.xsl'/>
|
107
|
+
<style in='${destdir}/screenshots.xml' out='${destdir}/screenshots.html'
|
108
|
+
style='index.xsl'/>
|
109
|
+
|
110
|
+
<delete file='${destdir}/index.xml'/>
|
111
|
+
<delete file='${destdir}/screenshots.xml'/>
|
112
|
+
</target>
|
113
|
+
|
114
|
+
|
115
|
+
<target name='logs'>
|
116
|
+
<echo>Generating logs...</echo>
|
117
|
+
<echo file='log.xml'><![CDATA[<log><previous>]]></echo>
|
118
|
+
<exec executable='svn' output='log.xml' append='true'>
|
119
|
+
<arg line='log --xml --incremental -r HEAD:1 .'/>
|
120
|
+
</exec>
|
121
|
+
<echo file='log.xml' append='true'><![CDATA[</previous></log>]]></echo>
|
122
|
+
|
123
|
+
<echo>Creating release document...</echo>
|
124
|
+
<style in='log.xml' out='release.html' style='style/release_html.xsl'>
|
125
|
+
<param name='release' expression='${release}'/>
|
126
|
+
</style>
|
127
|
+
|
128
|
+
<echo>Cleaning up...</echo>
|
129
|
+
<delete><fileset dir='.' includes='log.xml'/></delete>
|
130
|
+
</target>
|
131
|
+
|
132
|
+
|
133
|
+
<target name='clean'>
|
134
|
+
<delete>
|
135
|
+
<fileset dir='.' includes='dist.xml,*.tgz,*.zip,*~,index.html,release.html'/>
|
136
|
+
<fileset dir='doc'/>
|
137
|
+
</delete>
|
138
|
+
</target>
|
139
|
+
|
140
|
+
<!-- The main task. We don't have to compile anything, so we just build a
|
141
|
+
bunch of documentation and some distribution archives. -->
|
142
|
+
<target name='build-dist' depends='api-dist,dist,web'/>
|
143
|
+
</project>
|
data/dist.xml.in
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
<!--
|
2
|
+
- The project must have a 'name', 'version', and 'date'.
|
3
|
+
- It must also have either a 'url' or a <documentation> entry. The 'url'
|
4
|
+
- attribute overrides the <documentation> entry.
|
5
|
+
-->
|
6
|
+
<project name='SVG::Graph' version='@ANT_VERSION@' date='@ANT_DATE@'>
|
7
|
+
|
8
|
+
<!-- The language the project is in -->
|
9
|
+
<language name='ruby'/>
|
10
|
+
|
11
|
+
<!--
|
12
|
+
- The project category. Multiple categories are allowed, but only the
|
13
|
+
- first one is (currently) used.
|
14
|
+
-->
|
15
|
+
<category>SVG</category>
|
16
|
+
<category>Ruby</category>
|
17
|
+
<category>Libraries</category>
|
18
|
+
|
19
|
+
<!-- A short description for the index page. Can contain HTML -->
|
20
|
+
<description>
|
21
|
+
<p>
|
22
|
+
SVG:::Graph is a pure Ruby library for generating charts, which are a type of graph
|
23
|
+
where the values of one axis are not scalar. SVG::Graph has a verry similar API
|
24
|
+
to the Perl library SVG::TT::Graph, and the resulting charts also look the same.
|
25
|
+
</p>
|
26
|
+
|
27
|
+
<p>This software is distribute under the Ruby license.</p>
|
28
|
+
</description>
|
29
|
+
|
30
|
+
<!--
|
31
|
+
- If documentation attributes exist, the files referenced will be
|
32
|
+
- untarred into <web path>/<category>/<name>, and the index link will
|
33
|
+
- point to this directory. If the <project> 'name' attribute exists,
|
34
|
+
- it will be used as the link instead.
|
35
|
+
-->
|
36
|
+
<documentation file='web.tgz'/>
|
37
|
+
|
38
|
+
<!--
|
39
|
+
- A list of archive files. These files will be copied to the archive
|
40
|
+
- directory.
|
41
|
+
-->
|
42
|
+
<archive title='API docs (tgz)' file='svg_graph_api_@ANT_VERSION@.tgz'/>
|
43
|
+
<archive title='API docs (zip)' file='svg_graph_api_@ANT_VERSION@.zip'/>
|
44
|
+
<archive title='Source (tgz)' file='svg_graph_@ANT_VERSION@.tgz'/>
|
45
|
+
<archive title='Source (zip)' file='svg_graph_@ANT_VERSION@.zip'/>
|
46
|
+
</project>
|
data/images/bar.png
ADDED
Binary file
|
data/images/bar.svg
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
<?xml version='1.0'?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
3
|
+
<svg xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 640 480' height='480' width='640' xmlns='http://www.w3.org/2000/svg'>
|
4
|
+
<!-- \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
5
|
+
-->
|
6
|
+
<!-- Created with SVG::Graph
|
7
|
+
-->
|
8
|
+
<!-- Sean Russell
|
9
|
+
-->
|
10
|
+
<!-- Based on SVG::TT::Graph for Perl by Leo Lapworth & Stephan Morgan
|
11
|
+
-->
|
12
|
+
<!-- //////////////////////////////////////////////////////////////////
|
13
|
+
-->
|
14
|
+
<defs/>
|
15
|
+
<!--SVG Background
|
16
|
+
-->
|
17
|
+
<rect x='0' class='svgBackground' y='0' height='480' style='fill:#ffffff;' width='640'/>
|
18
|
+
<g transform='translate( 14.2 26 )'>
|
19
|
+
<rect x='0' class='graphBackground' y='0' height='435' style='fill:#f0f0f0;' width='560.8'/>
|
20
|
+
<path class='axis' d='M 0 0 v435' id='xAxis' style='stroke: #000000; stroke-width: 1px;'/>
|
21
|
+
<path class='axis' d='M 0 435 h560.8' id='yAxis' style='stroke: #000000; stroke-width: 1px;'/>
|
22
|
+
<text x='56.08' class='xAxisLabels' y='450' style='text-anchor: middle; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: middle'>Internet</text>
|
23
|
+
<text x='168.24' class='xAxisLabels' y='450' style='text-anchor: middle; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: middle'>TV</text>
|
24
|
+
<text x='280.4' class='xAxisLabels' y='450' style='text-anchor: middle; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: middle'>Newspaper</text>
|
25
|
+
<text x='392.56' class='xAxisLabels' y='450' style='text-anchor: middle; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: middle'>Magazine</text>
|
26
|
+
<text x='504.72' class='xAxisLabels' y='450' style='text-anchor: middle; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: middle'>Radio
|
27
|
+
</text>
|
28
|
+
<text x='-3' class='yAxisLabels' y='439.0' style='text-anchor: end; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: end'>0</text>
|
29
|
+
<text x='-3' class='yAxisLabels' y='302.0' style='text-anchor: end; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: end'>1</text>
|
30
|
+
<path class='guideLines' d='M0 298.0 h560.8' style='stroke: #666666; stroke-width: 1px; stroke-dasharray: 5 5;'/>
|
31
|
+
<text x='-3' class='yAxisLabels' y='165.0' style='text-anchor: end; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: end'>2</text>
|
32
|
+
<path class='guideLines' d='M0 161.0 h560.8' style='stroke: #666666; stroke-width: 1px; stroke-dasharray: 5 5;'/>
|
33
|
+
<text x='-3' class='yAxisLabels' y='28.0' style='text-anchor: end; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: end'>3</text>
|
34
|
+
<path class='guideLines' d='M0 24.0 h560.8' style='stroke: #666666; stroke-width: 1px; stroke-dasharray: 5 5;'/>
|
35
|
+
<path class='fill1' d='M0.0 435 V161.0 h51.08 V435 Z' style='fill: #ff0000; fill-opacity: 0.5; stroke: none; stroke-width: 0.5px;'/>
|
36
|
+
<path class='fill2' d='M51.08 435 V298.0 h51.08 V435 Z' style='fill: #0000ff; fill-opacity: 0.5; stroke: none; stroke-width: 1px;'/>
|
37
|
+
<path class='fill1' d='M112.16 435 V161.0 h51.08 V435 Z' style='fill: #ff0000; fill-opacity: 0.5; stroke: none; stroke-width: 0.5px;'/>
|
38
|
+
<path class='fill2' d='M163.24 435 V298.0 h51.08 V435 Z' style='fill: #0000ff; fill-opacity: 0.5; stroke: none; stroke-width: 1px;'/>
|
39
|
+
<path class='fill1' d='M224.32 435 V435.0 h51.08 V435 Z' style='fill: #ff0000; fill-opacity: 0.5; stroke: none; stroke-width: 0.5px;'/>
|
40
|
+
<path class='fill2' d='M275.4 435 V435.0 h51.08 V435 Z' style='fill: #0000ff; fill-opacity: 0.5; stroke: none; stroke-width: 1px;'/>
|
41
|
+
<path class='fill1' d='M336.48 435 V24.0 h51.08 V435 Z' style='fill: #ff0000; fill-opacity: 0.5; stroke: none; stroke-width: 0.5px;'/>
|
42
|
+
<path class='fill2' d='M387.56 435 V24.0 h51.08 V435 Z' style='fill: #0000ff; fill-opacity: 0.5; stroke: none; stroke-width: 1px;'/>
|
43
|
+
<path class='fill1' d='M448.64 435 V435.0 h51.08 V435 Z' style='fill: #ff0000; fill-opacity: 0.5; stroke: none; stroke-width: 0.5px;'/>
|
44
|
+
<path class='fill2' d='M499.72 435 V298.0 h51.08 V435 Z' style='fill: #0000ff; fill-opacity: 0.5; stroke: none; stroke-width: 1px;'/>
|
45
|
+
<g>
|
46
|
+
<text x='25.54' class='dataPointLabel' y='155.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal; stroke: #fff; stroke-width: 2;'>2</text>
|
47
|
+
<text x='25.54' class='dataPointLabel' y='155.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;'>2</text>
|
48
|
+
<text x='76.62' class='dataPointLabel' y='292.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal; stroke: #fff; stroke-width: 2;'>1</text>
|
49
|
+
<text x='76.62' class='dataPointLabel' y='292.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;'>1</text>
|
50
|
+
<text x='137.7' class='dataPointLabel' y='155.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal; stroke: #fff; stroke-width: 2;'>2</text>
|
51
|
+
<text x='137.7' class='dataPointLabel' y='155.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;'>2</text>
|
52
|
+
<text x='188.78' class='dataPointLabel' y='292.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal; stroke: #fff; stroke-width: 2;'>1</text>
|
53
|
+
<text x='188.78' class='dataPointLabel' y='292.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;'>1</text>
|
54
|
+
<text x='249.86' class='dataPointLabel' y='429.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal; stroke: #fff; stroke-width: 2;'>0</text>
|
55
|
+
<text x='249.86' class='dataPointLabel' y='429.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;'>0</text>
|
56
|
+
<text x='300.94' class='dataPointLabel' y='429.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal; stroke: #fff; stroke-width: 2;'>0</text>
|
57
|
+
<text x='300.94' class='dataPointLabel' y='429.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;'>0</text>
|
58
|
+
<text x='362.02' class='dataPointLabel' y='18.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal; stroke: #fff; stroke-width: 2;'>3</text>
|
59
|
+
<text x='362.02' class='dataPointLabel' y='18.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;'>3</text>
|
60
|
+
<text x='413.1' class='dataPointLabel' y='18.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal; stroke: #fff; stroke-width: 2;'>3</text>
|
61
|
+
<text x='413.1' class='dataPointLabel' y='18.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;'>3</text>
|
62
|
+
<text x='474.18' class='dataPointLabel' y='429.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal; stroke: #fff; stroke-width: 2;'>0</text>
|
63
|
+
<text x='474.18' class='dataPointLabel' y='429.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;'>0</text>
|
64
|
+
<text x='525.26' class='dataPointLabel' y='292.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal; stroke: #fff; stroke-width: 2;'>1</text>
|
65
|
+
<text x='525.26' class='dataPointLabel' y='292.0' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;'>1</text>
|
66
|
+
</g>
|
67
|
+
</g>
|
68
|
+
<text x='320' class='mainTitle' y='16' style='text-anchor: middle; fill: #000000; font-size: 16px; font-family: "Arial", sans-serif; font-weight: normal;'>Question 7
|
69
|
+
</text>
|
70
|
+
<g transform='translate(585.0 46)'>
|
71
|
+
<rect x='0' class='key1' y='0' height='12' style='fill: #ff0000; fill-opacity: 0.5; stroke: none; stroke-width: 0.5px;' width='12'/>
|
72
|
+
<text x='17' class='keyText' y='12' style='fill: #000000; text-anchor:start; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;'>Female</text>
|
73
|
+
<rect x='0' class='key2' y='17' height='12' style='fill: #0000ff; fill-opacity: 0.5; stroke: none; stroke-width: 1px;' width='12'/>
|
74
|
+
<text x='17' class='keyText' y='29' style='fill: #000000; text-anchor:start; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;'>Male</text>
|
75
|
+
</g>
|
76
|
+
</svg>
|
data/images/bar.svgz
ADDED
Binary file
|
Binary file
|
@@ -0,0 +1,76 @@
|
|
1
|
+
<?xml version='1.0'?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
3
|
+
<svg xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 640 480' height='480' width='640' xmlns='http://www.w3.org/2000/svg'>
|
4
|
+
<!-- \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
5
|
+
-->
|
6
|
+
<!-- Created with SVG::Graph
|
7
|
+
-->
|
8
|
+
<!-- Sean Russell
|
9
|
+
-->
|
10
|
+
<!-- Based on SVG::TT::Graph for Perl by Leo Lapworth & Stephan Morgan
|
11
|
+
-->
|
12
|
+
<!-- //////////////////////////////////////////////////////////////////
|
13
|
+
-->
|
14
|
+
<defs/>
|
15
|
+
<!--SVG Background
|
16
|
+
-->
|
17
|
+
<rect x='0' class='svgBackground' y='0' height='480' style='fill:#ffffff;' width='640'/>
|
18
|
+
<g transform='translate( 19 26 )'>
|
19
|
+
<rect x='0' class='graphBackground' y='0' height='435' style='fill:#f0f0f0;' width='556.0'/>
|
20
|
+
<path class='axis' d='M 0 0 v435' id='xAxis' style='stroke: #000000; stroke-width: 1px;'/>
|
21
|
+
<path class='axis' d='M 0 435 h556.0' id='yAxis' style='stroke: #000000; stroke-width: 1px;'/>
|
22
|
+
<text x='0.0' class='xAxisLabels' y='450' style='text-anchor: middle; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: middle'>0</text>
|
23
|
+
<text x='177.333333333333' class='xAxisLabels' y='450' style='text-anchor: middle; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: middle'>1</text>
|
24
|
+
<path class='guideLines' d='M177.333333333333 0 v435' style='stroke: #666666; stroke-width: 1px; stroke-dasharray: 5 5;'/>
|
25
|
+
<text x='354.666666666667' class='xAxisLabels' y='450' style='text-anchor: middle; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: middle'>2</text>
|
26
|
+
<path class='guideLines' d='M354.666666666667 0 v435' style='stroke: #666666; stroke-width: 1px; stroke-dasharray: 5 5;'/>
|
27
|
+
<text x='532.0' class='xAxisLabels' y='450' style='text-anchor: middle; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: middle'>3</text>
|
28
|
+
<path class='guideLines' d='M532.0 0 v435' style='stroke: #666666; stroke-width: 1px; stroke-dasharray: 5 5;'/>
|
29
|
+
<text transform='translate( -12 0 ) rotate( 90 0 391.5 ) ' x='0' class='yAxisLabels' y='391.5' style='text-anchor: end; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: middle'>Internet</text>
|
30
|
+
<text transform='translate( -12 0 ) rotate( 90 0 304.5 ) ' x='0' class='yAxisLabels' y='304.5' style='text-anchor: end; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: middle'>TV</text>
|
31
|
+
<text transform='translate( -12 0 ) rotate( 90 0 217.5 ) ' x='0' class='yAxisLabels' y='217.5' style='text-anchor: end; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: middle'>Newspaper</text>
|
32
|
+
<text transform='translate( -12 0 ) rotate( 90 0 130.5 ) ' x='0' class='yAxisLabels' y='130.5' style='text-anchor: end; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: middle'>Magazine</text>
|
33
|
+
<text transform='translate( -12 0 ) rotate( 90 0 43.5 ) ' x='0' class='yAxisLabels' y='43.5' style='text-anchor: end; fill: #000000; font-size: 12px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: middle'>Radio
|
34
|
+
</text>
|
35
|
+
<path class='fill1' d='M0 348.0 H354.666666666667 v38.5 H0 Z' style='fill: #ff0000; fill-opacity: 0.5; stroke: none; stroke-width: 0.5px;'/>
|
36
|
+
<path class='fill2' d='M0 386.5 H177.333333333333 v38.5 H0 Z' style='fill: #0000ff; fill-opacity: 0.5; stroke: none; stroke-width: 1px;'/>
|
37
|
+
<path class='fill1' d='M0 261.0 H354.666666666667 v38.5 H0 Z' style='fill: #ff0000; fill-opacity: 0.5; stroke: none; stroke-width: 0.5px;'/>
|
38
|
+
<path class='fill2' d='M0 299.5 H177.333333333333 v38.5 H0 Z' style='fill: #0000ff; fill-opacity: 0.5; stroke: none; stroke-width: 1px;'/>
|
39
|
+
<path class='fill1' d='M0 174.0 H0.0 v38.5 H0 Z' style='fill: #ff0000; fill-opacity: 0.5; stroke: none; stroke-width: 0.5px;'/>
|
40
|
+
<path class='fill2' d='M0 212.5 H0.0 v38.5 H0 Z' style='fill: #0000ff; fill-opacity: 0.5; stroke: none; stroke-width: 1px;'/>
|
41
|
+
<path class='fill1' d='M0 87.0 H532.0 v38.5 H0 Z' style='fill: #ff0000; fill-opacity: 0.5; stroke: none; stroke-width: 0.5px;'/>
|
42
|
+
<path class='fill2' d='M0 125.5 H532.0 v38.5 H0 Z' style='fill: #0000ff; fill-opacity: 0.5; stroke: none; stroke-width: 1px;'/>
|
43
|
+
<path class='fill1' d='M0 0.0 H0.0 v38.5 H0 Z' style='fill: #ff0000; fill-opacity: 0.5; stroke: none; stroke-width: 0.5px;'/>
|
44
|
+
<path class='fill2' d='M0 38.5 H177.333333333333 v38.5 H0 Z' style='fill: #0000ff; fill-opacity: 0.5; stroke: none; stroke-width: 1px;'/>
|
45
|
+
<g>
|
46
|
+
<text x='359.666666666667' class='dataPointLabel' y='373.25' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; stroke: #fff; stroke-width: 2;'>2</text>
|
47
|
+
<text x='359.666666666667' class='dataPointLabel' y='373.25' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; '>2</text>
|
48
|
+
<text x='182.333333333333' class='dataPointLabel' y='411.75' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; stroke: #fff; stroke-width: 2;'>1</text>
|
49
|
+
<text x='182.333333333333' class='dataPointLabel' y='411.75' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; '>1</text>
|
50
|
+
<text x='359.666666666667' class='dataPointLabel' y='286.25' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; stroke: #fff; stroke-width: 2;'>2</text>
|
51
|
+
<text x='359.666666666667' class='dataPointLabel' y='286.25' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; '>2</text>
|
52
|
+
<text x='182.333333333333' class='dataPointLabel' y='324.75' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; stroke: #fff; stroke-width: 2;'>1</text>
|
53
|
+
<text x='182.333333333333' class='dataPointLabel' y='324.75' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; '>1</text>
|
54
|
+
<text x='5.0' class='dataPointLabel' y='199.25' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; stroke: #fff; stroke-width: 2;'>0</text>
|
55
|
+
<text x='5.0' class='dataPointLabel' y='199.25' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; '>0</text>
|
56
|
+
<text x='5.0' class='dataPointLabel' y='237.75' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; stroke: #fff; stroke-width: 2;'>0</text>
|
57
|
+
<text x='5.0' class='dataPointLabel' y='237.75' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; '>0</text>
|
58
|
+
<text x='537.0' class='dataPointLabel' y='112.25' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; stroke: #fff; stroke-width: 2;'>3</text>
|
59
|
+
<text x='537.0' class='dataPointLabel' y='112.25' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; '>3</text>
|
60
|
+
<text x='537.0' class='dataPointLabel' y='150.75' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; stroke: #fff; stroke-width: 2;'>3</text>
|
61
|
+
<text x='537.0' class='dataPointLabel' y='150.75' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; '>3</text>
|
62
|
+
<text x='5.0' class='dataPointLabel' y='25.25' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; stroke: #fff; stroke-width: 2;'>0</text>
|
63
|
+
<text x='5.0' class='dataPointLabel' y='25.25' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; '>0</text>
|
64
|
+
<text x='182.333333333333' class='dataPointLabel' y='63.75' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; stroke: #fff; stroke-width: 2;'>1</text>
|
65
|
+
<text x='182.333333333333' class='dataPointLabel' y='63.75' style='fill: #000000; text-anchor:middle; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;text-anchor: start; '>1</text>
|
66
|
+
</g>
|
67
|
+
</g>
|
68
|
+
<text x='320' class='mainTitle' y='16' style='text-anchor: middle; fill: #000000; font-size: 16px; font-family: "Arial", sans-serif; font-weight: normal;'>Question 7
|
69
|
+
</text>
|
70
|
+
<g transform='translate(585.0 46)'>
|
71
|
+
<rect x='0' class='key1' y='0' height='12' style='fill: #ff0000; fill-opacity: 0.5; stroke: none; stroke-width: 0.5px;' width='12'/>
|
72
|
+
<text x='17' class='keyText' y='12' style='fill: #000000; text-anchor:start; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;'>Female</text>
|
73
|
+
<rect x='0' class='key2' y='17' height='12' style='fill: #0000ff; fill-opacity: 0.5; stroke: none; stroke-width: 1px;' width='12'/>
|
74
|
+
<text x='17' class='keyText' y='29' style='fill: #000000; text-anchor:start; font-size: 10px; font-family: "Arial", sans-serif; font-weight: normal;'>Male</text>
|
75
|
+
</g>
|
76
|
+
</svg>
|