python 用 matplotlib 繪制柱狀圖參數詳解 plt.bar()


1、加載庫

import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt

2 繪圖,逐步設置 bar() 參數

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) # 配置字體,顯示中文
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 配置坐標軸刻度值模式,顯示負號
mpl.rcParams['axes.unicode_minus'] = True # 定義數據
x = [1, 2, 3, 4, 5] y = [6, 10, 4, 5, 1] labels = list('ABCDE') fig, axes = plt.subplots(nrows=3, ncols=3, sharex=True, sharey=True, figsize=(18, 20), facecolor='cornsilk') axes = axes.ravel() i = 0 ax = axes[i] # 繪制柱狀圖
ax.bar(x=x,    # 柱體在 x 軸上的坐標位置
        height=y,    # 柱體的高度
 ) args = [[e] for e in ['x', 'height']] # 向圖表子區添加標題和數據表
title_table(ax) i = 1 ax = axes[i] # 繪制柱狀圖
ax.bar(x=x,    # 柱體在 x 軸上的坐標位置
        height=y,    # 柱體的高度
        align='edge',    # x 軸上的坐標與柱體對其的位置
 ) args = [[e] for e in ['x', 'height', 'align']] # 向圖表子區添加標題和數據表
title_table(ax) i = 2 ax = axes[i] # 繪制柱狀圖
ax.bar(x=x,    # 柱體在 x 軸上的坐標位置
        height=y,    # 柱體的高度
        align='edge',    # x 軸上的坐標與柱體對其的位置
        color='c',    # 柱體的填充顏色
 ) args = [[e] for e in ['x', 'height', 'align', 'color']] # 向圖表子區添加標題和數據表
title_table(ax) i = 3 ax = axes[i] # 繪制柱狀圖
ax.bar(x=x,    # 柱體在 x 軸上的坐標位置
        height=y,    # 柱體的高度
        align='edge',    # x 軸上的坐標與柱體對齊的位置
        color='cyan',    # 柱體的填充顏色
        tick_label=labels,    # 每個柱體的標簽名稱
 ) args = [[e] for e in ['x', 'height', 'align', 'color', 'tick_label']] # 向圖表子區添加標題和數據表
title_table(ax) i = 4 ax = axes[i] # 繪制柱狀圖
ax.bar(x=x,    # 柱體在 x 軸上的坐標位置
        height=y,    # 柱體的高度
        align='edge',    # x 軸上的坐標與柱體對其的位置
        color='blue',    # 柱體的填充顏色
        tick_label=labels,    # 每個柱體的標簽名稱
        alpha=0.6    # 柱體填充顏色的透明度
 ) args = [[e] for e in ['x', 'height', 'align', 'color', 'tick_label', 'alpha']] # 向圖表子區添加標題和數據表
title_table(ax) i = 5 ax = axes[i] # 繪制柱狀圖
ax.bar(x=x,    # 柱體在 x 軸上的坐標位置
        height=y,    # 柱體的高度
        align='edge',    # x 軸上的坐標與柱體對其的位置
        color='wheat',    # 柱體的填充顏色
        tick_label=labels,    # 每個柱體的標簽名稱
        alpha=0.6,    # 柱體填充顏色的透明度
        width=1,  # 柱體的寬度
 ) args = [[e] for e in ['x', 'height', 'align', 'color', 'tick_label', 'alpha', 'width']] # 向圖表子區添加標題和數據表
title_table(ax) i = 6 ax = axes[i] # 繪制柱狀圖
ax.bar(x=x,    # 柱體在 x 軸上的坐標位置
        height=y,    # 柱體的高度
        align='edge',    # x 軸上的坐標與柱體對其的位置
        color='aqua',    # 柱體的填充顏色
        tick_label=labels,    # 每個柱體的標簽名稱
        alpha=0.6,    # 柱體填充顏色的透明度
        width=0.8,    # 柱體的寬度
        bottom=0.2,     # 柱體基線的 y 軸坐標
 ) args = [[e] for e in ['x', 'height', 'align', 'color', 'tick_label', 'alpha', 'width', 'bottom']] # 向圖表子區添加標題和數據表
title_table(ax) i = 7 ax = axes[i] # 繪制柱狀圖
ax.bar(x=x,    # 柱體在 x 軸上的坐標位置
        height=y,    # 柱體的高度
        align='edge',    # x 軸上的坐標與柱體對其的位置
        color='lightpink',    # 柱體的填充顏色
        tick_label=labels,    # 每個柱體的標簽名稱
        alpha=0.6,    # 柱體填充顏色的透明度
        width=0.8,    # 柱體的寬度
        bottom=0.2,    # 柱體基線的 y 軸坐標
        edgecolor='g'   # 柱體的邊框顏色
 ) args = [[e] for e in ['x', 'height', 'align', 'color', 'tick_label', 'alpha', 'width', 'bottom', 'edgecolor']] # 向圖表子區添加標題和數據表
title_table(ax) i = 8 ax = axes[i] # 繪制柱狀圖
ax.bar(x=x,    # 柱體在 x 軸上的坐標位置
        height=y,    # 柱體的高度
        align='center',    # x 軸上的坐標與柱體對其的位置
        color='bisque',    # 柱體的填充顏色
        tick_label=labels,    # 每個柱體的標簽名稱
        alpha=0.6,    # 柱體填充顏色的透明度
        width=0.8,    # 柱體的寬度
        bottom=0.2,    # 柱體基線的 y 軸坐標
        edgecolor='g',   # 柱體的邊框顏色
        linewidth=1.5,   # 柱體邊框線的寬度
 ) args = [[e] for e in ['x', 'height', 'align', 'color', 'tick_label', 'alpha', 'width', 'bottom', 'edgecolor', 'linewidth']] # 向圖表子區添加標題和數據表
title_table(ax) # 設置整個子區的布局
fig.subplots_adjust(left=0, bottom=0, right=0.9, top=1, wspace=0.1,    # 子區間空白區域的寬度的歸一化值
                    hspace=0.2);    # 子區間空白區域的高度的歸一化值

 圖表


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM