iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Pythonmatplotlib实现条形统计图
  • 434
分享到

Pythonmatplotlib实现条形统计图

2024-04-02 19:04:59 434人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

python-matplotlib实现条形统计图,供大家参考,具体内容如下 效果图展示如下: 该代码可以处理多个实验多组观测值的展示,代码如下: import matplotlib

python-matplotlib实现条形统计图,供大家参考,具体内容如下

效果图展示如下:

该代码可以处理多个实验多组观测值的展示,代码如下:

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

def plot_bar(experiment_name, bar_name, bar_value, error_value=None,):
    """

    Args:
        experiment_name: x_labels
        bar_name: legend name
        bar_value: list(len(experiment_name), each element contains a np.array(),
                   which contains bar value in each group
        error_value: list(len(experiment_name), each element contains a np.array(),
                   which contains error value in each group
    Returns:

    """

    # 用于正常显示中文标签
    # plt.rcParams["font.sans-serif"]=['SimHei']

    colors = ['lightsteelblue', 'cornflowerblue', 'royalblue', 'blue', 'mediumblue', 'darkblue', 'navy', 'midnightblue',
              'lavender', ]

    assert len(bar_value[0]) <= len(colors)  # if not try to add color to 'colors'

    plt.rcParams['axes.unicode_minus'] = False
    plt.style.use('seaborn')
    font = {'weight': 'nORMal', 'size': 20, }
    font_title = {'weight': 'normal', 'size': 28, }
    # bar width
    width = 0.2
    # groups of data
    x_bar = np.arange(len(experiment_name))
    # create figure
    plt.figure(figsize=(10, 9))

    ax = plt.subplot(111)  # 假如设置为221,则表示创建两行两列也就是4个子画板,ax为第一个子画板

    # plot bar

    bar_groups = []
    value = []
    for i in range(len(bar_value[0])):
        for j in range(len(experiment_name)):
            value.append(bar_value[j][i])
        group = ax.bar(x_bar - (len(experiment_name)-3-i)*width, copy.deepcopy(value), width=width, color=colors[i], label=bar_name[i])
        bar_groups.append(group)
        value.clear()


    # add height to each bar
    i = j = 0
    for bars in bar_groups:
        j = 0
        for rect in bars:
            x = rect.get_x()
            height = rect.get_height()
            # ax.text(x + 0.1, 1.02 * height, str(height), fontdict=font)
            # error bar
            if error_value:
                ax.errorbar(x + width / 2, height, yerr=error_value[j][i], fmt="-", ecolor="black",
                            elinewidth=1.2, capsize=2,
                            capthick=1.2)
            j += 1
        i += 1

    # 设置刻度字体大小
    plt.xticks(fontsize=15)
    plt.yticks(fontsize=18)
    # 设置x轴的刻度
    ax.set_xticks(x_bar)
    ax.set_xticklabels(experiment_name, fontdict=font)

    # 设置y轴的刻标注
    ax.set_ylabel("Episode Cost", fontdict=font_title)
    ax.set_xlabel('Experiment', fontdict=font_title)

    # 是否显示网格
    ax.grid(False)

    # 拉伸y轴
    ax.set_ylim(0, 7.5)
    # 把轴的刻度间隔设置为1,并存在变量里
    y_major_locator = MultipleLocator(2.5)
    ax.yaxis.set_major_locator(y_major_locator)

    # 设置标题
    plt.suptitle("Cost Comparison", fontsize=30, horizontalalignment='center')

    plt.subplots_adjust(left=0.11, bottom=0.1, right=0.95, top=0.93, wspace=0.1, hspace=0.2)
    # 设置边框线宽为2.0
    ax.spines['bottom'].set_linewidth('2.0')
    # 添加图例
    ax.legend(loc='upper left', frameon=True, fontsize=19.5)
    # plt.savefig("test.png")
    plt.show()
    plt.legend()

if __name__ == "__main__":
    test_experiment_name = ["Test 1", "Test 2", "Test 3", "Test 4"]
    test_bar_name = ['A', "B", "C"]
    test_bar_value = [
        np.array([1, 2, 3]),
        np.array([4, 5, 6]),
        np.array([3, 2, 4]),
        np.array([5, 2, 2])
    ]
    test_error_value = [
        np.array([1, 1, 2]),
        np.array([0.2, 0.6, 1]),
        np.array([0, 0, 0]),
        np.array([0.5, 0.2, 0.2])
    ]
    plot_bar(test_experiment_name, test_bar_name, test_bar_value, test_error_value)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Pythonmatplotlib实现条形统计图

本文链接: https://www.lsjlt.com/news/117463.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Pythonmatplotlib实现条形统计图
    Python-matplotlib实现条形统计图,供大家参考,具体内容如下 效果图展示如下: 该代码可以处理多个实验多组观测值的展示,代码如下: import matplotlib...
    99+
    2024-04-02
  • PythonMatplotlib条形图之垂直条形图和水平条形图详解
    目录1、垂直条形图2、水平条形图总结条形图是一种常用的图形,比如在各种PPT的展示中为各种职业人士所喜爱。条形图能够直观地展示各种场景下数值的比较。Matplotlib提供了bar(...
    99+
    2024-04-02
  • Pythonmatplotlib超详细教程实现图形绘制
    目录前言1. matplotlib.patches概述2. 绘制图形方法3. 绘制图形步骤4. 绘制图形属性设置透明度设置颜色5. 小试牛刀前言 我们前面对matplotlib模块底...
    99+
    2024-04-02
  • PythonMatplotlib实现3D绘图详解
    目录第一个三维绘图程序3D散点图3D等高线图3D线框图3D曲面图最初开发的 Matplotlib,仅支持绘制 2d 图形,后来随着版本的不断更新, Matplotlib 在二维绘图的...
    99+
    2024-04-02
  • Python Matplotlib怎么实现垂直条形图和水平条形图
    这篇文章主要介绍“Python Matplotlib怎么实现垂直条形图和水平条形图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python Matplotlib怎么实现垂直条形...
    99+
    2023-06-29
  • Pythonmatplotlib实现散点图的绘制
    目录一、整理数据二、修改点的样式三、呈现半透明的状态四、点呈现多彩的颜色五、让点的大小不一六、侧边呈现颜色卡七、改变集中性一、整理数据 import pandas as pd cn...
    99+
    2024-04-02
  • Pythonmatplotlib实现多重图的绘制
    目录Python中插入图片绘制子图绘制1*2的子图绘制2*2的子图绘制不规则子图绘制图中代码from matplotlib import pyplot as plt plt.sty...
    99+
    2024-04-02
  • Matplotlib实现各种条形图绘制
    目录1. 条形图的绘制2. 横向条形图3. 分组条形图4. 堆叠条形图5. 条形图应用场景1. 条形图的绘制 plt.bar 方法有以下常用参数: x :一个数组或者列表,代表需要绘...
    99+
    2024-04-02
  • matplotlib条形图带值怎么实现
    要在Matplotlib中创建带有值的条形图,可以使用函数`bar`来绘制条形图,并使用函数`text`将值添加到每个条形上。下面是...
    99+
    2023-09-20
    matplotlib
  • canvas 2d 环形统计图手写实现示例
    目录正文先看看效果看看代码绘制图表解决问题结语正文 其实小程序上面也可以使用 echart 等开源图表库得,而且支持代码包得裁切功能,但是可能我不会用吧,效果不太好,而且我这就一个图...
    99+
    2023-05-16
    canvas 2d 环形统计图 canvas 2d
  • python画条形图实例
    本文实例为大家分享了python画条形图的具体代码,供大家参考,具体内容如下 在做毕设的过程中有些数据用表格来展现,会很难看出数据之间的差别,凸显不出数据的特点,所以想制作一个条形图...
    99+
    2024-04-02
  • 怎么用Python实现动态条形图
    这篇文章主要介绍“怎么用Python实现动态条形图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用Python实现动态条形图”文章能帮助大家解决问题。目前,官方的API文档只提供了一个条形图的源...
    99+
    2023-07-05
  • python怎么实现多次绘制条形图
    这篇“python怎么实现多次绘制条形图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python怎么实现多次绘制条形图”文...
    99+
    2023-06-30
  • python matplotlib实现条形图的填充效果
    本文实例为大家分享了python matplotlib实现条形图填充效果的具体代码,供大家参考,具体内容如下 写专利用的python里面的matplotlib画的条形图 ,最开始用的...
    99+
    2024-04-02
  • WPF实现绘制扇形统计图的示例代码
    扇形统计图 绘制一个扇形原理也是基于Canvas进行绘制;ArcSegment[1]绘制弧形;绘制指示线;绘制文本;鼠标移入动画;显示详情Popup;源码Github[2] ...
    99+
    2024-04-02
  • Java实现图形界面计算器
    本文实例为大家分享了Java实现图形界面计算器的具体代码,供大家参考,具体内容如下   代码: import javax.swing.*; import java.awt.*; ...
    99+
    2024-04-02
  • Python实现动态条形图的示例详解
    关于数据可视化的模块,之前已经分享过很多了,小伙伴们可以到历史文章中搜索,不过都是静态的可视化数据展示效果。 这几天刚刚发现的这款动态数据可视化模块pynimate值得一提。 它可以...
    99+
    2023-03-22
    Python绘制动态条形图 Python动态条形图 Python条形图
  • Python利用matplotlib实现制作动态条形图
    目录制作思路animation大家好,本文将分享如何使用matplotlib制作动态条形图,制作的图很美,这个是我在之前发布的一篇中使用的图片, 效果如下 制作思路 为了方便大家学...
    99+
    2024-04-02
  • java实现统计图表
    Java可以使用各种图表库来实现统计图表,常用的有JFreeChart、Chart.js和Apache ECharts等。下面是使用...
    99+
    2023-09-13
    java
  • 小程序条形倒计时动画怎么实现
    今天小编给大家分享一下小程序条形倒计时动画怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、效果图如下:二、wxml...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作