python 多组直方图 画图_python – 使用matplotlib的多个并排直方图?

我有一个软件必须处理大量不同的数据,并且可能需要不同的时间来处理它.随着软件的修改,处理数据所需的时间也会发生变化,所以我想创建一个显示时间差异和异常值的图表,因为理想情况下,这个程序每个部分需要大约相同的时间数据(这听起来很奇怪,不切实际,我知道,但在这里和我一起滚动).

起初,我想过使用箱形图,但我认为它们是不合适的,因为完全有可能将一半数据集悬停在一个值附近,另一半围绕另一个徘徊,我感觉不到箱形图会很好地说明这一点.所以我决定尝试使用直方图,但我无法弄清楚如何让matplotlib以我想要的方式绘制它.我想要一个单独的数字,X轴标有软件版本,Y轴显示处理数据集所需的时间,有多个直方图,就像我做的这个模型:

该图表显示在0.1版本中,大多数数据集在2-4秒内处理,由于某种原因需要12秒才能处理一组数据集. v0.1a摆脱了那些长的异常值,但一切都花了更长的时间. 0.1b比0.1a略快.最后,0.2显示了很大的速度提升,但又引入了异常值.

我怎样才能让matplotlib创建这样的情节?

解决方法:

这是一个(非常)基本的模型,说明如何实现这一目标:

import matplotlib.pyplot as plt

import numpy as np

number_of_bins = 20

number_of_data_points = 1000

ax = plt.subplot(111)

data_set = [np.random.normal(0, 1, number_of_data_points),

np.random.normal(6, 1, number_of_data_points),

np.random.normal(-3, 1, number_of_data_points)]

MID_VALUES = [0, 200, 400]

labels = ["v1", "v2", "v3"]

for MID_VAL, y in zip(MID_VALUES, data_set):

hist, bin_edges = np.histogram(y, bins=number_of_bins)

bottom = bin_edges[:-1]

heights = np.diff(bin_edges)

lefts = MID_VAL - .5 * hist

ax.barh(bottom, hist, height=heights, left=lefts)

ax.set_xticks(MID_VALUES)

ax.set_xticklabels(labels)

plt.show()

这个缺乏我承认的很多改进,例如:MID_VALUES是手动选择的,这取决于数据集并且可以自动化.不过,您可以将其变为更有用的格式.

标签:python,matplotlib

来源: https://codeday.me/bug/20190830/1768404.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vnc连接服务器怎么配置文件,vnc服务器和客户端怎么配置文件

vnc服务器和客户端怎么配置文件 内容精选换一换用户通过psycopy2连接GaussDB(for openGauss)服务器时,可以通过开启SSL加密客户端和服务器之间的通讯。在使用SSL时,默认用户已经获取了服务端和客户端所需要的证书和私钥文件,关于证书等文件的…

shell题库选择题_shell学习:几道常见shell习题

1. 编写shell脚本,计算1-100的和;1 #! /bin/bash2 sum03 for i in seq 1 100; do4 sum$[$i$sum]5 done6 echo $sum计算-00和2. 编写shell脚本,要求输入一个数字,然后计算出从1到输入数字的和,要求,如果输入…

服务器主板稳定,服务器主板

Intel Atom™ C3000 Mini-ITX 服务器主板,带 4 个DDR4 DIMM, 1 个 PCIe x4插槽 (Gen 3.0), 8 个SATA III, IPMILGA 1151 Intel Xeon E3 v5/ v6 Core™ i 6代/7代 Micro ATX 服务器主板,带4 个DDR4,1 个PCIe x 16,3 个PCIe x 4&am…

Extjs grid 设置行字体颜色

CustSuppGrid Ext.create(Ext.grid.Panel, {title : , // 标题头iconCls : icon-grid, // 标题图标store : CustSuppStore, // 数据源frame : false, // True 为 Panel 填充画面,默认为falseforceFit : false, // 设置为true,则强制列自适应成可用宽度selType : checkboxmodel…

诚龙网刻报错_诚龙PXE网刻工具11.5

终于等到您!马上注册登录,做有身份的人!您需要 登录 才可以下载或查看,没有帐号?注册账号扫一扫,用微信登录x使用诚龙网维全自动PXE网刻工具进行网刻,你无须架设DHCP和TFTP服务器,也无须进行GHS…

e3 v3服务器芯片组,请问e3 1231 v3搭配下面哪款主板性价比最高?最适合?为什么?

CPU是插在主板上的,因此主板给CPU的电要足。越高级的CPU,工作时频率越高,核心数越多,需要的电就越多。如果是两相的CPU供电,假设是i3,够用。如果是i7,当你的电脑运行软件多的时候,比…

activemq控制发送频率_发送activemq

ActiveMQ入门实例1.下载ActiveMQ去官方网站下载:http://activemq.apache.org/2.运行ActiveMQ解压缩apache-activemq-5.5.1-bin.zip,然后双击apache-activemq-5.5.1\bin\activemq.bat运行ActiveMQ程序...文章嗯哼99252017-12-261030浏览量Spring-boot项目…

Linux学习(一)

从零开始学习linux,这里不多写虚拟机的安装以及centos的设置,简单粗暴从命令行开始; 一、目录介绍 /bin  存放必要的命令 /boot  存放内核以及启动所需的文件 /dev  存放设备文件 /etc  存放系统配置文件 /home  普通用户的宿主目录…

打印机服务器ip修改,怎么样更改打印机服务器的ip地址

怎么样更改打印机服务器的ip地址 内容精选换一换实例常用端口如表1所示。您可以通过配置安全组规则放通实例对应的端口,详情请参见配置安全组规则。无法访问公有云某些端口问题现象:访问公有云特定端口,在部分地区部分运营商无法访问&#xf…

nginx只能访问80端口_nginx 访问不了非80端口

在CentOS服务器上装好了nginx,直接通过公网ip可以正常显示nginx 的 index.html页面。同时我在3000端口跑了node应用,现在我想通过 公网ip:8089的形式访问nginx的配置代码:server {listen 8089;server_name 公网ip;location / {root /usr/web;…

Python中os模块使用方法

os模块提供了对系统环境、文件、目录等操作系统级的接口函数。本文主要描述os模块和os.path模块常用函数以及常用实例。 os模块函数 os.getcwd() 获取当前工作的目录。 os.listdir(dirname) 获取指定目录下的文件和目录,以列表形式输出 os.makedirs(dirname1/dirnam…

66319d电源使用说明书_电热水壶怎么使用?电热水壶烧不开水的问题是什么?

电热水壶可在最短的时间里面给人们煮出热水,是目前人们见到的最为常见的小家电产品,但是电热水壶怎么使用?在使用电热水壶时,有遇到烧不开水的问题,这就影响到正常使用水壶了,电热水壶烧不开水的问题是什么?一、电热…

django 项目中遇到的问题(持续更新中)

问题1:in include provide the namespace argument to include() instead 描述:在最外层的urls.py 添加项目的urls后报错,错误显示:in include provide the namespace argument to include() instead." 解决方案:…

机械制图中外螺纹的画法_机械制图基础知识之图样简化画法

机械制图时是否觉得图样很复杂,很难?那就看看下面的方法吧。1)当物体具有若干相同结构(齿、槽等),并按一定规律分布时,只需画出几个完整的结构,其余用细实线连接,并注明结构的总数相同结构与简化画法2)若干直径相同且…

获取程序执行的时间

编写程序到一定程度的,我们就不得不考虑成都所占用的内存、时间。那么如何获取程序执行的时间呢?需要用到currentTimeMillis方法。 在程序开始时获取一个时间,结束时获取一个时间,两者相减,即为程序所用时间。 下面程序…

mfc编程 孙鑫_孙鑫VC++视频教程笔记-(3)MFC程序框架的剖析 附1-SDI程序流程图

1,寻找WinMain人口:在安装目录下找到MFC文件夹下的SRC文件夹,SRC下是MFC源代码。路径:MFC|SRC|APPMODUL.CPP:_tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPTSTR lpCmdLine, int nCmdShow){// call shared/exported …

每天一个linux命令(性能、优化):【转载】free命令

free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一。 1.命令格式: free [参数] 2.命令功能: free 命令显示系统使用和空闲…

gitee存放代码_git / gitee 提交本地仓库代码到Git或Gitee流程 及 常见报错

前提:在 Windows 下安装 git 客户端然后直接在 base 中执行命令1、本地初始化 git 设置git config --global user.name "你的名字或昵称"git config --global user.email "你的邮箱"2、进入项目文件夹,初始化目录 --通过命令 git in…

mysql可以存文档_MySQL 文档存储介绍

MySQL 文档存储 可以跳过底层数据结构创建、数据规范化和其它使用传统数据库时需要做的工作,直接存储数据。MySQL 可以提供 NoSQL JSON 文档存储Document Store了,这样开发者保存数据前无需规范化normalize数据、创建数据库,也无需在开发之前…

Maven项目配置、检出、运行

副标题:JDK安装到Maven运行 关键字:JDK SVN Maven Tomcat Eclipse IDEA 一、JDK 1、JDK包 JDK包 ../Java/jdk1.8 # 按需 图例 2、环境变量 步骤 计算机 → 属性 → 高级系统设置 → 环境变量 → 系统变量 → 新建/编辑 设置 JAVA_HOME ..…