python matplotlib.pyplot.bar 柱状图、条形图

matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)

参数: 介绍
x 横坐标 序列
height 纵坐标 序列
width 条形图的宽度 默认为0.8
bottom 用于绘制堆叠条形图 默认值为0
align x轴刻度标签的对齐方式 包括:'center','edge',默认:'center'
color 指定条形图的颜色
edgecolor 指定条形图边框的颜色
linewidth 指定条形图边框的宽度 为0时,无边框
tick_label 指定条形图的刻度标签
xerr, yerr 指定条形图误差线的
ecolor 指定条形图误差线的颜色
capsize 误差线的长度 默认值:无
error_kw 将kwargs传递改errorbar的方法
log 是否对坐标轴进行log变换 bool类型,默认为False
orientation 柱状图的形式(垂直或水平) 包括:'vertical', 'horizontal',默认为'vertical'(垂直)

示例

# 导入包
import numpy as np
import matplotlib.pyplot as plt
# 创建数据
data_X = ['l1', 'l2', 'l3', 'l4', 'l5']
data_Y = [0.96332673, 0.41957767, 0.28530194, 0.66399872, 0.39162668]
data_Y1 = [0.95827706, 0.570968, 0.1820442, 0.6373498, 0.3974183]
data_Y2 = [0.52999985, 0.54202189, 0.6418166, 0.69023167, 0.90743048]
# 生成简单的柱状图
plt.bar(data_X, data_Y)
plt.show()
plt.barh(data_X, data_Y)
plt.show()

# 簇状柱形图
x = np.arange(len(data_X))  # 设定步长
width = 0.4  # 设置数据条宽度
fig, ax = plt.subplots()
p1 = ax.bar(x - width / 2, data_Y, width)
p2 = ax.bar(x + width / 2, data_Y1, width)
ax.set_xticks(x)
ax.set_xticklabels(data_X)
plt.show()
# 堆叠柱形图
x = np.arange(len(data_X))  # 设定步长
p1 = plt.bar(x, data_Y )
p2 = plt.bar(x, data_Y1, bottom=data_Y)#bottom 为数据条距坐标轴的距离
p3 = plt.bar(x, data_Y2, bottom=[data_Y1[i]+data_Y[i] for i in range(min(len(data_Y1),len(data_Y)))])
plt.xticks(x, data_X)
plt.show()
# 双向柱形图
x = np.arange(len(data_X))  # 设定步长
p1 = plt.bar(x, data_Y)
p2 = plt.bar(x, [-data_Y1[i] for i in range(len(data_Y1))])#将数据取成负数
plt.xticks(x, data_X)
plt.show()

你可能感兴趣的:(python matplotlib.pyplot.bar 柱状图、条形图)