>백엔드 개발 >파이썬 튜토리얼 >Python에서 ECharts를 사용하여 누적 세로 막대형 차트를 그리는 방법

Python에서 ECharts를 사용하여 누적 세로 막대형 차트를 그리는 방법

PHPz
PHPz원래의
2023-12-17 09:48:591628검색

Python에서 ECharts를 사용하여 누적 세로 막대형 차트를 그리는 방법

데이터 시각화 분야에서는 누적 히스토그램이 일반적인 시각화 방법입니다. 여러 데이터 시리즈를 막대에 그립니다. 각 막대는 여러 하위 항목으로 구성되며 각 하위 항목은 데이터 시리즈에 해당하며 동일한 좌표계로 표시됩니다. 이러한 종류의 차트는 다양한 범주 또는 데이터 계열의 전체 크기, 각 범주 또는 데이터 계열의 구성 요소 비율 등을 비교하는 데 사용할 수 있습니다. Python에서는 ECharts 라이브러리를 사용하여 누적된 히스토그램을 그릴 수 있으며 라이브러리는 풍부한 사용자 정의가 가능하고 대화형입니다.

1. ECharts 라이브러리 설치 및 가져오기

ECharts 라이브러리를 사용하기 전에 먼저 설치해야 합니다. pip 명령을 통해 설치할 수 있습니다:

pip install pyecharts

설치가 완료되면 Python 스크립트에서 필요한 구성 요소를 가져와야 합니다. 예:

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

2. 누적 히스토그램 그리기

다음으로 이 예에서는 ECharts 라이브러리를 사용하여 누적 세로 막대형 차트를 그려 매월 매출을 표시합니다. 여기서 각 열은 한 달의 매출을 나타내고 각 열은 다양한 제품 범주의 매출로 구성됩니다.

  1. 데이터 준비

먼저 데이터를 준비해야 합니다. 이 예에서는 12개월 동안의 판매 데이터를 무작위로 생성했으며 각 달에는 3개 제품 범주의 판매가 포함되었습니다. 코드는 다음과 같습니다.

import random

# 随机生成12个月份的销售额数据
months = [str(i) + "月" for i in range(1, 13)]
type1_sales = [random.randint(100, 1000) for _ in range(12)]
type2_sales = [random.randint(100, 1000) for _ in range(12)]
type3_sales = [random.randint(100, 1000) for _ in range(12)]
  1. 차트 그리기

다음으로 차트에 데이터를 추가하고 맞춤 설정합니다. 코드는 다음과 같습니다.

# 实例化柱状图
bar = (
    Bar()
    # 添加X轴数据
    .add_xaxis(months)
    # 添加Y轴数据,并使用整数值格式化标签
    .add_yaxis("类别1", type1_sales, stack="stack1", label_opts=opts.LabelOpts(formatter="{value}元"))
    .add_yaxis("类别2", type2_sales, stack="stack1", label_opts=opts.LabelOpts(formatter="{value}元"))
    .add_yaxis("类别3", type3_sales, stack="stack1", label_opts=opts.LabelOpts(formatter="{value}元"))
    # 设置全局参数
    .set_global_opts(
        # 设置标题
        title_opts=opts.TitleOpts(title="堆叠柱状图"),
        # 设置X轴标签旋转角度
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
        # 设置Y轴的名称和最大值
        yaxis_opts=opts.AxisOpts(name="销售额", max_=3000),
        # 设置数据标签
        series_opts=opts.SeriesOpts(
            itemstyle_opts=opts.ItemStyleOpts(border_color="black", border_width=0),
            label_opts=opts.LabelOpts(is_show=True, position="inside", color="white")
            )
    )
)

위 코드에서는 히스토그램을 인스턴스화하고 add_xaxis()를 사용하여 X축 데이터를 차트에 추가합니다. 다음으로 add_yaxis()를 사용하여 세 가지 유형의 판매 데이터를 차트에 추가합니다. 세 가지 유형의 매출을 함께 쌓아야 하므로 모두 stack1로 설정합니다. 동시에 label_opts를 사용하여 레이블의 형식 지정 방법을 설정합니다. 마지막으로 set_global_opts()를 사용하여 제목, X축 레이블 회전 각도, Y축 이름 및 최대값, 데이터 레이블 설정을 포함한 차트의 전역 매개변수를 설정합니다.

  1. 결과 시각화 및 저장

마지막으로 render()를 사용하여 결과를 시각화하고 render_notebook()을 사용하여 Jupyter Notebook에 결과를 표시하거나 render('filename.html')를 사용하여 결과를 HTML 파일로 저장합니다. . 코드는 다음과 같습니다.

# 在Jupyter Notebook中显示图表
bar.render_notebook()

# 将图表保存为HTML文件
bar.render("bar_chart.html")

위 코드를 실행하면 명확한 누적 세로 막대형 차트가 생성됩니다. 이 차트는 각 월별 매출을 표시하고 다양한 제품 카테고리의 매출 비율을 반영할 수 있습니다.

3. 요약

이 문서에서는 ECharts 라이브러리의 Bar 구성 요소를 사용하여 누적 세로 막대형 차트를 그리는 방법을 소개하고, 특정 코드 예제를 사용하여 데이터를 준비하는 방법, 차트에 데이터를 추가하는 방법 및 방법을 보여줍니다. 차트를 사용자 정의하고 저장합니다. 물론 실제 작동에서는 다양한 시각화 요구 사항을 충족하기 위해 특정 구성 요소의 매개 변수에 대한 보다 자세한 설정 및 조정이 필요할 수 있습니다. 그러나 전반적으로 ECharts는 Python 사용자에게 데이터 분석 프로세스 중에 얻은 결과를 더 잘 표현하는 데 도움이 되는 강력하고 사용하기 쉬운 데이터 시각화 도구를 제공합니다.

위 내용은 Python에서 ECharts를 사용하여 누적 세로 막대형 차트를 그리는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.