python如何利用matplotlib绘制并列双柱状图并标注数值

目录
  • 项目场景:
  • 代码:
  • 效果图:
  • 扩展功能及代码:
  • 补充:Python画图实现同一结点多个柱状图
  • 总结

项目场景:

Python项目需要画两组数据的双柱状图,以下以一周七天两位小朋友吃糖颗数为例进行演示,用matplotlib库实现

代码:

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

def drawHistogram():
    matplotlib.rc("font", family='MicroSoft YaHei')
    list1 = np.array([5, 2, 1, 0, 8, 0, 6])   # 柱状图第一组数据
    list2 = np.array([9, 5, 1, 2, 9, 2, 0])   # 柱状图第二组数据
    length = len(list1)
    x = np.arange(length)   # 横坐标范围
    listDate = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"]

    plt.figure()
    total_width, n = 0.8, 2   # 柱状图总宽度,有几组数据
    width = total_width / n   # 单个柱状图的宽度
    x1 = x - width / 2   # 第一组数据柱状图横坐标起始位置
    x2 = x1 + width   # 第二组数据柱状图横坐标起始位置

    plt.title("一周每天吃悠哈软糖颗数柱状图")   # 柱状图标题
    # plt.xlabel("星期")   # 横坐标label 此处可以不添加
    plt.ylabel("吃悠哈软糖颗数(个)")   # 纵坐标label
    plt.bar(x1, list1, width=width, label="小s吃糖数")
    plt.bar(x2, list2, width=width, label="小y吃糖数")
    plt.xticks(x, listDate)   # 用星期几替换横坐标x的值
    plt.legend()   # 给出图例
    plt.show()

if __name__ == '__main__':
    drawHistogram()

效果图:

扩展功能及代码:

扩展功能一

如果横坐标标签比较长或是文字比较多,以一定角度倾斜展示,上文中代码这一行:

plt.xticks(x, listDate)

可以改为:

plt.xticks(x, listDate, rotation=30) # rotation为标签旋转角度

横坐标标签旋转30°效果如下:

横坐标标签旋转90°效果如下:

扩展功能二

如果希望具体的数据值展示在柱状图中,可以在代码 plt.legend() 前加入如下代码:

for a, b in zip(x1, list1):
	plt.text(a, b + 0.1, '%.0f' % b, ha='center', va='bottom', fontsize=7)

for a, b in zip(x2, list2):
	plt.text(a, b + 0.1, '%.0f' % b, ha='center', va='bottom', fontsize=7)

加了具体数值的柱状图效果如下:

补充:Python画图实现同一结点多个柱状图

import numpy as np
x = [1,2]   #横坐标
y = [3,4]   #第一个纵坐标
y1 = [5,6]   #第二个纵坐标
x = np.arange(len(x))  #首先用第一个的长度作为横坐标
width = 0.05    #设置柱与柱之间的宽度
fig,ax = plt.subplots()
ax.bar(x,y,width,alpha = 0.9)
ax.bar(x+width,y1,width,alpha = 0.9,color= 'red')
ax.set_xticks(x +width/2)#将坐标设置在指定位置
ax.set_xticklabels(x)#将横坐标替换成
plt.show()

后续有时间再继续补充扩展功能哦~

总结

到此这篇关于python如何利用matplotlib绘制并列双柱状图并标注数值的文章就介绍到这了,更多相关python matplotlib绘制并列双柱状图内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python使用matplotlib画柱状图、散点图

    本文实例为大家分享了python使用matplotlib画柱状图.散点图的具体代码,供大家参考,具体内容如下 柱状图(plt.bar) 代码与注释 import numpy as np from matplotlib import pyplot as plt plt.figure(figsize=(9,6)) n = 8 X = np.arange(n)+1 #X是1,2,3,4,5,6,7,8,柱的个数 # numpy.random.uniform(low=0.0, high=1.0, siz

  • python+matplotlib实现礼盒柱状图实例代码

    演示结果: 完整代码: import matplotlib.pyplot as plt import numpy as np from matplotlib.image import BboxImage from matplotlib._png import read_png import matplotlib.colors from matplotlib.cbook import get_sample_data class RibbonBox(object): original_image =

  • Python用 matplotlib 绘制柱状图

    目录 1. 柱状图概述 1.1什么是柱状图 1.2柱状图使用场景 1.3柱状图绘制步骤 1.3案例展示 2. 柱状图属性 2.1柱状体颜色填充 2.2状描边设置 2.3状体边框宽度 2.4刻度标签 3. 堆叠柱状图 4. 并列柱状图 5. 水平柱状图 6. 添加折线柱状图 7. 正负柱状图 复习回顾: Python 为数据展示提供了大量优秀的功能包,其中 matplotlib 模块可以方便绘制制作折线图.柱状图.散点图等高质量的数据包. 关于 matplotlib 模块,我们前期已经对matpl

  • Python使用matplotlib给柱状图添加数据标签bar_label()

    目录 0.更新matplotlib库 1.导入库 2.数据准备 3.绘制柱状图 4.绘图结果 5.完整代码 6.bar_label()相关参数的补充说明 0.更新matplotlib库 本文后续的实验过程都是基于matplotlib版本大于等于3.4.1,如果版本较低,是无法实行后续操作的,如何在Pycharm中直接更新matplotlib库的版本,请参照方法:以tensorflow库为例用Pycharm更新第三方库 1.导入库 直接导入matplotlib.pyplot库,代码为: impor

  • python中如何利用matplotlib画多个并列的柱状图

    首先如果柱状图中有中文,比如X轴和Y轴标签需要写中文,解决中文无法识别和乱码的情况,加下面这行代码就可以解决了: plt.rcParams['font.sans-serif'] = ['SimHei'] # 解决中文乱码 以下总共展示了三种画不同需求的柱状图: 画多组两个并列的柱状图: import matplotlib import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.sans-serif'] = ['S

  • Python matplotlib模块及柱状图用法解析

    代码如下 import matplotlib.pyplot as plt import numpy as np def test4(): names = ['电影1', '电影2', '电影3'] real_num1 = [7548, 4013, 1673] real_num2 = [5453, 1840, 1080] real_num3 = [4348, 2345, 1890] x = np.arange(len(names)) # 绘制柱形图 width = 0.3 plt.bar(x, r

  • python使用matplotlib绘制柱状图教程

    Matplotlib的概念这里就不多介绍了,关于绘图库Matplotlib的安装方法:点击这里 小编之前也和大家分享过python使用matplotlib实现的折线图和制饼图效果,感兴趣的朋友们也可以点击查看,下面来看看python使用matplotlib绘制柱状图的方法吧,具体如下: 1. 基本的柱状图 import matplotlib.pyplot as plt data = [5, 20, 15, 25, 10] plt.bar(range(len(data)), data) plt.s

  • python调用matplotlib模块绘制柱状图

    我们可以调用matplotlib 绘制我们的柱状图,柱状图可以是水平的也可以是竖直的. 在这里我先记录下竖直的柱状图怎么绘制 在这里一般用到的函数就是bar # bar(left, height, width=0.8, bottom=None, hold=None, **kwargs) # 绘制柱形图 # left:柱形图的x坐标 # height柱形图的高度,以0.0为基准 # width:柱形图的宽度,默认0.8 # facecolor:颜色 # edgecolor:边框颜色n # bott

  • python如何利用matplotlib绘制并列双柱状图并标注数值

    目录 项目场景: 代码: 效果图: 扩展功能及代码: 补充:Python画图实现同一结点多个柱状图 总结 项目场景: Python项目需要画两组数据的双柱状图,以下以一周七天两位小朋友吃糖颗数为例进行演示,用matplotlib库实现 代码: import matplotlib import matplotlib.pyplot as plt import numpy as np def drawHistogram(): matplotlib.rc("font", family='Mic

  • Python实现绘制双柱状图并显示数值功能示例

    本文实例讲述了Python实现绘制双柱状图并显示数值功能.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #! python3 import matplotlib.pyplot as plt import mpl_toolkits.mplot3d #定义函数来显示柱状上的数值 def autolabel(rects): for rect in rects: height = rect.get_height() plt.text(rect.get_x()+rect.

  • Python利用matplotlib绘制散点图的新手教程

    前言 上篇文章介绍了使用matplotlib绘制折线图,参考:https://www.jb51.net/article/198991.htm,本篇文章继续介绍使用matplotlib绘制散点图. 一.matplotlib绘制散点图 # coding=utf-8 import matplotlib.pyplot as plt years = [2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019] turnovers =

  • Python利用 matplotlib 绘制直方图

    目录 1. 直方图概述 1.1什么是直方图? 1.2直方图使用场景 1.3直方图绘制步骤 1.4案例展示 2. 直方图属性 2.1设置颜色 2.2设置长条形数目 2.3设置透明度 2.4设置样式 3. 添加折线直方图 4. 堆叠直方图 5. 不等距直方图 6. 多类直方图 复习回顾: 经过前面对 matplotlib 模块从底层架构.基本绘制步骤等学习,我们已经学习了折线图.柱状图的绘制方法. matplotlib 模块基础:对matplotlib 模块常用方法进行学习 matplotlib 模

  • Python利用Matplotlib绘制图表详解

    目录 前言 折线图绘制与显示 绘制数学函数图像 散点图绘制 绘制柱状图 绘制直方图 饼图 前言 Matplotlib 是 Python 中类似 MATLAB 的绘图工具,如果您熟悉 MATLAB,那么可以很快的熟悉它. Matplotlib 提供了一套面向对象绘图的 API,它可以轻松地配合 Python GUI 工具包(比如 PyQt,WxPython.Tkinter)在应用程序中嵌入图形.与此同时,它也支持以脚本的形式在 Python.IPython Shell.Jupyter Notebo

  • Python利用matplotlib绘制约数个数统计图示例

    本文实例讲述了Python利用matplotlib绘制约数个数统计图.分享给大家供大家参考,具体如下: 利用Python计算1000以内自然数的约数个数,然后通过matplotlib绘制统计图. 下图为约数个数的散点图及其分布情况的条形图. Python代码: import collections import matplotlib.pyplot as plt def countDivisors(num): ans = 1 x = 2 while x * x <= num: cnt = 1 wh

  • Python利用matplotlib绘制折线图的新手教程

    前言 matplotlib是Python中的一个第三方库.主要用于开发2D图表,以渐进式.交互式的方式实现数据可视化,可以更直观的呈现数据,使数据更具说服力. 一.安装matplotlib pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple 二.matplotlib图像简介 matplotlib的图像分为三层,容器层.辅助显示层和图像层. 1. 容器层主要由Canvas.Figure.Axes组成. Canvas位

  • Python利用matplotlib绘制圆环图(环形图)的实战案例

    目录 一.概念介绍 二.数据展示 三.图像绘制 四.参数解释 (1) wedgeprops是我们绘图时的参数字典. (2) startangle是第一个数据起画点. (3) plt.text (4) 可以绘制如示例图一样的colorbar,或者legend吗? 总结 一.概念介绍 圆环图(Donut Chart),又称为环形图,甜甜圈图.它从饼图变形而来,单环的作用上与饼图相似,用于展示定性数据中小类占大类的比例关系. Q: 那既然都有饼图了,为什么还要圆环图呢? ① 从空间利用效果上,饼图的t

  • 如何在Python中利用matplotlib.pyplot画出函数图详解

    目录 0.引言 1.绘图 (1)导入所需库 (2)设置函数 (3)plt.figure() (4)plt.plot(),plt.axhline(),plt.axvline(),plt.axhspan(),plt.axvspan() (5)设置 x,y 轴的数值范围 (6)设置 x,y 轴的标题文本 (7)设置图例和标题 (8)plt.show() 2运行结果 总结 0.引言 为了让用户能够使用python时,方便地绘制 2D 图表,PYTHON的模块中提供Matplotlib模块中所含的子库py

  • 用python中的matplotlib绘制方程图像代码

    import numpy as np import matplotlib.pyplot as plt def main(): # 设置x和y的坐标范围 x=np.arange(-2,2,0.01) y=np.arange(-2,2,0.01) # 转化为网格 x,y=np.meshgrid(x,y) z=np.power(x,2)+np.power(y,2)-1 plt.contour(x,y,z,0) plt.show() main() 绘制的时候要保证x,y,z的维度相同 结果如下: 以上这

随机推荐