青你2项目系列-2对爬取青你2成员的部分数据可视化

今天和大家分享的是最近在跟的一个百度飞桨的项目的一部分,对爬取青你2成员的部分数据可视化。主要用到的模块是matplotlib的pyplot。

读取爬取的json数据,绘制选手区域分布柱状图

import matplotlib.pyplot as plt
import numpy as np 
import json
import matplotlib.font_manager as font_manager

#显示matplotlib生成的图形
%matplotlib inline

with open(data/data31557/20200422.json, r, encoding=UTF-8) as file:
         json_array = json.loads(file.read())

#绘制小姐姐区域分布柱状图,x轴为地区,y轴为该区域的小姐姐数量

zones = []
for star in json_array:
    zone = star[zone]
    zones.append(zone)
print(len(zones))
print(zones)


zone_list = []
count_list = []

for zone in zones:
    if zone not in zone_list:
        count = zones.count(zone)
        zone_list.append(zone)
        count_list.append(count)

print(zone_list)
print(count_list)

# 设置显示中文
plt.rcParams[font.sans-serif] = [SimHei] # 指定默认字体

plt.figure(figsize=(10,8))

plt.bar(range(len(count_list)), count_list,color=r,tick_label=zone_list,facecolor=#9999ff,edgecolor=white)

# 这里是调节横坐标的倾斜度,rotation是度数,以及设置刻度字体大小
plt.xticks(rotation=45,fontsize=10)
plt.yticks(fontsize=10)

plt.legend()
plt.title(《青春有你2》参赛选手,fontsize = 24)
plt.savefig(/home/aistudio/work/result/bar_result.jpg)
plt.show()

对选手体重分布进行可视化,绘制饼状图。

df = pd.read_json(data/data31557/20200422.json)
weight=pd.to_numeric(df[weight].replace([k][g],,regex=True))
bins=[0,45,50,55,1000]
labels=[<=45kg,45-50kg,50-5kg,>55kg]
counts=pd.cut(weight,bins,labels=labels)
s=counts.value_counts()
zone_list=s.index
count_list=s.values

# 设置显示中文
plt.rcParams[font.sans-serif] = [SimHei] # 指定默认字体

plt.figure(figsize=(10,8))
explode=(0.1,0.1,0,0)
plt.pie(count_list,explode=explode,labels=labels,autopct=%1.1f%%,shadow=True,startangle=90)

# 这里是调节横坐标的倾斜度,rotation是度数,以及设置刻度字体大小
plt.xticks(rotation=45,fontsize=20)
plt.yticks(fontsize=20)

plt.legend()
plt.title(《青春有你2》参赛选手,fontsize = 24)
plt.savefig(/home/aistudio/work/result/bar_result03.jpg)
plt.show()
经验分享 程序员 微信小程序 职场和发展