Sử dụng thư viện pyecharts trong Python để tạo các loại biểu đồ cột khác nhau

Giới thiệu về pyecharts

Pyecharts là thư viện trực quan hóa dữ liệu của Python dựa trên ECharts, cho phép tạo các biểu đồ tương tác như biểu đồ cột, đường, tròn, bản đồ,... với API đơn giản.

  • Tính năng nổi bật: hỗ trợ nhiều loại biểu đồ, tương tác đa dạng (zoom, drag), tích hợp với Pandas/Flask/Django
  • Ưu điểm: dễ sử dụng, hỗ trợ định dạng dữ liệu CSV/JSON/Excel

Cài đặt thư viện

pip install pyecharts -i https://pypi.tuna.tsinghua.edu.cn/simple/

Biểu đồ cột cơ bản (xử lý nhãn dài)


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

def create_rotated_bar():
    bar = (
        Bar()
        .add_xaxis([f"Tháng {i}xxxxxxx" for i in range(1,7)])
        .add_yaxis("Nhà hàng A", [10,20,30,40,50,40])
        .add_yaxis("Nhà hàng B", [20,10,40,30,40,50])
        .set_global_opts(
            xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
            title_opts=opts.TitleOpts(title="Biểu đồ cột xoay trục X", subtitle="Giải pháp nhãn dài")
        )
    )
    return bar.render("rotated_bar.html")

Biểu đồ cột chồng (stacked bar)


from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker

def create_stacked_bar():
    return (
        Bar()
        .add_xaxis(Faker.choose())
        .add_yaxis("Nhóm 1", Faker.values(), stack="stack-1")
        .add_yaxis("Nhóm 2", Faker.values(), stack="stack-1")
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(title_opts=opts.TitleOpts(title="Biểu đồ cột chồng"))
        .render("stacked_bar.html")
    )

Biểu đồ kết hợp (column + pie)


from pyecharts import options as opts
from pyecharts.charts import Bar, Pie, Timeline
from pyecharts.faker import Faker

def create_combo_chart():
    bar = (
        Bar()
        .add_xaxis(Faker.cities)
        .add_yaxis("Doanh thu", Faker.values())
        .add_yaxis("Chi phí", [x*0.6 for x in Faker.values()])
    )
    
    pie = (
        Pie()
        .add("", [list(z) for z in zip(Faker.positions, Faker.values())])
        .set_global_opts(title_opts=opts.TitleOpts(title="Phân bổ"))
    )
    
    return bar.overlap(pie).render("combo_chart.html")

Biểu đồ cột theo kiểu từ điển


from pyecharts.charts import Bar
from pyecharts.faker import Faker

def create_dict_config_bar():
    return Bar({
        "width": "80%",
        "height": "500px",
        "theme": "light"
    })
    .add_xaxis(Faker.animal)
    .add_yaxis("Nhóm 1", Faker.values())
    .add_yaxis("Nhóm 2", [x+5 for x in Faker.values()])
    .set_global_opts(
        title_opts={"text": "Biểu đồ cấu hình bằng từ điển"}
    )
    .render("dict_config_bar.html")

Thẻ: pyecharts Trực quan hóa dữ liệu biểu đồ cột python thư viện đồ họa

Đăng vào ngày 24 tháng 6 lúc 07:31