import numpy as np
%matplotlib inline
from scipy import stats, integrate
import seaborn as sns
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
city_top10 =company['city'].value_counts().head(10)
plt.figure(figsize=(18,9))
#设置x轴柱子的个数
x=np.arange(10)+1 #课程品类数量已知为10
#设置y轴的数值,需将numbers列的数据先转化为数列,再转化为矩阵格式
y=np.array(list(city_top10))
xticks1=list(city_top10.index) #构造不同课程类目的数列
#画出柱状图
plt.bar(x,y,align='center')
#设置x轴的刻度,将构建的xticks代入,同时由于课程类目文字较多,在一块会比较拥挤和重叠,因此设置字体和对齐方式
plt.xticks(x,xticks1,rotation=30,fontsize=13) #第一个参数坐标,第二个参数文本,第三个参数文本显示时旋转的角度
#x、y轴标签与图形标题
#设置数字标签**
for a,b in zip(x,y):
plt.text(a, b+0.05, '%.0f' % b, ha='center', va= 'bottom',fontsize=23,alpha = 0.8)
#设置y轴的范围
plt.xlabel('上市公司所属城市')
plt.ylabel('上市公司数量')
plt.title('拥有上市公司数量城市TOP10图',fontsize=33)
plt.grid()
plt.show()
领取专属 10元无门槛券
私享最新 技术干货