数据来源:八倍镜
序号 | 战队名 | 回合数 | 前十数 | 吃鸡率 | 吃鸡数 | 总击杀 | 积分 |
1 | 4AM | 96 | 67 | 9% | 9 | 439 | 241 |
2 | iFTY | 96 | 72 | 13% | 12 | 475 | 241 |
3 | FPX | 72 | 51 | 8% | 6 | 300 | 237 |
4 | LGE | 84 | 59 | 10% | 8 | 349 | 206 |
5 | Ark | 84 | 48 | 10% | 8 | 359 | 203 |
6 | QM | 96 | 61 | 10% | 10 | 384 | 193 |
7 | Tianba | 108 | 76 | 5% | 5 | 440 | 192 |
8 | D7G | 72 | 46 | 11% | 8 | 296 | 192 |
9 | VG | 84 | 53 | 11% | 9 | 315 | 189 |
10 | LYG | 84 | 52 | 10% | 8 | 318 | 163 |
11 | RNG | 84 | 57 | 7% | 6 | 321 | 162 |
12 | DAE | 96 | 55 | 5% | 5 | 390 | 155 |
13 | OMG | 96 | 56 | 8% | 8 | 353 | 133 |
14 | Lstars | 96 | 56 | 1% | 1 | 338 | 129 |
15 | BA | 96 | 56 | 7% | 7 | 330 | 123 |
16 | YTG | 84 | 46 | 8% | 7 | 291 | 104 |
代码:
import pandas as pd
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
excelFile = r'pclsum.xlsx'
df=pd.DataFrame(pd.read_excel(excelFile))
x=list(df['战队名'])
y=list(df['吃鸡数'])
#必须把数字改为float,否则不按顺序来显示
z=[]
for i in range(0,16):
y[i]=float(y[i])
z.append(y[i])
name_list = x
num_list = z
print(name_list)
name_list1=[]
for name in name_list:
name_list1.append("".join(name.split()))
# print(name_list1)
plt.bar(range(len(num_list)), num_list,color='g',tick_label=name_list1)
plt.title("PCL夏季赛",fontsize=24)
plt.xlabel('各大战队',fontsize=14)
plt.ylabel('回合数',fontsize=14)
plt.show()
将柱状图高低排序:
import pandas as pd
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
excelFile = r'pclsum.xlsx'
df=pd.DataFrame(pd.read_excel(excelFile))
name_list=list(df['战队名'])
y=list(df['吃鸡数'])
#必须把数字改为float,否则y不按顺序来显示
num_list=[]
for i in range(0,16):
y[i]=float(y[i])
num_list.append(y[i])
# print(name_list)
#去除name_list中的\xa0
name_list1=[]
for name in name_list:
name_list1.append("".join(name.split()))
# print(name_list1)
#必须转化成np格式进行
name_list1 = np.array(name_list1)
num_list=np.array(num_list)
#排序的依据是数值部分:num_list
#定y轴先变x轴
name_list1 = name_list1[np.argsort(num_list)]
num_list = num_list[np.argsort(num_list)]
width =0.25
plt.xticks(arange(len(name_list1)), name_list1)
plt.bar(arange(len(name_list1)),num_list,width,color='b')
plt.title("PCL夏季赛",fontsize=24)
plt.xlabel('各大战队',fontsize=14)
plt.ylabel('回合数',fontsize=14)
plt.show()
显示柱状图上的数字
import pandas as pd
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
excelFile = r'C:/Users/admin/Desktop/2019.10.05/柱状图/柱状图/一组/pclsum.xlsx'
df=pd.DataFrame(pd.read_excel(excelFile))
x=list(df['战队名'])
y=list(df['吃鸡数'])
#必须把数字改为float,否则不按顺序来显示
z=[]
for i in range(0,16):
y[i]=float(y[i])
z.append(y[i])
name_list = x
num_list = z
print(name_list)
name_list1=[]
for name in name_list:
name_list1.append("".join(name.split()))
# print(name_list1)
fig, ax = plt.subplots()
x=name_list1
y=num_list
#网址:https://blog.csdn.net/weixin_43477082/article/details/84932990
means = sum(sorted(y)[1:-1])/len(y[1:-1])
b = ax.bar(x, y, label='{}'.format(means))
plt.title('Recommended song list score')
for a, b in zip(x, y):
ax.text(a, b+1, b, ha='center', va='bottom')
plt.bar(range(len(num_list)), num_list,color='g',tick_label=name_list1)
plt.title("PCL夏季赛",fontsize=24)
plt.xlabel('各大战队',fontsize=14)
plt.ylabel('回合数',fontsize=14)
plt.ylim((1,15))
plt.show()