bar()函数——python绘制柱状图

版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/qq_41011336/article/details/83016709

绘制柱状图,我们主要用到bar()函数。

只要将该函数理解透彻,我们就能绘制各种类型的柱状图。

我们先看下bar()的构造函数:bar(x,height, width,*,align=‘center’,**kwargs)
x
包含所有柱子的下标的列表

height
包含所有柱子的高度值的列表

width
每个柱子的宽度。可以指定一个固定值,那么所有的柱子都是一样的宽。或者设置一个列表,这样可以分别对每个柱子设定不同的宽度。

align
柱子对齐方式,有两个可选值:center和edge。center表示每根柱子是根据下标来对齐, edge则表示每根柱子全部以下标为起点,然后显示到下标的右边。如果不指定该参数,默认值是center。

其他可选参数有:

color
每根柱子呈现的颜色。同样可指定一个颜色值,让所有柱子呈现同样颜色;或者指定带有不同颜色的列表,让不同柱子显示不同颜色。

edgecolor
每根柱子边框的颜色。同样可指定一个颜色值,让所有柱子边框呈现同样颜色;或者指定带有不同颜色的列表,让不同柱子的边框显示不同颜色。

linewidth
每根柱子的边框宽度。如果没有设置该参数,将使用默认宽度,默认是没有边框。

tick_label
每根柱子上显示的标签,默认是没有内容。

xerr
每根柱子顶部在横轴方向的线段。如果指定一个固定值,所有柱子的线段将一直长;如果指定一个带有不同长度值的列表,那么柱子顶部的线段将呈现不同长度。

yerr
每根柱子顶端在纵轴方向的线段。如果指定一个固定值,所有柱子的线段将一直长;如果指定一个带有不同长度值的列表,那么柱子顶部的线段将呈现不同长度。

ecolor
设置 xerr 和 yerr 的线段的颜色。同样可以指定一个固定值或者一个列表。

capsize
这个参数很有趣, 对xerr或者yerr的补充说明。一般为其设置一个整数,例如 10。如果你已经设置了
yerr 参数,那么设置 capsize 参数,会在每跟柱子顶部线段上面的首尾部分增加两条垂直原来线段的线段。对 xerr 参数也是同样道理。可能看说明会觉得绕,如果你看下图就一目了然了。

error_kw
设置 xerr 和 yerr 参数显示线段的参数,它是个字典类型。如果你在该参数中又重新定义了 ecolor 和 capsize,那么显示效果以这个为准。

log
这个参数,我暂时搞不懂有什么用。

orientation
设置柱子是显示方式。设置值为 vertical ,那么显示为柱形图。如果设置为 horizontal 条形图。不过 matplotlib 官网不建议直接使用这个来绘制条形图,使用barh来绘制条形图。

下面调用 bar 函数绘制一个简单的柱形图。

import matplotlib.pyplot as plt 
import numpy as np 
# 创建一个点数为 8 x 6 的窗口, 并设置分辨率为 80像素/每英寸 
plt.figure(figsize=(8, 6), dpi=80) 
# 再创建一个规格为 1 x 1 的子图 
plt.subplot(1, 1, 1) 
# 柱子总数 
N = 6 
# 包含每个柱子对应值的序列 
values = (25, 32, 34, 20, 41, 50) 
# 包含每个柱子下标的序列 
index = np.arange(N) 
# 柱子的宽度 
width = 0.35 
# 绘制柱状图, 每根柱子的颜色为紫罗兰色 
p2 = plt.bar(index, values, width, label="rainfall", color="#87CEFA") 
# 设置横轴标签 
plt.xlabel('Months') 
# 设置纵轴标签 
plt.ylabel('rainfall (mm)') 
# 添加标题 
plt.title('Monthly average rainfall') 
# 添加纵横轴的刻度 
plt.xticks(index, ('Jan', 'Fub', 'Mar', 'Apr', 'May', 'Jun')) 
plt.yticks(np.arange(0, 81, 10)) 
# 添加图例 
plt.legend(loc="upper right") 
plt.show()

结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41011336/article/details/83016709