Matplotlib---柱状图

# _*_ coding: gbk _*_
# @Author: Wonde
# bar 直方图

import matplotlib.pyplot as plt  # 绘图
from matplotlib.font_manager import FontProperties  # 管理字体

font = FontProperties(fname=r'STLITI.TTF')  # 设置字体 设置路径即可
plt.style.use('ggplot')  # 样式可选,默认ggplot和classic
# print(plt.style.available)  #查看可以使用的背景样式
classes = ['class1', 'class2', 'class3', 'class4']  # x轴数据
studentnum = [11, 21, 33, 25]    # y轴数据
classes_index = range(len(classes))  # 传一个可迭代对象range是一个可迭代对象,目的是为了让非数字的X轴均匀分布,通过索引实现
#画布设计
fig = plt.figure()  #实例化一个对象
ax1 = fig.add_subplot(1, 1, 1)  # 将一个画布分为几(1)行(1)列以及选定第(1)张add_subplot(1, 1, 1)

ax1.bar(classes_index, studentnum)  # 设置一些参数
# def bar(self, x, height, width=0.8, bottom=None, *, align="center",**kwargs):
# 设置刻度值的显示位置
ax1.xaxis.set_ticks_position('bottom')  # 刻度 x的刻度在底部,y的刻度在左边
ax1.yaxis.set_ticks_position('left')

#设置X轴的刻度和数据,X轴因为不是具体数据,故用他所在的数组位置进行等差取值。
plt.xticks(classes_index, classes, rotation=0, fontsize=12, FontProperties=font)


# 设置x和y轴以及标题栏的名字
plt.xlabel('班级', FontProperties=font, Fontsize=15)
plt.ylabel('学生人数', FontProperties=font, Fontsize=15)
plt.title('班级----学生人数', FontProperties=font, Fontsize=19)
plt.show()

****************************************************************************************************************************************************

# _*_ coding: gbk _*_
# @Author: Wonde
# bar 直方图

import matplotlib.pyplot as plt  # 绘图
from matplotlib.font_manager import FontProperties  # 管理字体

font = FontProperties(fname=r'STLITI.TTF')  # 设置字体 设置路径即可
plt.style.use('ggplot')  # 样式可选,默认ggplot和classic
# print(plt.style.available)  #查看可以使用的背景样式
classes = ['class1', 'class2', 'class3', 'class4']  # x轴数据
studentnum = [11, 21, 33, 25]    # y轴数据
classes_index = range(len(classes))  # 传一个可迭代对象range是一个可迭代对象
#画布设计
fig = plt.figure()  #实例化一个对象
ax1 = fig.add_subplot(1, 1, 1)  # 将一个画布分为几(1)行(1)列以及选定第(1)张add_subplot(1, 1, 1)

ax1.barh( classes_index, studentnum)  # 设置一些参数
#     def barh(self, y, width, height=0.8, left=None, *, align="center",**kwargs):
# 设置刻度值的显示位置
ax1.xaxis.set_ticks_position('bottom')  # 刻度 x的刻度在底部,y的刻度在左边
ax1.yaxis.set_ticks_position('left')

# yticks设置y轴的刻度值 和数据,此时Y轴是班级,不是一个具体数值,所以需要用索引来做均分间隔。
plt.yticks(classes_index, classes, rotation=0, fontsize=12, FontProperties=font)


# 设置x和y轴以及标题栏的名字
plt.xlabel('学生人数', FontProperties=font, Fontsize=15)
plt.ylabel('班级', FontProperties=font, Fontsize=15)
plt.title('班级----学生人数', FontProperties=font, Fontsize=19)
plt.show()

  

  重在理解!!!

猜你喜欢

转载自www.cnblogs.com/csic716/p/11939320.html