Python数据分析:直方图及子图的绘制

集群狂
• 阅读 5454

1.直方图的绘制也需要用到matplotlib下的pylab,只不过在绘制折线图时我们采用的是plot(),而绘制直方图时我们需要采用hist()。由于在绘制过程中缺少真实数据,我在这里采用np.random.normal(a,b,c)生成的随机数绘制直方图,a为平均值,b为标准差,c为生成数据的个数。利用np.arange(a,b,c)确定直方图x轴的范围及间距,a为最小值,b为最大值,c为间距。用plt.hist(a,b)绘制,a为数据,b为直方图的特性,可有可无。

import matplotlib.pylab as plt
import numpy as np
da = np.random.normal(5.0, 0.5, 3000)
dis = np.arange(3.5, 5, 0.1)
plt.hist(da, dis)
plt.show()

2.绘制子图时,我们需要先将空间分为若干份,这时需要采用命令plt.subplot(a,b,c),其中a表示行,b表示列,c表示从第一行开始从左向右数到c的当前区域。例如,如果想要在第一行绘制三个子图,第二行绘制一个子图,需要采用以下代码

import matplotlib.pylab as plt
import numpy as np
plt.subplot(2, 3, 1)
plt.subplot(2, 3, 2)
plt.subplot(2, 3, 3)
plt.subplot(2, 1, 2)
plt.show()

Python数据分析:直方图及子图的绘制

3.区域拆分结束后我们该怎样在每个区域内绘制相应的图像呢?我们在前面用代码将区域拆分为了四部分,如果我们想在某个区域内绘图,只需将绘图代码写在那一部分的代码下即可

import matplotlib.pylab as plt
import numpy as np
plt.subplot(2, 3, 1)    #下面的语句绘制第一个子图
x1 = [1, 3, 5, 7, 9, 11]
y1 = [2, 4, 6, 8, 10, 12]
plt.plot(x1, y1, 'c')
plt.subplot(2, 3, 2)    #下面的语句绘制第二个子图
x2 = [3, 5, 6, 7, 9, 13, 20]
y2 = [1, 6, 2, 3, 5, 7, 11]
plt.plot(x2, y2, 'ob')
plt.subplot(2, 3, 3)    #下面的语句绘制第三个子图
x3 = [2, 5, 7, 8, 10, 11]
y3 = [3, 5, 4, 1, 15, 10]
plt.plot(x3, y3, '-.')
plt.plot(x3, y3, 's')
plt.subplot(2, 1, 2)    #下面的语句绘制第四个子图
da = np.random.normal(5.0, 0.5, 3000)
dis = np.arange(3.5, 5, 0.1)
plt.hist(da, dis)
plt.show()

Python数据分析:直方图及子图的绘制

点赞
收藏
评论区
推荐文章
Aidan075 Aidan075
4年前
厉害了,股票K线图还能这么画!
大家好,我是小五🐶发现大家还是最喜欢股票基金话题呀~那说到股票基金就不得不提——K线图!那小五今天就带大家👉用python来轻松绘制高颜值的K线图🚀获取股票交易数据巧妇难为无米之炊,做可视化也离不开数据。本文我将以酱香型科技——贵州茅台为例,获取它的近期股票数据并绘制K线图。如果我们要特意去动手去写爬虫,就显得有些多余了,这里
Karen110 Karen110
4年前
5行代码搞定14种常见图的python可视化库,还自带16种优美主题,真是太喜欢了
有时候我们做数据可视化并不需要特别复杂的功能,仅仅是想把简单的数据用图形展示出来今天就给大家介绍一种非常适合新手的python可视化库pygalpygal比较小众,专注于SVG图,擅长交互,最主要的是它能用非常少的代码就可画出非常漂亮的图形pygal能绘制Line(折线图)、Bar(柱状图)、Histogram(直方图)、Pie(饼图)、Radar(雷达
Wesley13 Wesley13
3年前
View绘制系列(10)
Canvas基础变换前面学习了Canvas相关的一些绘制方法,不知道大家发现没?我们都是根据左上角(0,0)点算出来新的坐标,然后再绘制,这样明显不符合我们平常基于坐标原点绘制的习惯,那么我们能不能直接在原点绘制图形,然后通过操作Canvas来实现移动到目标位置呢?答案是肯定的,这就需要用到Canvas变换方法了。Canvas变
Stella981 Stella981
3年前
Python使用Plotly绘图工具,绘制柱状图
使用Plotly绘制基本的柱状图,需要用到的函数是graph\_objs中Bar函数通过参数,可以设置柱状图的样式。通过barmod进行设置可以绘制出不同类型的柱状图出来。我们先来实现一个简单的柱状图:coding:utf8importplotlyaspyimportplotly
Stella981 Stella981
3年前
Python笔记:中国疫情随时间变化趋势
      涉及到时间序列的观察值,我们可以绘制折线图来做相关数据分析。例如:frompyecharts.chartsimportfrompyechartsimportoptionsasoptsx_data'206','213','220','227','305','
Stella981 Stella981
3年前
Android 性能优化之减少UI过度绘制
什么是过度绘制(OverDraw)在多层次重叠的UI结构里面,如果不可见的UI也在做绘制的操作,会导致某些像素区域被绘制了多次。这样就会浪费大量的CPU以及GPU资源。过度绘制最直观的影响就是会导致APP卡顿。还好系统有提供GPU过度绘制调试工具会在屏幕上用不同的颜色,来表明一个像素点位被重复绘制的次数。
Easter79 Easter79
3年前
TouchVG答疑
Q:TouchVG是否针对绘制效率做了优化?A:TouchVG针对绘制效率做的优化有:a、包络框检查:在视图外的图形不显示b、九宫格剪裁:对直线段、折线、多边形进行剪裁显示c、后台异步显示:regenAll重新生成所有图形时,在单独的CALayer和GCD线程中绘制,绘制完后再显示到视图,不阻塞主线程交互和显示。例如重绘10000条曲线在后台绘
Wesley13 Wesley13
3年前
HTML5 网络拓扑图性能优化
HTML5中的Canvas对文本的渲染(fillText,strokeText)性能都不太好,比如设置字体(font)、文本旋转(rotation),如果绘制较多的文本时,一些交互操作会手动很大的影响,操作起来没那么顺畅,体验将会极其差,这不是我们想要的结果,再进一步和图片的绘制进行比较比较,你会发现,绘制图片和绘制文本在性能上不是一个等级的,在性能上
Wesley13 Wesley13
3年前
12、开源游戏
在前面中我们初始化了游戏的资源,这次我们来说下地图的绘制和游戏主循环设计。地图绘制    以前说过地图是用tiled画好,导出为图片形式的,所以地图的绘制,就是把这个图片绘制到canvas的过程。这样绘制地图就简单了,使用drawImage方法绘制即可。    这里有个2问题,1是地图的大小一般肯定是大于canvas的,所以我们只是把地图
Stella981 Stella981
3年前
Python OpenCV实例:图像直方图均衡化(数学公式简单实现)
coding:utf8'''直方图均衡化作用:通常用来增加图像局部对比度,尤其在图像的有用数据的对比度相当接近时,通过直方图均衡化,图像的亮度可以更好地在直方图上分布基本思想:把原始图像的直方图变换为均匀分布的形式,增加了像素灰度值的动态范围,从而增强图像的整
陈杨 陈杨
4个月前
【莓创Chart】基于鸿蒙原生ArkTS语法开发的图表组件--柱状图
大家好,我是陈杨。在上一篇文章中,我简要介绍了折线图的实现逻辑,并解释了整体图表的绘制规则。根据这些规则,我们还可以绘制更多种类的图表组件。在本期中,我将讲解如何实现柱状图,并引入了一个新的功能。鉴于柱状图跟折线图可共用的基础配置很多,我将不再重复介绍基础