《数据可视化技术》上机报告-第五题

时间:2024-11-16 08:41:21

        利用pyecharts绘制有关运动员的最大携氧能力、体重和运动后心率三者关系的3D散点图,数据:运动员的最大携氧能力、体重和运动后心率数据.xlsx,要求:努力美化所画的3D散点图,可以参照第一个任务的方法。

import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Scatter3D

# 读取CSV文件
file_path = '运动员的最大携氧能力、体重和运动后心率数据.csv'
df = pd.read_csv(file_path)

# 将DataFrame转换为列表,准备绘图
data = df.values.tolist()

# 创建3D散点图
scatter3d = (
    Scatter3D()
    .add(
        series_name="运动员数据",
        data=data,
        xaxis3d_opts=opts.Axis3DOpts(name='最大携氧能力 (ml/min)', type_='value'),
        yaxis3d_opts=opts.Axis3DOpts(name='体重 (kg)', type_='value'),
        zaxis3d_opts=opts.Axis3DOpts(name='运动后心率 (次/分钟)', type_='value'),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="运动员最大携氧能力、体重与运动后心率的关系"),
        visualmap_opts=opts.VisualMapOpts(
            max_=180,
            range_color=['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', '#fee090', '#fdae61',
                         '#f46d43', '#d73027'],
        ),
    )
)

# 渲染图表
scatter3d.render('第五题.html')