Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo hacer una interfaz visual en Python?

¿Cómo hacer una interfaz visual en Python?

El método de visualización demostrado en este artículo

Diagrama de dispersión

Histograma

Violinplot )

Pairplot

Curvas de Andrews

Gráfico de estimación de densidad del kernel

Coordenadas paralelas

Radviz (¿diagrama de momentos?)

Mapa de calor

Bubbleplot

Aquí principalmente usando Python, una herramienta de dibujo popular: Seabornlibrary, con la ayuda de Pandas y bubbly. ¿Por qué Seaborn es mejor?

Debido a que muchas veces los datos deben limpiarse antes del análisis y modelado de datos, el resultado de los datos limpios debe tener un formato que sea más fácil de usar y el más conveniente para ingresar el modelo. , y lo mejor para hacer dibujos se llama "TidyData" (WickhamH.Tidydata[J].JournalofStatisticalSoftware, 2014, 59(10): 1-23. En realidad, es muy simple. El formato TidyData es:

<. p>Cada observación (registro) ocupa una fila

Cada característica observada (registrada) ocupa su propia columna

Por ejemplo, el conjunto de datos IRIS que estamos a punto de trazar es TidyData ( IRIS (IRIS Data Set)_Baidu Encyclopedia):

El conjunto de datos Iris es un conjunto de datos experimentales de clasificación de uso común, recopilado y organizado por Fisher, 1936. Iris, también conocido como conjunto de datos de flores de iris, es un tipo de conjunto de datos para análisis de múltiples variables. El conjunto de datos contiene 150 conjuntos de datos, divididos en 3 categorías, cada categoría tiene 50 datos y cada dato contiene 4 atributos. A cuál de las tres categorías pertenece la flor del iris (Setosa, Versicolor, Virginica) se puede predecir a través de los cuatro atributos de longitud del cáliz, ancho del cáliz, longitud del pétalo y ancho del pétalo.

Este conjunto de datos contiene 5 atributos:

Sepal.Length (longitud del cáliz), la unidad es cm

Sepal.Width (ancho del cáliz), la unidad; es cm;

Petal.Length (largo del pétalo), la unidad es cm

Petal.Width (ancho del pétalo), la unidad es cm; Tipo: IrisSetosa (iris de montaña), IrisVersicolor (iris abigarrado) e IrisVirginica (iris de Virginia). Datos IRIS

Puedes ver que cada observación (ID=0, 1, 2...) ocupa su propia fila, y cada característica (cuatro partes de largo/ancho, tipo) ocupa su propia columna. Seaborn está diseñado para TidyData, por lo que es fácil de usar.

Entonces este conjunto de datos tiene 6 columnas y 6 características. Muchas veces, la visualización se realiza para comprender mejor los datos. Por ejemplo, aquí queremos ver qué características tiene cada tipo de flor y cómo usarla. Según otras características, divida las flores en tres categorías. Mi preferencia personal es incluir primero tantos puntos de datos como sea posible en una imagen para mostrar información de datos y descubrir patrones a partir de ella. Podemos usar el siguiente código para mostrar completamente todas las dimensiones y datos que Bubbly usa aquí: diagrama tridimensional, observación global

Hecho en Python, en realidad es una imagen que se puede arrastrar para acercar y alejar. Arrastre y arrastre para ver Desde varios ángulos, encontrará que las tres categorías son bastante obvias. Bubbly en Github sigue siendo muy poderoso y conveniente.

A continuación, comencé a hacer algunas visualizaciones básicas sin ninguna modificación. El código solo tiene la parte de dibujo más crítica. La visualización es la base y el comienzo de la competencia. , y no son hermosas. No importa si eres hermosa, y no se te descontarán puntos si no eres hermosa. Porque

Los diagramas de dispersión pueden obtener correlación y otra información. Por ejemplo, básicamente cuanto mayor sea SepalLengthCm, mayores serán los diagramas de dispersión.

Utilice Jointplot para ver la distribución de dos variables. La figura de KDE, aunque muestra los puntos de datos correspondientes

Como se mencionó en el artículo anterior, cada enlace en la competencia es crucial. Es necesario mirar estos histogramas de distribución y gráficos de KDE en función de estos. valores atípicos, etc., me gustaría preguntarte aquí, ¿por qué necesitas dibujar KDE al dibujar un histograma? Entiendo que están hablando de lo mismo.

Acerca de KDE: \"Dado que el método de estimación de la densidad del kernel no utiliza conocimientos previos sobre la distribución de datos y no adjunta ninguna suposición a la distribución de datos, es un método para estudiar las características de distribución de datos a partir de los datos. muestra en sí. Por lo tanto, es muy valorada en los campos de la teoría y aplicación estadística. \"

En cualquier caso, primero dibujamos el histograma y luego dibujamos el histograma de KDE y el diagrama de KDE.

Aquí usamos KDE. Se puede decir que dado que el KDE de Setosa no tiene intersección con las otras dos especies, Petailength se puede usar para distinguir linealmente a Setosa de las otras dos especies. Diagrama de pares

Gráfico de caja, un gráfico estadístico que muestra la dispersión de un conjunto de datos. Con forma de caja. Se utiliza principalmente para reflejar las características de la distribución de datos original. Las cinco líneas negras clave son el valor máximo, el valor mínimo, la mediana y dos cuartiles. Es útil al juzgar y manejar valores anormales. BoxPlot

Violinplot

Esta curva de Andrew es muy interesante. Combina todas las características, calcula un valor y muestra el valor. Se puede utilizar para confirmar si estas tres especies son buenas o no. No, Wikipedia dice "Si hay estructura en los datos, puede ser visible en la curva de Andrews de los datos". (Andrewsplot-Wikipedia) Andrews Curves Radviz

El principio de visualización de Radviz es. pasar una serie de puntos espaciales multidimensionales a través de una tecnología de visualización no lineal que asigna métodos lineales al espacio bidimensional es un método de visualización multidimensional basado en la idea de diseño de un sistema de coordenadas circular paralelo. El radio m de un círculo representa un espacio de m dimensiones, y un punto en el sistema de coordenadas se utiliza para representar principalmente objetos de información. Su principio de implementación se refiere al teorema del equilibrio de fuerzas de los objetos en física. La posición de un punto en el espacio multidimensional asignado al espacio visual bidimensional está determinada por el modelo analítico de gravedad del resorte. (Blog de Principio de visualización de Radviz-CSDN), que puede mostrar los patrones distinguibles de algunos datos.

El valor es el coeficiente de correlación de Pearson. Los colores claros indican una correlación alta. Por ejemplo, la correlación entre Petal.Length (largo del pétalo) y Petal.Width (ancho del pétalo) es 0,96, es decir, el pétalo. ancho de una flor con pétalos largos También es grande, es decir, una flor grande.

Sin embargo, Python básicamente ya no se usa para la visualización. Por razones específicas, puedes leer mi artículo. Utilicé Python para crear un rastreador y BI para realizar la visualización.

finereport

Una aplicación importante de la visualización son los informes de datos, y FineReport puede escribir e integrar libremente los campos de informe requeridos para la salida del informe, y admite actualizaciones periódicas y monitoreo de recordatorios por correo electrónico, lo cual es most Una plataforma de informes diarios utilizada por las empresas de Internet.

Especialmente para los informes comerciales dentro del sistema de la empresa, utilizamos una herramienta de informes comerciales, finereport. Lo recomiendo porque tiene dos puntos de alta eficiencia: ① Puede completar el proceso de obtener datos de la base de datos (con la función de integrar datos), diseñar plantillas de informes y mostrar datos.

② De manera similar a crear informes en Excel, una plantilla combinada con una consulta de parámetros puede reemplazar docenas de informes.

FineBI

Una herramienta de análisis de datos clara y concisa, y también es mi herramienta de visualización favorita. La ventaja es la visualización sin código y gráficos visuales enriquecidos, que se pueden completar con. Simplemente arrastrar y soltar efectos de visualización geniales, con funciones como integración de datos, procesamiento de datos visuales, análisis exploratorio, extracción de datos, informes de análisis visual, etc. Más importante aún, la versión personal es gratuita.

La principal ventaja es que puede realizar análisis de autoservicio y el costo de aprendizaje es extremadamente bajo. Casi no requiere una base de programación profunda. Es más fácil de usar que muchas herramientas extranjeras y es muy adecuado. Personal comercial y personal de operaciones. En términos de amplitud, FineBI tiene un rendimiento sobresaliente, no requiere programación y es simple y fácil de usar. Puede realizar la visualización de la plataforma y es más adecuado para usuarios empresariales y usuarios individuales; p>

Estos es un método de visualización de uso común que he visto y es útil para la exploración de datos.

Esto es muy simple y se puede implementar fácilmente con PyQt. Es un paquete de interfaz basado en Qt que puede arrastrar y soltar controles directamente para diseñar la interfaz de usuario. A continuación, presentaré brevemente la instalación y el uso. Los amigos interesados ​​pueden probarlo usted mismo:

1. Primero, instale el módulo PyQt. Simplemente ingrese el comando "pipinstallpyqt5" ​​directamente en la ventana cmd, como se muestra a continuación. grande Debe esperar un momento durante el proceso de descarga y permanecer conectado a Internet:

2. Una vez completada la instalación, podemos abrir directamente la interfaz del diseñador QtDesigner que viene con Qt. , se instalará en el directorio site-packages-gt; PyQt5-gt; Qt-gt; después de abrir, puede crear directamente nuevos cuadros de diálogo y otras ventanas. editado, lo cual es muy conveniente:

3. Aquí simplemente diseñé una ventana de inicio de sesión y dos cuadros de entrada y 2 botones, como se muestra a continuación. Aquí puede usar QSS directamente para embellecer la interfaz. atributo styleSheet), similar al CSS de la página web. Si tiene una determinada base de front-end, embellecerlo será muy fácil:

Una vez completado el diseño, es solo un archivo ui. no es un código Python listo para usar. Debe usar la herramienta pyuic5 (también en el directorio bin) para convertir el archivo ui en código Python. Cambie al directorio donde se encuentra el archivo ui e ingrese el comando "pyuic5-login. pylogin.ui" (reemplácelo con su archivo ui aquí). El código Python después de una conversión exitosa es el siguiente (captura de pantalla parcial):

También necesita agregar una función principal en la parte inferior para crear lo anterior. Ui_Form El objeto de clase se puede mostrar en la ventana de la siguiente manera:

Finalmente, haga clic en Ejecutar programa, el efecto es el siguiente, exactamente el mismo que el efecto de interfaz que acaba de diseñar:

En este punto, hemos completado el módulo PyQt usando Python Controles de arrastrar y soltar directamente para diseñar la interfaz de usuario. En general, todo el proceso es muy simple. Siempre que tenga cierta base en Python y esté familiarizado con el proceso de operación, puede dominarlo rápidamente. Por supuesto, existen muchos otros módulos de desarrollo de UI, como tkinter, wxPython, Eric6, etc. también es muy bueno. También hay tutoriales e información relevantes en Internet. Si está interesado, puede buscarlo. También puedes comentar y dejar mensajes para agregar.

En primer lugar, si no tiene instalado el software Python y PyQt, búsquelos, descárguelos e instálelos directamente. Python es un software de código abierto, por lo que se puede descargar de forma gratuita desde Internet y la última versión es suficiente. Una vez completada la descarga, primero abrimos PyQtdesigner.

2

Después de abrir, hay una nueva interfaz de ventana predeterminada. Aquí simplemente seleccionamos la ventana predeterminada.

3

Ahora es una ventana completamente en blanco.

El primer paso es arrastrar todos los elementos de diseño a esta ventana. Primero arrastramos una "Etiqueta", que es una etiqueta no editable.

Luego arrastramos un "LineEdit" editable

Finalmente arrastramos el último elemento: el botón "PushButton", que es en lo que normalmente hacemos clic en Aceptar.

En este momento, hemos arrastrado todos los elementos necesarios a la nueva ventana. Para cada elemento, podemos hacer doble clic para modificar el valor del atributo. En este momento, solo necesitamos hacer doble clic para cambiar el nombre.

En este punto ya hemos terminado la mitad y lo siguiente que necesitamos. para operar la señal de acción. Primero debemos cambiar al modo de edición de señal

En este momento, si mueves el mouse a cualquier elemento, encontrarás que se vuelve rojo, lo que indica que está seleccionado.

Cuando seleccionamos el botón y continuamos arrastrando el mouse para señalar la línea de edición de arriba, encontraremos que aparece una flecha desde el botón que apunta a la línea de edición, lo que significa que la acción del botón operará la línea de edición. .

Aparecerá una ventana de configuración de conexión. El de la izquierda es la operación del botón. Elegimos hacer clic (), es decir, hacer clic en el botón.

El lado derecho es la operación de lineedit. Elegimos clear(), que borra el contenido de lineedit.

Finalmente damos clic en Aceptar.

Una vez completado el guardado, nuestra operación en PyQt se ha completado. Al archivo guardado lo llamamos prueba y el sufijo del archivo de diseño generado por PyQt es .ui.