데이터 시각화 - 타임라인으로 히스토그램 그리기

여기에 이미지 설명 삽입

머리말

패키지에 있는 모듈을 사용하는 방법과 그에 따른 꺾은선형 차트 및 지도를 그리는 방법을 배웠 pyecharts으므로 오늘은 타임라인으로 히스토그램을 그리는 방법을 알려드리겠습니다.

히스토그램을 그리는 방법

세로 막대형 차트를 그리는 단계는 선형 차트와 대략 동일합니다.

pyecharts.charts파이썬에서 히스토그램 그리기는 모듈 아래의 메서드 에 따라 다릅니다 Bar.

from pyecharts.charts import Bar

bar = Bar()

x_data = ["英国","美国","中国"]
y_data = [10,20,30]

bar.add_xaxis(x_data)
bar.add_yaxis("GDP",y_data)

bar.render("柱状图.html")

여기에 이미지 설명 삽입
데이터를 보다 선명하게 표시하기 위해 가로 좌표와 세로 좌표를 반전시킬 수도 있습니다.

bar.reversal_axis()x축과 y축을 반전시키는 데 사용합니다 .
여기에 이미지 설명 삽입
여기서는 데이터가 히스토그램으로 표시되어 있어 보기가 불편하지만 히스토그램 오른쪽에 데이터가 표시되도록 시리즈 구성 옵션을 설정할 수도 있습니다.

bar.add_yaxis("GDP",y_data,label_opts=LabelOpts(position="right"))

따라서 개선된 전체 코드는 다음과 같습니다.

from pyecharts.charts import Bar
from pyecharts.options import LabelOpts

bar = Bar()

x_data = ["英国","美国","中国"]
y_data = [10,20,30]

bar.add_xaxis(x_data)
bar.add_yaxis("GDP",y_data,label_opts=LabelOpts(position="right"))
bar.reversal_axis()  # 反转x轴和y轴

bar.render("柱状图.html")

여기에 이미지 설명 삽입

타임라인 추가

여기에 이미지 설명 삽입

타임라인을 추가하여 다양한 데이터를 볼 수 있는데, 각각의 시간은 사실 히스토그램이고 타임라인은 히스토그램이 하나씩 구성되어 있습니다.

from pyecharts.charts import Bar,Timeline
from pyecharts.options import LabelOpts,TitleOpts

bar1 = Bar()
bar2 = Bar()
bar3 = Bar()

x_data = ["英国","美国","中国"]
y_data1 = [10,20,30]
y_data2 = [20,30,40]
y_data3 = [40,50,70]

bar1.add_xaxis(x_data)
bar1.add_yaxis("GDP",y_data1,label_opts=LabelOpts(position="right"))
bar1.reversal_axis()  # 反转x轴和y轴
bar1.set_global_opts(title_opts=TitleOpts(title="2021年GDP"))

bar2.add_xaxis(x_data)
bar2.add_yaxis("GDP",y_data2,label_opts=LabelOpts(position="right"))
bar2.reversal_axis()  # 反转x轴和y轴
bar2.set_global_opts(title_opts=TitleOpts(title="2022年GDP"))

bar3.add_xaxis(x_data)
bar3.add_yaxis("GDP",y_data3,label_opts=LabelOpts(position="right"))
bar3.reversal_axis()  # 反转x轴和y轴
bar3.set_global_opts(title_opts=TitleOpts(title="2023年GDP"))

timeline = Timeline()
timeline.add(bar1,"2021")
timeline.add(bar2,"2022")
timeline.add(bar3,"2023")

timeline.render("2021-2023中美英三国GDP.html")

여기에 이미지 설명 삽입
동적 히스토그램에 애니메이션을 적용하려면 구성 옵션을 설정해야 합니다.

timeline.add_schema(
    play_interval=1000,  # 每个柱状图播放间隔时间,单位(毫秒)
    is_timeline_show=True,  # 是否显示时间线,默认显示
    is_auto_play=True,  # 是否自动播放
    is_loop_play=True  # 是否循环播放
)

여기에 이미지 설명 삽입

제공된 데이터를 기반으로 동적 히스토그램을 그립니다.

상위 8개 국가와 1960년부터 2014년까지의 국가 GDP 데이터 데이터를 보여줍니다. 여기에 제공된 데이터에 대해 개인적으로 메시지를 보낼 수 있습니다.
여기에 이미지 설명 삽입
여기에 제공된 데이터는 비교적 간단합니다. 첫 번째 행에서 쓸모 없는 데이터를 삭제한 다음 데이터를 히스토그램을 그리는 데 필요한 데이터로 변환하기만 하면 됩니다.

쓸모없는 데이터 읽기 및 삭제

f = open("D:/桌面/1960-2019全球GDP数据.csv","r",encoding="GB2312")
data_lines = f.readlines()

f.close()

data_lines.pop(0)

GB2312 인코딩은 중국어 인코딩 형식입니다.

데이터를 사전으로 변환

data_dict = {
    
    }
for line in data_lines:
    data_list = line.split(",")  # 每一行以逗号分割,返回一个列表
    year = data_list[0]
    country = data_list[1]
    GDP = float(data_list[2][:-1])  # 每一行最后有一个换行符
    # 这里需要做出异常判断,因为当我们第一次插入数据的时候并没有容器来装这些数据
    try:
        data_dict[year].append((country, GDP))
    except:
        data_dict[year] = []
        data_dict[year].append([country, GDP])

히스토그램을 만들어 타임라인에 추가

sorted_year_line = sorted(data_dict.keys())  # 按时间顺序排序
timeline = Timeline({
    
    "scheme":ThemeType.LIGHT})  # 在创建时间线的时候传入scheme参数可以设置时间线的主题,也就是柱状图的颜色

for year in sorted_year_line:
    x_data = []
    y_data = []
    data_dict[year].sort(key=lambda element : element[1],reverse=True)
    year_data = data_dict[year][0:8]  # 取GDP前八的数据
    for data in year_data:
        x_data.append(data[0])
        y_data.append(data[1] / 100000000)

    bar = Bar()
    x_data.reverse()
    y_data.reverse()  # 让GDP排名第一的数据在最上面,所以我们将x_data 和 y_data中的数据反转一下
    bar.add_xaxis(x_data)
    bar.add_yaxis("GDP(亿)",y_data,label_opts=LabelOpts(position="right"))
    bar.reversal_axis()  # 将x轴和y轴翻转
    bar.set_global_opts(
        title_opts=TitleOpts(title=f"{
      
      year}年全国GDP数据前八")
    )
    timeline.add(bar,year)

옵션 구성 및 데이터가 포함된 선형 차트 생성

timeline.add_schema(
    play_interval=1000,
    is_timeline_show=True,
    is_auto_play=True,
    is_loop_play=False
)
timeline.render("1960-2014年全国GDP数据前八.html")

여기에 이미지 설명 삽입

Supongo que te gusta

Origin blog.csdn.net/m0_73888323/article/details/131852218
Recomendado
Clasificación