Class: BarChart

Inherits:
Object
  • Object
show all
Defined in:
lib/bar_chart/bar_chart.rb

Instance Method Summary collapse

Constructor Details

#initialize(group, value, params) ⇒ BarChart

  • group - a vector of String categories

  • value - a vector of Float numeric value

  • parms - an Hash whit parametrs value

Parms

This Hash contain parmas . List of key permitted .

  • :title - (default “A sample Graph”) Graph main title

  • :x_label - (default ‘Categories’) Label of x ass

  • :y_label - (default ‘Value’) Label of y ass

  • :legend - (default false) Prints legend

  • :vertical - (default true) The orientation of the plot

  • :group_by - (default nil) A vector of values used to group the values into series within each category.

  • :height - (default 1500) Graph height

  • :width - (default 800) Graph width

  • :file_name - (default sample.jpg) Graph File Name/Path to save plot. You can chose jpg or pdf

Examples

Class Usage:

categories = ["uman","elf","dwarfs"]
values = [1.0,2.0,3.0]
params = {"title" => "Popolation of middle heart","x_label"=>"Popolation","y_label"=>"greed"}
plot = BarChart.new(categories,values,params)
#To view
plot.view 
#to save
plot.save


38
39
40
41
42
# File 'lib/bar_chart/bar_chart.rb', line 38

def initialize(group,value,params)
	@group=check_grp(group)
	@value=check_val(value)
	@params=self.check_par(params)
end

Instance Method Details

#check_par(params) ⇒ Object



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
# File 'lib/bar_chart/bar_chart.rb', line 44

def check_par(params)
       	hash = Hash.new
	permitted = ["title","x_label","y_label","vertical","group_by","legend","width","height","file_name"]
       	keys = params.keys
       	keys.each{ |key|
               	 if permitted.include?(key)==false
                       	raise "Error : Permitted key are title,x_label,y_label,vertical,group_by,legend,width,height"
                	end
       	}
	
	if params["title"]==nil
               	hash["title"]="A sample Graph"
       	else
               	 hash["title"]=params["title"]
       	end

	if params["x_label"]==nil
                       hash["x_label"]="Categories"
               else
                        hash["x_label"]=params["x_label"]
               end

	if params["y_label"]==nil
                       hash["y_label"]="Values"
               else
                       hash["y_label"]=params["y_label"]
               end

	if params["vertical"]==nil
               	hash["vertical"]=true
      		else
               	hash["vertical"]=params["vertical"]
       	end

 	if params["legend"]==nil
       	        hash["legend"]=false
     		else
               	hash["legend"]=params["legend"]
       	end
	
	if params["gruop_by"]==nil
                       hash["group_by"]=nil
               else
                       hash["group_by"]=params["group_by"]
               end

	if params["width"]==nil
               	hash["width"]=1500
       	else
               	hash["width"]=params["width"]
       	end

	if params["height"]==nil
               	hash["height"]=800
       	else
               	hash["height"]=params["height"]
       	end

       	if params["file_name"]==nil
               	hash["file_name"]="sample.jpg"
       	else
               	hash["file_name"]=params["file_name"]
      		end

	params_map = HashMap.new(hash)
       	return params_map
end

#getGroupObject



112
113
114
# File 'lib/bar_chart/bar_chart.rb', line 112

def getGroup
	@group
end

#getParamsObject



120
121
122
# File 'lib/bar_chart/bar_chart.rb', line 120

def getParams
        @params
end

#getValueObject



116
117
118
# File 'lib/bar_chart/bar_chart.rb', line 116

def getValue
	@value 
end

#saveObject



125
126
127
128
129
130
131
# File 'lib/bar_chart/bar_chart.rb', line 125

def save
	begin
       		a = Java::ComDomain::clocomics
      			a.save_bar(self.getGroup,self.getValue,self.getParams)
	rescue Exception => ex
	end
end

#viewObject



132
133
134
135
136
137
138
139
140
# File 'lib/bar_chart/bar_chart.rb', line 132

def view
	 begin
                       a = Java::ComDomain::clocomics
                       a.view_bar(self.getGroup,self.getValue,self.getParams)
               rescue Exception => ex
               end


end