Python数据可视化(week2)

Python数据可视化(2)

使用matplotlib库解决图形编辑问题,Python数据可视化第二周作业答案,主要涉及雷达图和箱型图

题目

1.绘制单雷达图;
2.多雷达图;
3.绘制箱型图;

1.雷达图

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
#用于正常显示符号
plt.rcParams['axes.unicode_minus'] = False
labels = np.array(['综合','KDA','发育','推进','生存','输出'])
nAttr = 6
data = np.array([7,9,8,9,8,7])
angles = np.linspace(0,2*np.pi,nAttr,endpoint=False)
data = np.concatenate((data,[data[0]]))       #对data进行封闭
angles = np.concatenate((angles,[angles[0]])) #对angles进行封闭
labels=np.concatenate((labels,[labels[0]]))   #对labels进行封闭
fig = plt.figure(facecolor="white")
plt.subplot(111,polar=True)
plt.plot(angles,data,'bo-',color ='g',linewidth=2)
plt.fill(angles,data,facecolor='g',alpha=0.25)
plt.thetagrids(angles*180/np.pi,labels)
plt.figtext(0.52,0.95,'王者荣耀能力值雷达图',ha='center')
plt.grid(True)
plt.show()

在这里插入图片描述

2.多雷达图

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
#用于正常显示符号
plt.rcParams['axes.unicode_minus'] = False
labels = np.array(['综合','KDA','发育','推进','生存','输出'])
nAttr = 6      #设置维度6
data = np.array([[7,9,8,9,8,7],
                 [9,8,7,6,7,6],
                 [7,7,7,7,7,7],
                 [8,7,9,5,6,6],
                 [7,8,9,5,9,9],
                 [9,9,9,9,9,9]])
angles = np.linspace(0,2*np.pi,nAttr,endpoint=False)
data = np.concatenate((data,[data[0]]))       #对data进行封闭
angles = np.concatenate((angles,[angles[0]])) #对angles进行封闭
labels=np.concatenate((labels,[labels[0]]))   #对labels进行封闭
fig = plt.figure(facecolor="white")
plt.subplot(111,polar=True)
plt.plot(angles,data,'bo-',color ='g',linewidth=2)
plt.fill(angles,data,facecolor='g',alpha=0.25)#填充颜色
plt.thetagrids(angles*180/np.pi,labels)
plt.figtext(0.52,0.95,'王者荣耀能力值雷达图',ha='center')
plt.grid(True)
plt.show()

在这里插入图片描述

3.一张图上分4个子图,分别绘制圆形、正方形、三角形和直线

import pandas as pd
import matplotlib.pyplot as plt
data = {
'China': [1000, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2500],
'America': [1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100],
'Britain': [1000, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000],
"Russia": [800, 1000, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900]
}
df = pd.DataFrame(data)
df.plot.box(title="Consumer spending in each country")
plt.grid(linestyle="--", alpha=0.3)
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值