python画柱状图(1)

数据来源:八倍镜

序号战队名回合数前十数吃鸡率吃鸡数总击杀积分
1 4AM96679% 9 439241
2 iFTY967213% 12 475241
3 FPX72518% 6 300237
4 LGE845910% 8 349206
5 Ark844810% 8 359203
6 QM966110% 10 384193
7 Tianba108765% 5440192
8 D7G724611% 8 296192
9 VG845311% 9 315189
10 LYG845210% 8 318163
11 RNG84577% 6 321162
12 DAE96555% 5 390155
13 OMG96568% 8 353133
14 Lstars96561% 1 338129
15 BA96567% 7 330123
16 YTG84468% 7 291104

 代码:

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()

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值