IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Matplotlib画柱状图 -> 正文阅读

[Python知识库]Matplotlib画柱状图

Matplotlib库的导入

导入库import matplotlib.pyplot,柱状图是pyplot的子模块,不能直接导入matplotlib

常用参数详解

matplotlib.pyplot.bar(x, height, width: float = 0.8, bottom = None, *, align: str = ‘center’, data = None, **kwargs)

  • x 表示x坐标,数据类型为float类型,一般为np.arange()生成的固定步长列表
  • height 表示柱状图的高度,也就是y坐标值,数据类型为float类型,一般为一个列表,包含生成柱状图的所有y值
  • width 表示柱状图的宽度,取值在0~1之间,默认值为0.8
  • bottom 柱状图的起始位置,也就是y轴的起始坐标,默认值为None
  • align 柱状图的中心位置,“center”,"lege"边缘,默认值为’center’
  • color 柱状图颜色,默认为蓝色
  • alpha 透明度,取值在0~1之间,默认值为1
  • label 标签,设置后需要调用plt.legend()生成
  • edgecolor 边框颜色
  • linewidth 边框宽度,浮点数或类数组,默认为None
  • tick_label:柱子的刻度标签,字符串或字符串列表,默认值为None。
  • orientation 柱状图是竖直还是水平,竖直:“vertical”,水平条:“horizontal”

绘制单个柱状图

每一步见代码注释,代码如下

import matplotlib.pyplot as plt
import numpy as np

labels = ['A', 'B', 'C', 'D', 'E']
values = [30, 23, 40, 50, 66]
#生成一个固定步长的排列
X = np.arange(len(labels))
#柱状图宽度为0.3,颜色默认为蓝色,透明度为0.8,标签为’This is a example‘
plt.bar(X, values, width = 0.3, alpha = 0.8, label = 'This is a example')

#对于每一个(x, y)在垂直方向为center, 水平位置为bottom的位置生成字体大小为10的y
for x, y in zip(X, values):
    plt.text(x, y, '%.4f' % y, fontsize = 10, ha = 'center', va = 'bottom')
#对于每一个位置生成一个label
plt.xticks(X, labels = labels)
plt.title('Example') #图的标题

plt.legend() #生成标签
plt.show()

在这里插入图片描述

绘制多个并列柱状图

import matplotlib.pyplot as plt
import numpy as np

labels = ['A', 'B', 'C']
first = [14, 13.5, 32]
second = [15, 5.6, 23]
third = [11, 12, 16.7]

x = np.arange(len(labels))  # x轴刻度标签位置
width = 0.25  # 柱子的宽度
# 计算每个柱子在x轴上的位置,保证x轴刻度标签居中
# x - width,x, x + width即每组数据在x轴上的位置
# 这里举例三个,若多个,往两边加减width即可
plt.bar(x - width, first, width, alpha = 0.8, label='1')
for X, Y in zip(x, first):
    plt.text(X - 0.30, Y + 0.05, '%.2f' % Y, fontsize = 8, ha = 'center', va = 'bottom')
plt.bar(x, second, width, alpha = 0.8, label='2')
for X, Y in zip(x, second):
    plt.text(X, Y + 0.05, '%.2f' % Y, fontsize = 8, ha = 'center', va = 'bottom')
plt.bar(x + width, third, width, alpha = 0.8, label='3')
for X, Y in zip(x, third):
    plt.text(X + 0.30, Y + 0.05, '%.2f' % Y, fontsize = 8, ha = 'center', va = 'bottom')
plt.ylabel('values')
plt.title('Example2')
# x轴刻度标签位置不进行计算
plt.xticks(x, labels = labels)
plt.legend(loc = 'lower right') #在右下角生成标签,还有center、upper,如果不设置,系统自动找到合适地方
plt.show()

在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-16 11:14:17  更:2021-07-16 11:16:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/25 15:08:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计