Visualización de datos de Pyecharts (3)

Tabla de contenido

1. Dibuja un mapa de nube de palabras

2. Dibuja un diagrama de Sankey

3. Dibujar un diagrama de coordenadas paralelas.

4. Dibuja un gráfico de nodos

5. Dibuja un mapa

Este artículo presenta principalmente cómo usar Pyecharts para dibujar diagramas de nube de palabras, diagramas de Sankey, diagramas de coordenadas paralelas, diagramas de nodos y mapas. Aunque estos diagramas no se usan con mucha frecuencia, aún se ven bastante bien. Si los pones en el papel, Creo que puede hacer que el periódico lo lleve al siguiente nivel.

1. Dibuja un mapa de nube de palabras

Pyecharts usa WordCloud para dibujar gráficos de nubes de palabras.

from pyecharts import options as opts
from pyecharts.charts import Page, WordCloud
from pyecharts.globals import SymbolType
words = [
    ("牛肉面", 7800),("黄河", 6181),
    ("《读者》杂志", 4386), ("甜胚子", 3055),
    ("甘肃省博物馆", 2055),("莫高窟", 8067),("兰州大学", 4244),
    ("西北师范大学", 1868),("中山桥", 3484),
    ("月牙泉", 1112),("五泉山", 980),
    ("五彩丹霞", 865),("黄河母亲", 847),("崆峒山",678),
    ("羊皮筏子", 1582),("兴隆山",868),
    ("兰州交通大学", 1555),("白塔山", 2550),("五泉山", 2550)]
c = WordCloud()
c.add("", words, word_size_range=[20, 80])
c.set_global_opts(title_opts=opts.TitleOpts(title="WordCloud-基本示例"))
c.render_notebook()

Gráfico de resultados:

2. Dibuja un diagrama de Sankey

Un diagrama de Sankey , también conocido como diagrama de flujo de Sankey o diagrama de energía de Sankey, es un tipo de diagrama que se utiliza para visualizar flujos, transiciones o relaciones. Se compone principalmente de nodos (nodos) y bordes (enlaces), un nodo representa una entidad o un grupo de entidades y un borde representa el flujo o transferencia entre nodos. Si bien muestra la dirección y proporción del flujo de datos, el diagrama de Sankey puede presentar claramente la relación y la interacción entre varios nodos.

from pyecharts import options as opts
from pyecharts.charts import Sankey
# 节点数据
nodes = [
    {'name': '男生'},
    {'name': '女生'},
    {'name': '打游戏'},
    {'name': '加班'},
    {'name': '追剧'},
]

# 边数据
links = [
    {"source": '男生', "target": '打游戏', "value": 30},
    {"source": '男生', "target": '加班', "value": 20},
    {"source": '女生', "target": '打游戏', "value": 40},
    {"source": '女生', "target": '加班', "value": 15},
    {"source": '女生', "target": '追剧', "value": 25},
]
sankey = (
    Sankey()
    .add(
        "",
        nodes,
        links,
        linestyle_opt=opts.LineStyleOpts(opacity=0.2, curve=0.5, color="source"),
        label_opts=opts.LabelOpts(position="right"),
        node_gap=25
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="男生女生兴趣分布"),
        tooltip_opts=opts.TooltipOpts(trigger="item", trigger_on="mousemove"),
    )
)
sankey.render_notebook()

Gráfico de resultados:

3. Dibujar un diagrama de coordenadas paralelas.

El gráfico de coordenadas paralelas (gráfico de coordenadas paralelas) es un método de visualización de datos multidimensionales para visualizar conjuntos de datos con múltiples variables numéricas. Dibuja múltiples ejes de coordenadas en líneas rectas paralelas, cada eje representa una variable y asigna cada punto de datos a la posición correspondiente en estos ejes de coordenadas para mostrar la relación y la tendencia entre múltiples variables.

from pyecharts import options as opts
from pyecharts.charts import Parallel
import numpy as np
import seaborn as sns
data=sns.load_dataset('iris')
data1=np.array(df[['sepal_length','sepal_width','petal_length','petal_width']]).tolist()
parallel_axis=[{"dim":0,"name":"萼片长度"},
               {"dim":1,"name":"萼片宽度"},
               {"dim":2,"name":"花瓣长度"},
               {"dim":3,"name":"花瓣宽度"},
              ]
parallel=Parallel(init_opts=opts.InitOpts(width='600px',height='400px'))
parallel.add_schema(schema=parallel_axis)
parallel.add('iris平行坐标图',data=data1,linestyle_opts=opts.LineStyleOpts(width=4,opacity=0.5))
parallel.render_notebook()

Gráfico de resultados:

4. Dibuja un gráfico de nodos

Diagrama de enlace de nodos , también conocido como diagrama de red o gráfico, es un gráfico para visualizar nodos (también conocidos como vértices) y las conexiones entre ellos (también conocidas como aristas). Los gráficos de nodos se utilizan a menudo para representar relaciones, redes o sistemas complejos. En un gráfico de nodos, un nodo representa una entidad u objeto, como una persona, un lugar, un elemento, etc., y una conexión representa una relación o modo de conexión entre nodos. Las conexiones pueden ser dirigidas o no dirigidas, según la naturaleza de la relación entre los nodos.

from pyecharts import options as opts
from pyecharts.charts import Graph

nodes = [
    {"name": "A"},
    {"name": "B"},
    {"name": "C"},
    {"name": "D"},
    {"name": "E"},
    {"name": "F"},
]

links = []
for i in range(len(nodes)):
    for j in range(i+1, len(nodes)):
        links.append({"source": nodes[i]["name"], "target": nodes[j]["name"]})

graph = (
    Graph()
    .add("", nodes, links, repulsion=800, layout="force", is_draggable=True)
    .set_global_opts(title_opts=opts.TitleOpts(title="Relationship Graph"))
    .render("relationship_graph.html")
)

Gráfico de resultados:

5. Dibuja un mapa

Dibuje un mapa de los flujos de vuelos en las principales ciudades del país.

from pyecharts import options as opts 
from pyecharts.charts import Geo 
from pyecharts.globals import ChartType, SymbolType

c = (
        Geo()
        .add_schema(maptype="china")
        .add( "",
            [ ("哈尔滨", 66), ("重庆", 88), ("上海", 100), ("乌鲁木齐", 30),("北京", 30),("兰州",170)],
            type_=ChartType.EFFECT_SCATTER,
            color="green",
        )
        .add(
            "geo",
            [("北京", "兰州"),( "兰州","北京"), ("重庆", "杭州"),("哈尔滨", "重庆"),("乌鲁木齐", "哈尔滨")],
            type_=ChartType.LINES,
            effect_opts=opts.EffectOpts(
                symbol=SymbolType.ARROW, symbol_size=6, color="blue"
            ),
            linestyle_opts=opts.LineStyleOpts(curve=0.2),
        )
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(title_opts=opts.TitleOpts(title="主要城市航班路线和数量"))
    )

c.render_notebook()

Gráfico de resultados:

Supongo que te gusta

Origin blog.csdn.net/m0_64087341/article/details/132642313
Recomendado
Clasificación