Pyecharts 可视化操作CSV文件 (bar,radar)

import pandas as pd
from pyecharts import options as opts
from pyecharts.globals import ThemeType
from pyecharts.charts import Bar ,Pie,Radar
file_name = "C:\Users\dgd71\Desktop\大学\创新实验\python学习\数据\newbaby.csv"
def bar_chart(x,y): #写一个柱状表(x轴,y轴)
bar =(
Bar() #创建对象
.add_xaxis(list(data[x])) #为x轴添加数据
.add_yaxis(y,list(data[y])) # 必须先写y轴字符串名,数据类型必须是列表型。
.set_global_opts(title_opts=opts.TitleOpts(title="新生儿出生体长", subtitle="男女婴"))
)
return bar.render()
def radar_picture(x,y,z,w,t): #自定义一个雷达图函数(病人1,病人2,病人3,病人4,病人5)
patient1 =[list(patient_data.loc[x])[1:7]] #先取行,再转换成列表切片。
patient2 =[list(patient_data.loc[y])[1:7]]
patient3 =[list(patient_data.loc[z])[1:7]]
patient4 =[list(patient_data.loc[w])[1:7]]
patient5 =[list(patient_data.loc[t])[1:7]]
c_schema =[ {"name":"怀孕次数","max":max(patient_data["Pregnancies"])},
{"name":"口服葡萄糖耐量试验中血浆葡萄糖浓度为2小时", "max": max(patient_data["Glucose"])},
{"name": "舒张压(mm Hg)", "max": max(patient_data["BloodPressure"])},
{"name": "肱三头肌皮褶厚度(mm)", "max": max(patient_data["SkinThickness"])},
{"name": "2小时血清胰岛素(μU/ ml)", "max": max(patient_data["Insulin"])},
{"name": "BMI身体质量指数(体重kg /(身高m)^ 2)", "max": max(patient_data["BMI"])},
]
rader = Radar()
rader.add_schema(c_schema)
rader.add("病人1",patient1,color="#90ff00")
rader.add("病人2",patient2,color="#203f70")
rader.add("病人3",patient3,color="#301ff0")
rader.add("病人4",patient4, color="#00ff00")
rader.add("病人5",patient5)
rader.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
rader.set_global_opts(
title_opts=opts.TitleOpts(title="患病因数"), #标题
)
# rader =(
# Radar()
# .add_schema(
# schema=[
# opts.RadarIndicatorItem(name="怀孕次数",max_=20),
# opts.RadarIndicatorItem(name="口服葡萄糖耐量试验中血浆葡萄糖浓度为2小时", max_=200),
# opts.RadarIndicatorItem(name="舒张压(mm Hg)", max_=130),
# opts.RadarIndicatorItem(name="肱三头肌皮褶厚度(mm)", max_=50),
# opts.RadarIndicatorItem(name="2小时血清胰岛素(μU/ ml)", max_=600),
# opts.RadarIndicatorItem(name="BMI身体质量指数(体重kg /(身高m)^ 2)", max_=50),
#
# ]
# )
# .add("病人1",patient1)
# .add("病人2",patient2)
# .add("病人3",patient3)
# .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
# .set_global_opts(
# legend_opts=opts.LegendOpts(selected_mode="single"),
# title_opts=opts.TitleOpts(title="患病因数"),
# )
# )
return rader.render()


if __name__ == "__main__":
try:
patient_data = pd.DataFrame(pd.read_csv("diabetesP1.csv"))
data = pd.read_csv(file_name)
radar_picture(3,23,8,129,89)
#bar_chart("gender","newBabyHeight")
except FileNotFoundError:
print("文件没有存在")

原文地址:https://www.cnblogs.com/D007/p/13967895.html