文章目录
一、自定义柱状图
示例代码:
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体(解决中文无法显示的问题)
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像时负号“-”显示方块的问题
# 该函数的作用就是在图表上给柱状图的每个柱添加高度
def autolabel(rects):
# 循环取出每一个柱进行操作
for rect in rects:
height = rect.get_height()
plt.text(rect.get_x()+rect.get_width()/2,1.03*height,"%s"%float(height))
plt.xlabel('性别') # X轴说明信息
plt.ylabel("人数") # Y轴说明信息
# 设置指定坐标的刻度值:0刻度男,1刻度为女
plt.xticks((0,1),('男','女'))
plt.title("性别比例分析")
# 绘制柱形图
rects = plt.bar(x=(0,1),height=(1,0.5),width=0.4,align='center',yerr=0.0001)
plt.legend((rects,),('图例',))
autolabel(rects)
plt.show()
注意在使用matplotlib画图的时候最好加上这几行代码解决中文显示问题
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体(解决中文无法显示的问题)
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像时负号“-”显示方块的问题
plt.bar()函数:
bar()函数:绘制柱状图
本示例代码中用到了bar()函数的五个参数:
- x:可以直接放数字,也可以放一个元组或一个列表,用于确定左边缘X的值
- height:可以直接放数字,也可以放一个元组或一个列表,用于确定柱状图的高度
- width:设置柱状图的宽度
- align:每个柱状图的位置对齐方式 {‘center’, ‘edge’}, optional, default: ‘center’
- yerr:为了避免绘制矩形柱状图紧靠顶部(最好能够空出一段距离),
此时可通过bar()的属性参数yerr来设置(一旦设置,对应矩形上面就会有一条竖线)。当把yerr值设置得很小时,空白就自动出现了。
plt.text()函数:
text():用于在图表上显示文本
本示例代码中用到了plt.text()的三个参数,分别是:X坐标,Y坐标和要显示的文字
plt.legend()函数:
plt.legend():添加图例
它的参数必须是元组,即使只有一个图例也必须是元组,否则显示不正确。
代码运行结果如下:
二、修改每个柱的颜色
在示例代码中的plt.bar()添加一个color参数:
# 将第一根柱的颜色设置为红色,将第二根柱的颜色设置为绿色
rects = plt.bar(x=(0,1),height=(1,0.5),width=0.4,align='center',yerr=0.0001,color=['r','g'])
修改之后代码运行结果如下: