Beispiel #1
0
    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 )
Beispiel #2
0
	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()
Beispiel #3
0
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)
Beispiel #4
0
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
Beispiel #5
0
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
Beispiel #6
0
    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)
Beispiel #9
0
    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 )

Beispiel #11
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)
#    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"])