Histogramas corregidos y GUI cesta empezada

parent 9705d532
from Gestor import FACTOR_UMBRAL
from Gestor import REG
class Cesta: class Cesta:
def __init__(self, directorios, sesiones, tam, i): def __init__(self, directorios, sesiones, tam, i):
# Atributos # Atributos
...@@ -19,13 +21,17 @@ class Cesta: ...@@ -19,13 +21,17 @@ class Cesta:
# Se obtienen los directorios aquellos que cumplen el umbral # Se obtienen los directorios aquellos que cumplen el umbral
def obtenerDirectorios(registros, umbral): def obtenerDirectorios(reg):
global FACTOR_UMBRAL
fu=FACTOR_UMBRAL
umbral = int(len(reg) * fu / 100)
directorios = [] directorios = []
contadores = [] contadores = []
sesiones = [] sesiones = []
# Obtenemos los registros diferentes con sus contadores # Obtenemos los registros diferentes con sus contadores
for r in registros: for r in reg:
if r.URL_Solicitada not in directorios: if r.URL_Solicitada not in directorios:
directorios.append(r.URL_Solicitada) directorios.append(r.URL_Solicitada)
contadores.append(1) contadores.append(1)
...@@ -36,6 +42,14 @@ def obtenerDirectorios(registros, umbral): ...@@ -36,6 +42,14 @@ def obtenerDirectorios(registros, umbral):
directorios, contadores, sesiones = quitarExcluidos(directorios, contadores, sesiones, umbral) directorios, contadores, sesiones = quitarExcluidos(directorios, contadores, sesiones, umbral)
#Ordeno por contadores
for i in range(len(directorios)):
for j in range(len(directorios)):
if contadores[i]>contadores[j]:
contadores[i], contadores[j]=contadores[j], contadores[i]
directorios[i], directorios[j] = directorios[j], directorios[i]
sesiones[i], sesiones[j] = sesiones[j], sesiones[i]
return directorios, contadores, sesiones return directorios, contadores, sesiones
......
import tkinter as ttk
from tkinter import *
from Cesta import obtenerDirectorios
from Gestor import FACTOR_UMBRAL
from Gestor import REG
class DirectoriosMasSol:
def __init__(self,reg):
self.v=Tk()
self.v.resizable(0, 0)
self.v.title("Directorios Mas Solicitados")
self.v.geometry('600x600')
# Se obtienen los directorios con contadores y la cesta
d, cont, ses = obtenerDirectorios(reg)
num_dir = len(d)
# Creo la tabla y relleno las cabeceras
self.tabla = ttk.Treeview(self.v, height=100, columns=[f"#{n}" for n in range(0, 4)])
self.tabla.grid_propagate(True)
self.tabla.config(show='headings')
self.tabla.grid(row=0, column=0, sticky='ns')
self.v.update()
#Cabeceras tabla
self.tabla.heading('#1', text="Directorio")
self.tabla.column('#1', width=200, anchor=CENTER)
self.tabla.heading('#2', text="Cuenta")
self.tabla.column('#2', width=200, anchor=CENTER)
self.tabla.heading('#3', text="Sesion")
self.tabla.column('#3', width=200, anchor=CENTER)
#Inserto los registros
self.tabla.delete(*self.tabla.get_children())
for i in range(len(d)):
aux=[d[i],cont[i],ses[i]]
self.tabla.insert("", END, values=aux)
self.v.mainloop()
\ No newline at end of file
from ObtencionRegistro import obtenerRegistros
from idsUsuarioSesion import ordenaRegistros
from Filtros import ordenarPorSesion
from Cesta import obtenerDirectorios
from Cesta import obtenerCestaTransformada
from Filtros import eliminarComportamientoAutomatico
from AnalisisTMedioPagina import analisisTiempoMedioPorPagina
from AnalisisPaginasVisitadas import getEstadisticasPaginasVisitadas
RUTA_ARCHIVO = "" # "../access_log_Aug95_reducido" RUTA_ARCHIVO = "" # "../access_log_Aug95_reducido"
E_SPIDERING = True E_SPIDERING = True
EXTENSIONES_ADMITIDAS = [] EXTENSIONES_ADMITIDAS = []
......
from tkinter import filedialog from tkinter import filedialog
from tkinter import * from tkinter import *
from tkinter import ttk from tkinter import ttk
from tkinter import messagebox from AnalisisPaginasVisitadas import getEstadisticasPaginasVisitadas
from ObtencionRegistro import obtenerRegistros
from GuiEstadisticas import getEstadisticas from GuiEstadisticas import getEstadisticas
from GuiEstadisticas import estadisticasTMedioPag from GuiEstadisticas import estadisticasTMedioPag
from eliminarComportamientoAutomatico_GUI import FiltrarComportamientoAutomatico from eliminarComportamientoAutomatico_GUI import FiltrarComportamientoAutomatico
from AnalisisPaginasVisitadas import getEstadisticasPaginasVisitadas from DirectoriosMasSolicitados_GUI import DirectoriosMasSol
from AnalisisDuracionSesion import estadisticasDuracionSesiones from AnalisisDuracionSesion import estadisticasDuracionSesiones
from Dato import Dato from Dato import Dato
from Filtros import getFormatosFromCSV from Filtros import getFormatosFromCSV
from Filtros import eliminarComportamientoAutomatico
from VentanaAbrir import VentanaAbrir from VentanaAbrir import VentanaAbrir
from About_GUI import VentanaAbout from About_GUI import VentanaAbout
from Gestor import *
def f_abrir(): def f_abrir():
...@@ -82,6 +84,10 @@ def fElimCAuto(): ...@@ -82,6 +84,10 @@ def fElimCAuto():
REG = eliminarComportamientoAutomatico(REG) REG = eliminarComportamientoAutomatico(REG)
insertaRegistros() insertaRegistros()
def fMasDSol():
global REG
if len(REG)>0:
v=DirectoriosMasSol(REG)
def barraMenu(ventana): def barraMenu(ventana):
# DEFINIR BARRA DE MENÚ DE LA APLICACION: # DEFINIR BARRA DE MENÚ DE LA APLICACION:
...@@ -114,8 +120,8 @@ def barraMenu(ventana): ...@@ -114,8 +120,8 @@ def barraMenu(ventana):
menu3 = Menu(barramenu) menu3 = Menu(barramenu)
barramenu.add_cascade(menu=menu3, label='Cesta') barramenu.add_cascade(menu=menu3, label='Cesta')
menu3.add_command(label='Generar cesta...', menu3.add_command(label='Directorios Mas Solicitados',
command=about, command=fMasDSol,
underline=0, compound=RIGHT) underline=0, compound=RIGHT)
menu4 = Menu(barramenu) menu4 = Menu(barramenu)
......
...@@ -10,7 +10,7 @@ def getEstadisticas(histograma, max, min, moda, media, desviacionTipica): ...@@ -10,7 +10,7 @@ def getEstadisticas(histograma, max, min, moda, media, desviacionTipica):
l.append(i) l.append(i)
arrayHisto = np.array(histograma) arrayHisto = np.array(histograma)
arrayY = np.array(l) arrayY = np.array(l)
plt.bar(arrayHisto, arrayY, align="center") plt.bar(arrayY, arrayHisto, align="center")
plt.title("Histograma") plt.title("Histograma")
plt.show() plt.show()
cad = "Max:" + str(max) + " Min:" + str(min) + " Moda:" + str(moda) + " Media:" + str( cad = "Max:" + str(max) + " Min:" + str(min) + " Moda:" + str(moda) + " Media:" + str(
...@@ -35,6 +35,6 @@ def estadisticasTMedioPag(reg): ...@@ -35,6 +35,6 @@ def estadisticasTMedioPag(reg):
l.append(i) l.append(i)
arrayHisto = np.array(histograma) arrayHisto = np.array(histograma)
arrayY = np.array(l) arrayY = np.array(l)
g2.bar(arrayHisto, arrayY, align="center") g2.bar(arrayY, arrayHisto, align="center")
g2.set_ylabel("Histograma") g2.set_ylabel("Histograma")
plt.show() plt.show()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment