def create_graphs(self): """ Cria graficos para nextHeader, addressType e trafficClass Exporta como imagem para ser utilizado com o GTK.""" self.set_dicts() background = cairo.LinearGradient(300, 0, 300, 400) background.add_color_stop_rgb(0,0.4,0.4,0.4) background.add_color_stop_rgb(1.0,0.1,0.1,0.1) data = self.next_header_dict cairoplot.donut_plot( "nextHeader.svg", data, 400, 200, gradient = True, shadow = True, inner_radius = 0.3 ) data = self.address_type_dict cairoplot.donut_plot( "addressType.svg", data, 400, 200, gradient = True, shadow = True, inner_radius = 0.3 ) data = self.traffic_class_dict cairoplot.donut_plot( "trafficClass.svg", data, 400, 200, gradient = True, shadow = True, inner_radius = 0.3 ) data = self.number_of_next_header x_labels = ["Quantidade de próximos cabeçalhos"] y_labels = [str(i) for i in range(max(data)+1)] # cairoplot.dot_line_plot("lenNextHeader.svg", data, 400, 200, axis = False, grid = True, x_labels = [' ',' ']) cairoplot.vertical_bar_plot ( 'lenNextHeader.svg', data, 400, 200, grid = True, rounded_corners = True, x_labels = x_labels, y_labels = y_labels) self.counts_udp_icmpv6() size = len(self.filtered_list) data = [ [self.icmpv6_number, size - self.icmpv6_number], [self.udp_number, size - self.udp_number]] colors = [ (1,0.2,0), (1,1,0) ] x_labels = ["ICMPv6", "UDP"] cairoplot.vertical_bar_plot ( 'extra.svg', data, 400, 200, display_values = True, grid = True, rounded_corners = True, stack = True, x_labels = x_labels, colors = colors )
def MakeGraphTop3(self, Data, FileName): """ Funzione che produce un grafico dei nodi a maggiore latenza sotto forma di istogram. :param Data: Serie di dati da dover graficare. :param FileName: Nome file da assegnare al grafico prodotto. :returns: *nulla* """ global Interval FileName = 'extra/MonitorGraph/'+FileName ordered = sorted(Data.iteritems(), key=operator.itemgetter(1), reverse=True) first3 = [] colors3 = [] for item in ordered: if (len(first3) < 3) and (item[0] in self.ProbeList): colors3.append(self.Colors[sorted(self.ProbeList).index(item[0])]) first3.append(item[1]) #ogni volta cerca di acquisire il lock per creare una nuova immagine, se non riesce, rompe il lock TempLock = FileLock(FileName) try: TempLock.acquire(timeout=Interval) except LockTimeout: TempLock.break_lock() else: cairoplot.vertical_bar_plot(FileName, first3, 170, 130, display_values=True, colors=colors3) TempLock.release()
def plot(output_filename, plot_type, *data_files): raw_data = map(lambda x: json.load(open(x)), data_files) series_labels = map(lambda x: get_name(x[1], data_files[x[0]]), enumerate(raw_data)) queries = sorted(filter(lambda x: x != "__metadata__", set(sum([d.keys() for d in raw_data], []))), cmp=compare_queries) data = [] max_value = 0 no_index = list() style = plot_type for n, query in enumerate(queries): x = [get_data(d, query, style) for d in raw_data] print x y = max(x) idx_border = [ not d.get(query, {}).get("uses_index", True) for d in raw_data ] for i, b in enumerate(idx_border): if b: no_index.append((n, i)) if y > max_value: max_value = y data.append(x) y_parts = max_value / float(4) y_labels = ["%.5fs" % (i * y_parts) for i in range(5)] vertical_bar_plot(output_filename, data, len(queries) * 400, 600, x_labels=queries, y_labels=y_labels, grid=True, series_labels=series_labels, bar_borders=no_index)
def totalPlot(res,plotFileName='PercentCommingAllGroups.svg'): data = [] plotName = [] for rec in res: data.append([100*rec[1]/rec[4],100*rec[2]/rec[4],100*rec[3]/rec[4]]) plotName.append(rec[0]) colors = [ colorGreen, colorRed, colorYellow] cairoplot.vertical_bar_plot ( plotFileName, data, 1920, 1080, border = 20, grid = True, rounded_corners = True, stack=True,colors = colors, x_labels=plotName, three_dimension = True ) print "wrote",plotFileName
def totalPlot(res, plotFileName='PercentCommingAllGroups.svg'): data = [] plotName = [] for rec in res: data.append([ 100 * rec[1] / rec[4], 100 * rec[2] / rec[4], 100 * rec[3] / rec[4] ]) plotName.append(rec[0]) colors = [colorGreen, colorRed, colorYellow] cairoplot.vertical_bar_plot(plotFileName, data, 1920, 1080, border=20, grid=True, rounded_corners=True, stack=True, colors=colors, x_labels=plotName, three_dimension=True) print "wrote", plotFileName
def GraphData(self): data = [] virustotal = 0 Malc0de = 0 Malwaretracker = 0 CleanMX = 0 Reputation = 0 ShadowServer = 0 if self.genreport.__contains__("ThreatExpert"): data.append(self.genreport["ThreatExpert"]["count"]) if self.genreport.__contains__("VirusTotal"): data.append(10) if self.genreport.__contains__("Malc0de"): data.append(self.genreport["Malc0de"]["count"]) if self.genreport.__contains__("Malwr"): data.append(self.genreport["Malwr"]["count"]) if self.genreport.__contains__("MalwareTrackerDoc"): data.append(self.genreport["MalwareTrackerDoc"]["count"]) if self.genreport.__contains__("CleanMX"): data.append(self.genreport["CleanMX"]["count"]) if self.genreport.__contains__("PandaSecurity"): data.append(self.genreport["PandaSecurity"]["count"]) if self.genreport.__contains__("ShadowServer"): data.append(self.genreport["ShadowServer"]["count"]) if self.genreport.__contains__("Malekal"): data.append(self.genreport["Malekal"]["count"]) if self.genreport.__contains__("Sarvam"): data.append(self.genreport["Sarvam"]["count"]) if self.genreport.__contains__("MalwareTrackerPdf"): data.append(self.genreport["MalwareTrackerPdf"]["count"]) #y_labels = [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" ] x_labels = [ "ThreatExpert","VirusTotal","Malc0de","Malwr", "MalwaretrackerDoc","Clean","Xandora","ShadowServer", "Malekal","Sarvam","MalwareTrackerPdf"] cairoplot.vertical_bar_plot (os.path.join(COLLECTOR_ROOT,"charts","GraphData.png"), data, 700, 190, border = 20, display_values = True, grid = True, x_labels = x_labels, colors ="red_green_blue" )
if counter == 0: data.append([alter, ret, excl, acr]) ret = 0 excl = 0 acr = 0 alter = 0 data.reverse() import cairoplot cor_retorno = (1, 0, 0) # vermelho cor_exclusao = (1, 0.7, 0) # laranja cor_alteracao = (1, 1, 0) # amarelo cor_acrescimo = (0, 0, 1) # azul colors = [cor_alteracao, cor_retorno, cor_exclusao, cor_acrescimo] cairoplot.vertical_bar_plot( "../dados/graficos/propostas_barras_segmentado.png", data, 2000, 1500, border=50, display_values=False, grid=True, rounded_corners=True, stack=True, colors=colors, )
ress += i[1]["concordo-com-ressalvas"] except: pass counter = (counter + 1) % num if counter == 0: data.append([conc, nconc, ress]) conc = 0 nconc = 0 ress = 0 data.reverse() import cairoplot cor_conc = (0, 1, 0) #verde cor_ress = (1, 1, 0) #amarelo cor_nconc = (1, 0, 0) #vermelho colors = [cor_conc, cor_nconc, cor_ress] cairoplot.vertical_bar_plot('../dados/graficos/opiniao_barras_segmentado.png', data, 2000, 1500, border=50, display_values=False, grid=True, rounded_corners=True, stack=True, colors=colors)
b = 0 c = 1.5 gaussian = lambda x : a*math.exp(-(x-b)*(x-b)/(2*c*c)) cairoplot.function_plot( 'function_5_gaussian_series.png', data, 400, 300, grid = True, x_bounds = (-10,10), step = 0.1 ) #Dict function plot data = Series() data.range = (-5,5) data.group_list = {'linear':lambda x : x*2, 'quadratic':lambda x:x**2, 'cubic':lambda x:(x**3)/2} cairoplot.function_plot( 'function_6_dict_serie.png', data, 400, 300, grid = True, x_bounds=(-5,5), step = 0.1 ) if test_vertical_bar_plot: #Passing a dictionary data = Series({ 'teste00' : [27], 'teste01' : [10], 'teste02' : [18], 'teste03' : [5], 'teste04' : [1], 'teste05' : [22] }) cairoplot.vertical_bar_plot ( 'vbar_0_dictionary_series.png', data, 400, 300, border = 20, grid = True, rounded_corners = True ) #Display values data = Series({ 'teste00' : [27], 'teste01' : [10], 'teste02' : [18], 'teste03' : [5], 'teste04' : [1], 'teste05' : [22] }) cairoplot.vertical_bar_plot ( 'vbar_0_dictionary_series.png', data, 400, 300, border = 20, display_values = True, grid = True, rounded_corners = True ) #Using default, rounded corners and 3D visualization data = Series([ [0, 3, 11], [8, 9, 21], [13, 10, 9], [2, 30, 8] ]) colors = [ (1,0.2,0), (1,0.7,0), (1,1,0) ] series_labels = ["red", "orange", "yellow"] cairoplot.vertical_bar_plot ( 'vbar_1_default_series.png', data, 400, 300, border = 20, grid = True, rounded_corners = False, colors = "yellow_orange_red" ) cairoplot.vertical_bar_plot ( 'vbar_2_rounded_series.png', data, 400, 300, border = 20, series_labels = series_labels, display_values = True, grid = True, rounded_corners = True, colors = colors ) cairoplot.vertical_bar_plot ( 'vbar_3_3D_series.png', data, 400, 300, border = 20, series_labels = series_labels, grid = True, three_dimension = True, colors = colors ) #Mixing groups and columns data = Series([ [1], [2], [3,4], [4], [5], [6], [7], [8], [9], [10] ])
data = [] for i in items: try: ret = i[1]["retorno"] except: ret = 0 try: excl = i[1]["exclusao"] except: excl = 0 try: alter = i[1]["alteracao"] except: alter = 0 try: acr = i[1]["acrescimo"] except: acr = 0 data.append([alter,ret,excl,acr]) import cairoplot colors = [ (1,0.2,0), (1,0.7,0), (1,1,0), (0,0,1) ] cairoplot.vertical_bar_plot ( '../dados/graficos/propostas_barras.png', data, 2000, 1500, border = 0, display_values = False, grid = True, rounded_corners = False, stack = True, colors = colors )
try: excl = i[1]["exclusao"] except: excl = 0 try: alter = i[1]["alteracao"] except: alter = 0 try: acr = i[1]["acrescimo"] except: acr = 0 data.append([alter, ret, excl, acr]) import cairoplot colors = [(1, 0.2, 0), (1, 0.7, 0), (1, 1, 0), (0, 0, 1)] cairoplot.vertical_bar_plot('../dados/graficos/propostas_barras.png', data, 2000, 1500, border=0, display_values=False, grid=True, rounded_corners=False, stack=True, colors=colors)
# total = conc+nconc+ress # data.append([float(conc)/total,float(ress)/total,float(nconc)/total]) total = conc + nconc + ress if total > 0: data.append( [float(conc) / total, float(ress) / total, float(nconc) / total]) #data.reverse() import cairoplot cor_conc = (0, 1, 0) #verde cor_ress = (1, 1, 0) #amarelo cor_nconc = (1, 0, 0) #vermelho colors = [cor_conc, cor_ress, cor_nconc] cairoplot.vertical_bar_plot( '../dados/graficos/resultados_parciais_opiniao.png', data, 2000, 1500, border=50, display_values=False, grid=True, rounded_corners=True, stack=True, colors=colors)
try: nconc += i[1]["nao-concordo"] except: pass try: ress += i[1]["concordo-com-ressalvas"] except: pass counter = (counter+1)%num if counter==0: total = conc+nconc+ress data.append([float(conc)/total,float(nconc)/total,float(ress)/total]) conc=0 nconc=0 ress=0 data.reverse() import cairoplot cor_conc = (0,1,0) #verde cor_ress = (1,1,0) #amarelo cor_nconc = (1,0,0) #vermelho colors = [ cor_conc, cor_nconc, cor_ress] cairoplot.vertical_bar_plot ( '../dados/graficos/votos_opiniao_segmentado.png', data, 2000, 1500, border = 50, display_values = False, grid = True, rounded_corners = True, stack = True, colors = colors )
except: pass try: alter += i[1]["alteracao"] except: pass try: acr += i[1]["acrescimo"] except: pass # counter = (counter+1)%num total = acr+alter+excl+ret # if total>0 and counter==0: if total>0: data.append([float(acr)/total,float(alter)/total,float(excl)/total,float(ret)/total]) import cairoplot cor_retorno = (1,0,0) #vermelho cor_exclusao = (1,0.7,0) #laranja cor_alteracao = (1,1,0) #amarelo cor_acrescimo = (0,0,1) #azul colors = [cor_acrescimo, cor_alteracao, cor_exclusao, cor_retorno] cairoplot.vertical_bar_plot ( '../dados/graficos/resultados_parciais_proposta.png', data, 2000, 1500, border = 50, display_values = False, grid = True, rounded_corners = True, stack = True, colors = colors )
import cairoplot as cp #Question 1 q1 = { 'yes': [9, 14]} cp.vertical_bar_plot('q1.svg', q1, 400,300, border=20, display_values=True, grid=True, rounded_corners=True, colors=["green", "red"],x_labels=["Q1: Did the activity take too long?","q2"])#, "red"])