python 用 matplotlib 制作条形图参数详解 plt.barh()

python

1、加载库

import numpy as np

import matplotlib as mpl

import matplotlib.pyplot as plt

2、逐步添加 barh() 参数,绘制条形图

def title_table(ax):

ax.set_title(label=f'No.{i+1}',

loc='center',

pad=None,

fontdict={'color': 'b'}

)

ax.table(loc='upper right', # 表格在图表区的位置

colLabels=[f'{i+2} args'], # 表格每列的列名称

colColours=['g'], # 表格每列列名称所在单元格的填充颜色

colLoc='left', # 表格中每列列名称的对齐位置

colWidths=[0.15], # 表格每列的宽度

cellText=args, # 表格中的数值, 每行数据的列表的列表

cellColours=[['cornsilk']]*len(args), # 表格中数据所在单元格的填充颜色

cellLoc='left', # 表格中数据的对齐位置

fontsize=8)

# 定义数据

x = [1, 2, 3, 4, 5]

y = [6, 10, 4, 5, 1]

labels = list('abcde'.upper())

# 配置字体,显示中文

mpl.rcParams['font.sans-serif'] = ['SimHei']

# 配置坐标轴刻度值模式,显示负号

mpl.rcParams['axes.unicode_minus'] = True

# 设置子区布局和图表区属性

fig, axes = plt.subplots(nrows=3, # 子区行数

ncols=3, # 子区列数

figsize=(18, 14), # 图表区的大小

facecolor='cornsilk', # 图表区的背景色

)

# 将二维子区数组扁平化

axes = axes.ravel() # 返回子区坐标系的一维视图

# 选择子区 1

i = 0

ax = axes[i]

## 设置子区背景色

ax.set_facecolor('oldlace') # 浅米色,老白色

## 在第 1 子区中绘制条形图

ax.barh(y=x, # 条形对应的 y 轴坐标

width=y, # 条形的长度

)

args = [[e] for e in ['y', 'width']]

## 向图表子区添加标题和数据表

title_table(ax)

# 选择子区 2

i = 1

ax = axes[i]

## 设置子区背景色

ax.set_facecolor('lemonchiffon') # 柠檬绸色

## 在第 2 子区中绘制条形图

ax.barh(y=x, # 条形对应的 y 轴坐标

width=y, # 条形的长度

height=0.4, # 条形的宽度

)

args = [[e] for e in ['y', 'width', 'height']]

## 向图表子区添加标题和数据表

title_table(ax)

# 选择子区 3

i = 2

ax = axes[i]

## 设置子区背景色

ax.set_facecolor('moccasin') # 鹿皮色

## 在第 3 子区中绘制条形图

ax.barh(y=x, # 条形对应的 y 轴坐标

width=y, # 条形的长度

height=0.7, # 条形的宽度

align='edge', # 条形与 y 轴刻度线对齐的位置

)

args = [[e] for e in ['y', 'width', 'heigth', 'align']]

## 向图表子区添加标题和数据表

title_table(ax)

# 选择子区 4

i = 3

ax = axes[i]

## 设置子区背景色

ax.set_facecolor('palegoldenrod') # 淡菊黄色

## 在第 4 子区中绘制条形图

ax.barh(y=x, # 条形对应的 y 轴坐标

width=y, # 条形的长度

height=0.7, # 条形的宽度

align='edge', # 条形与 y 轴刻度线对齐的位置

color='darkgrey' # 条形的填充颜色

)

args = [[e] for e in ['y', 'width', 'heigth', 'align', 'color']]

## 向图表子区添加标题和数据表

title_table(ax)

# 选择子区 5

i = 4

ax = axes[i]

## 设置子区背景色

ax.set_facecolor('orange') # 橘黄色

## 设置子区背景色

ax.set_facecolor('palegoldenrod') # 淡菊黄色

## 在第 5 子区中绘制条形图

ax.barh(y=x, # 条形对应的 y 轴坐标

width=y, # 条形的长度

height=0.7, # 条形的宽度

align='edge', # 条形与 y 轴刻度线对齐的位置

color='darkgrey', # 条形的填充颜色

alpha=0.4, # 条形填充颜色的透明度

)

args = [[e] for e in ['y', 'width', 'heigth', 'align', 'color', 'alpha']]

## 向图表子区添加标题和数据表

title_table(ax)

# 选择子区 6

i = 5

ax = axes[i]

## 设置子区背景色

ax.set_facecolor('gold') # 金黄色

## 在第 6 子区中绘制条形图

ax.barh(y=x, # 条形对应的 y 轴坐标

width=y, # 条形的长度

height=0.7, # 条形的宽度

align='edge', # 条形与 y 轴刻度线对齐的位置

color='khaki', # 条形的填充颜色

alpha=1, # 条形填充颜色的透明度

left=0.7, # 条形左侧边线对应的 x 轴坐标

)

args = [[e] for e in ['y', 'width', 'heigth', 'align', 'color', 'alpha', 'left']]

## 向图表子区添加标题和数据表

title_table(ax)

## 设置刻度范围

ax.set_xlim(0, 11)

# 选择子区 7

i = 6

ax = axes[i]

## 设置子区背景色

ax.set_facecolor('darkgoldenrod') # 暗金黄色,深菊黄

## 在第 7 子区中绘制条形图

ax.barh(y=x, # 条形对应的 y 轴坐标

width=y, # 条形的长度

height=0.7, # 条形的宽度

align='edge', # 条形与 y 轴刻度线对齐的位置

color='khaki', # 条形的填充颜色

alpha=1, # 条形填充颜色的透明度

left=0.2, # 条形左侧边线对应的 x 轴坐标

edgecolor='g' # 条形的边框颜色

)

args = [[e] for e in ['y', 'width', 'heigth', 'align', 'color', 'alpha', 'left', 'edgecolor']]

## 向图表子区添加标题和数据表

title_table(ax)

## 设置刻度范围

ax.set_xlim(0, 11)

# 选择子区 8

i = 7

ax = axes[i]

## 设置子区背景色

ax.set_facecolor('goldenrod') # 菊花黄,金麒麟色

## 在第 8 子区中绘制条形图

ax.barh(y=x, # 条形对应的 y 轴坐标

width=y, # 条形的长度

height=0.7, # 条形的宽度

align='edge', # 条形与 y 轴刻度线对齐的位置

color='khaki', # 条形的填充颜色

alpha=1, # 条形填充颜色的透明度

left=0.2, # 条形左侧边线对应的 x 轴坐标

edgecolor='g', # 条形的边框颜色

linewidth=2, # 条形边框线的宽度

)

args = [[e] for e in ['y', 'width', 'heigth', 'align', 'color', 'alpha', 'left', 'edgecolor',

'linewidht']]

## 向图表子区添加标题和数据表

title_table(ax)

## 设置刻度范围

ax.set_xlim(0, 11)

# 选择子区 9

i = 8

ax = axes[i]

## 设置子区背景色

ax.set_facecolor('lightgoldenrodyellow') # 浅金黄色

## 在第 9 子区中绘制条形图

ax.barh(y=x, # 条形对应的 y 轴坐标

width=y, # 条形的长度

height=0.7, # 条形的宽度

align='edge', # 条形与 y 轴刻度线对齐的位置

color='khaki', # 条形的填充颜色

alpha=1, # 条形填充颜色的透明度

left=0.2, # 条形左侧边线对应的 x 轴坐标

edgecolor='g', # 条形的边框颜色

linewidth=2, # 条形边框线的宽度

tick_label=labels # 条形的标签名称

)

args = [[e] for e in ['y', 'width', 'heigth', 'align', 'color', 'alpha', 'left', 'edgecolor',

'linewidht', 'tick_label']]

## 向图表子区添加标题和数据表

title_table(ax)

## 设置刻度范围

ax.set_xlim(0, 11);

图表

以上是 python 用 matplotlib 制作条形图参数详解 plt.barh() 的全部内容, 来源链接: utcz.com/z/388331.html

回到顶部