Histogramas corregidos y GUI cesta empezada

parent 9705d532
from Gestor import FACTOR_UMBRAL
from Gestor import REG
class Cesta:
def __init__(self, directorios, sesiones, tam, i):
# Atributos
......@@ -19,13 +21,17 @@ class Cesta:
# 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 = []
contadores = []
sesiones = []
# Obtenemos los registros diferentes con sus contadores
for r in registros:
for r in reg:
if r.URL_Solicitada not in directorios:
directorios.append(r.URL_Solicitada)
contadores.append(1)
......@@ -36,6 +42,14 @@ def obtenerDirectorios(registros, 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
......
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"
E_SPIDERING = True
EXTENSIONES_ADMITIDAS = []
......
from tkinter import filedialog
from tkinter import *
from tkinter import ttk
from tkinter import messagebox
from AnalisisPaginasVisitadas import getEstadisticasPaginasVisitadas
from ObtencionRegistro import obtenerRegistros
from GuiEstadisticas import getEstadisticas
from GuiEstadisticas import estadisticasTMedioPag
from eliminarComportamientoAutomatico_GUI import FiltrarComportamientoAutomatico
from AnalisisPaginasVisitadas import getEstadisticasPaginasVisitadas
from DirectoriosMasSolicitados_GUI import DirectoriosMasSol
from AnalisisDuracionSesion import estadisticasDuracionSesiones
from Dato import Dato
from Filtros import getFormatosFromCSV
from Filtros import eliminarComportamientoAutomatico
from VentanaAbrir import VentanaAbrir
from About_GUI import VentanaAbout
from Gestor import *
def f_abrir():
......@@ -82,6 +84,10 @@ def fElimCAuto():
REG = eliminarComportamientoAutomatico(REG)
insertaRegistros()
def fMasDSol():
global REG
if len(REG)>0:
v=DirectoriosMasSol(REG)
def barraMenu(ventana):
# DEFINIR BARRA DE MENÚ DE LA APLICACION:
......@@ -114,8 +120,8 @@ def barraMenu(ventana):
menu3 = Menu(barramenu)
barramenu.add_cascade(menu=menu3, label='Cesta')
menu3.add_command(label='Generar cesta...',
command=about,
menu3.add_command(label='Directorios Mas Solicitados',
command=fMasDSol,
underline=0, compound=RIGHT)
menu4 = Menu(barramenu)
......
......@@ -10,7 +10,7 @@ def getEstadisticas(histograma, max, min, moda, media, desviacionTipica):
l.append(i)
arrayHisto = np.array(histograma)
arrayY = np.array(l)
plt.bar(arrayHisto, arrayY, align="center")
plt.bar(arrayY, arrayHisto, align="center")
plt.title("Histograma")
plt.show()
cad = "Max:" + str(max) + " Min:" + str(min) + " Moda:" + str(moda) + " Media:" + str(
......@@ -35,6 +35,6 @@ def estadisticasTMedioPag(reg):
l.append(i)
arrayHisto = np.array(histograma)
arrayY = np.array(l)
g2.bar(arrayHisto, arrayY, align="center")
g2.bar(arrayY, arrayHisto, align="center")
g2.set_ylabel("Histograma")
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