Cómo utilizar python para desarrollar gráficos de datos para la ciencia

Los gráficos son útiles para los científicos de datos. UN grafico es una representación de datos que muestran las conexiones entre puntos de datos utilizando líneas en Pythopn. El propósito es mostrar que algunos puntos de datos se relacionan con otros puntos de datos, pero no todos los puntos de datos que aparecen en el gráfico.

Video: Tutoriales Python en Español #3 - Variables y Tipos de Datos

Piense en un mapa de un sistema de metro. Cada una de las estaciones se conecta a otras estaciones, pero no estación individual se conecta a todas las estaciones en el sistema de metro. Los gráficos son un tema popular la ciencia de datos debido a su uso en el análisis de redes sociales. Al realizar el análisis de las redes sociales, que describir y analizar las redes de relaciones, tales como amigos o relaciones de negocios, de centros sociales como Facebook, Google+, Twitter o LinkedIn.

Las dos representaciones comunes de gráficas son no dirigido, donde la gráfica muestra simplemente líneas entre elementos de datos, y dirigido, donde flechas añadido a la línea muestran que los flujos de datos en una dirección particular. Por ejemplo, considere una representación de un sistema de agua. El agua fluiría en una sola dirección en la mayoría de los casos, por lo que podría utilizar un gráfico dirigido a representar no sólo las conexiones entre fuentes y destinos para el agua, sino también para mostrar la dirección del agua mediante el uso de flechas.

El desarrollo de grafos no dirigidos

Un grafo no dirigido simplemente muestra conexiones entre nodos. La salida no proporciona una dirección de un nodo al siguiente. Por ejemplo, al establecer la conectividad entre páginas web, sin dirección está implícita. El siguiente ejemplo muestra cómo crear un grafo no dirigido.

importar NetworkX como matplotlib.pyplot nximport como PLTG = nx.Graph () H = nx.Graph () G.add_node (1) G.add_nodes_from ([2, 3]) G.add_nodes_from (intervalo (4, 7)) H .add_node (7) G.add_nodes_from (H) G.add_edge (1, 2) G.add_edge (1, 1) G.add_edges_from ([(2,3), (3,6), (4,6), (5,6)]) H.add_edges_from ([(4,7), (5,7), (6,7)]) G.add_edges_from (H.edges ()) nx.draw_networkx (G) plt.show ()

Este ejemplo se basa la gráfica usando un número de técnicas diferentes. Se comienza por importar el paquete NetworkX. Para crear un nuevo grafo no dirigido, el código llama al Grafico() constructor, que puede tomar una serie de argumentos de entrada a utilizar como atributos. Sin embargo, se puede construir un gráfico perfectamente utilizable sin necesidad de utilizar atributos, que es lo que hace este ejemplo.

La forma más fácil de añadir un nodo es llamar add_node () con un número de nodo. También puede agregar una lista, diccionario, o distancia() de nodos usando add_nodes_from (). De hecho, puede importar nodos de otros gráficos si lo desea.

A pesar de que los nodos utilizados en el ejemplo se basan en los números, usted no tiene que utilizar números de sus nodos. Un nodo puede utilizar una sola letra, una cadena, o incluso una fecha. Los nodos tienen algunas restricciones. Por ejemplo, no se puede crear un nodo utilizando un valor booleano.

Los nodos no tienen ninguna conexión desde el principio. Debe definir las conexiones (bordes) entre ellos. Para agregar un solo borde, se llama add_edge () con los números de los nodos que desea agregar. Al igual que con los nodos, puede utilizar add_edges_from () para crear más de uno de los bordes utilizando una lista, diccionario, o otro gráfico como entrada. Aquí está la salida de este ejemplo (el resultado puede variar ligeramente, pero debe tener las mismas conexiones).

grafos no dirigidos conectan los nodos entre sí para formar patrones.

Video: 1 - Python PyQt (Interfaz gráfica) - Instalación y primer archivo .ui

grafos no dirigidos conectan los nodos entre sí para formar patrones.

El desarrollo de gráficos dirigidos

Utiliza gráficos dirigidos cuando se necesita para mostrar una dirección, digamos desde un punto de inicio hasta el punto final. Cuando se obtiene un mapa que muestra cómo llegar de un punto específico a otro, el nodo inicial y el nodo que termina están marcados como tales y las líneas entre estos nodos (y todos los nodos intermedios), muestran la dirección.

Sus gráficos no tienen por qué ser aburrido. Se puede vestir para arriba en todo tipo de formas para que el espectador obtiene información de diferentes maneras. Por ejemplo, puede crear etiquetas personalizadas, utilizar colores específicos para ciertos nodos, o se basan en el color para ayudar a la gente ver el significado detrás de sus gráficos.

También puede cambiar el grosor de línea de borde y utilizar otras técnicas para marcar una ruta específica entre los nodos como el mejor lugar a elegir. El siguiente ejemplo muestra muchos (pero no casi todas) las formas en que se puede vestir a un grafo dirigido y hacerlo más interesante:

importar NetworkX como matplotlib.pyplot nximport como PLTG = nx.DiGraph () G.add_node (1) G.add_nodes_from ([2, 3]) G.add_nodes_from (intervalo (4, 6)) G.add_path ([6, 7 , 8]) G.add_edge (1, 2) G.add_edges_from ([(1,4), (4,5), (2,3), (3,6), (5,6)]) colores = [ `r`, `g`, `g`, `g`, `g`, `m`, `m`, `r`] etiquetas = {1: `Start`, 2: `2`, 3: `3`, 4: `4`, 5: `5`, 6: `6`, 7: `7`, 8: `End`} tamaños = [800, 300, 300, 300, 300, 600, 300 , 800] nx.draw_networkx (G, node_color = colores, node_shape = `D`, with_labels = True, etiquetas = etiquetas, node_size = tamaños) plt.show ()

El ejemplo comienza creando una gráfica direccional usando el Dígrafo() constructor. Debe tener en cuenta que el paquete también es compatible con NetworkX Multigrafo () y MultiDiGraph () tipos de gráficos. Echa un vistazo a esta lista de todos los tipos de gráficos.

Adición de nodos es parecido al funcionamiento de un grafo no dirigido. Puede añadir nodos individuales usando add_node () y varios nodos usando add_nodes_from (). los add_path () llamada le permite crear nodos y bordes al mismo tiempo. El orden de los nodos de la llamada es importante. El flujo de un nodo a otro es de izquierda a derecha en la lista suministrada a la llamada.

Adición de bordes es mucho el mismo que trabajar con un grafo no dirigido, también. Puedes usar add_edge () añadir un solo borde o add_edges_from () añadir varios bordes a la vez. Sin embargo, el orden de los números de nodo es importante. El flujo va desde el nodo izquierdo al nodo derecho en cada par.

Video: Python - Graficar funciones sencillas con NumPy y Matplotlib

Este ejemplo añade colores especiales de nodo, etiquetas, de forma (sólo se utiliza una forma determinada), y tamaños a la salida. Todavía se llama el día draw_networkx () para realizar la tarea. Sin embargo, la adición de los parámetros mostrados cambia la apariencia de la gráfica. Tenga en cuenta que debe configurar with_labels a Cierto con el fin de ver las etiquetas proporcionadas por la etiquetas parámetro. Aquí está la salida de este ejemplo.

Uso dirigida gráficos para mostrar la dirección entre los nodos.

Video: Visualización con matplotlib - Parte 3.1 - Curso Python para científicos e ingenieros

Uso dirigida gráficos para mostrar la dirección entre los nodos.
Artículos Relacionados