Python数据可视化之使用matplotlib绘制简单图表
作者:crape 发布时间:2022-08-27 19:27:53
一、绘制折线图
使用plot()绘制折线图
常用的参数:
x
:表示x轴的数据y
:表示y轴的数据fmt
:表示快速设置条样式的格式字符串。label
:表示应用于图例的标签文本。plot()
会返回一个包含Line2D类对象(代表线条)的列表。
plot()函数的语法格式:
plot(x,y ,fmt , scalex=True , scaley=true , data=None, label=None 等.....)
实例:
(1)
(2)
二、绘制柱形图或堆积图形
使用bar()绘制柱形图或堆积柱形图
bar()的语法格式有:
bar(x, height , width=0.8, bottom=None, align='center',
data=None, tick_label=None, xerr=None, yerr=None, error_kw=None)
常用参数的含义:
x
:表示柱形的x坐标值height
:表示柱形的高度width
:表示柱形的宽度,默认为0.8bottom
:表示柱形底座的y坐标值,默认为0align
:表示柱形的对齐方式,有’center’和’edge’两个值,其中’center’表示将柱形刻度居中对齐;‘edge’表示将柱形的左边与刻度线对齐。tick_label
:表示柱形对应的刻度标签xerr,yerr
:若未设为None,则需要为柱形图添加水平/ 垂直误差棒error_kw
:表示误差棒的属性字典,字典的键对应errorbar()函数bar()函数会返回一个BarContainer类的对象。
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(5)
y1=np.array([10,8,7,11,13])
bar_width=0.4
plt.bar(x,y1,tick_label=['a','b','c','d','e'],width=bar_width)
plt.title("2020080603039")
plt.show()
(2)具有多组柱形的柱形图
(3)通过给bottom参数传值的方式的方式控制柱形的y值
三、绘制条形图或堆积条形图
使用barh()绘制条形图或堆积条形图
使用barh()函数的语法格式:
barh(y, width, heigth=0.8, left=None, align='center', *)
常用的参数的含义如下:
y
:表示条形的y坐标width
:表示柱形的宽度,默认为0.8height
:表示柱形的高度left
:条形左侧的x坐标,默认为0align
:表示柱形的对齐方式,有’center’和’edge’两个值,其中’center’表示将柱形刻度居中对齐;‘edge’表示将柱形的左边与刻度线对齐。barh()
函数会返回一个BarContainer类的对象。
(2)绘制具有多组条形的条形图
(3)绘制堆积条形图
四、绘制堆积面积图
使用stackplot()绘制堆积面积图
stackplot()函数的语法格式:
stackplot(x, y , labels=(), baseline='zero', data=None, *)
x
:表示x轴的数据,可以是一维数组y
:表示y轴的数据,可以是二维数组或一维数组序列labels
:表示每组折现及填充区域的标签baseline
:表示计算基线的方法,包括‘zero’,‘sym’,‘wiggle’,‘weighted_wiggle’
代码及图如下:
五、绘制直方图
使用hist()绘制
和hist()函数的语法格式如下:
hist(x, bins=None, range=None, density=None, weights=None,
cumulative=False, bottom=None,histtype='bar',align='mid',
orientation='vertical', rwidth=None,
log=False, color=None, label=None, stacked=False)
常用的参数如下:
x
:表示x轴的数据。bins
:指定直方图条形的个数,默认值为10。range
:表示数据的范围,指定数据的上下界,默认包含绘图数据的最大值和最小值。normed
:是否将直方图的频数转换成频率。weights
:该参数可为每一个数据点设置权重。cumulative
:是否需要计算累计频数或频率。bottom
:可以为直方图的每个条形添加基准线,默认为0。histtype
:指定直方图的类型,默认为bar,除此之外,还有barstacked、step和stepfilledalign
:设置条形边界值的对齐方式,默认为mid,另外还有left和rightorientation
:设置直方图的摆放方向,默认为垂直方向rwidth
:设置直方图条形的宽度log
:是否需要对绘图数据进行log变换color
:设置直方图的填充色edgecolor:设置直方图边框色label
:设置直方图的标签,可通过legend展示其图例
(1)绘制一个具有8个矩形条填充的线条直方图
(2)改变bins的值则能改变矩形条的条数,如下图中设置的66,设置的数越大条数越多
六、绘制饼图或者圆环图
使用pie()绘制饼图或者圆环图
语法格式如下:
pie(x,explode=None,labels=None,autopct=None,pctdistance=0.6,shadow=False,
labeldistance=1.1,
startangle=None,radius=None,counterclock=True,wedgeprops=None,textprops=None,
center=(0,0),frame=False,rotatelabels=False,*,data=None)
常用的参数如下:
x
:表示扇形或锲形的数据explode
:表示扇形或锲形离开圆心的距离labels
:表示扇形或锲形对应的标签文本autopct
:表示控制扇形或锲形的数值显示的字符串,可通过格式字符串指定小数点后的位数.pctdistance
:表示扇形或锲形对应的数值标签距离圆心的比例,默认为0.6shadow
:表示是否显示阴影labeldistance
:表示标签文本的绘制位置(相对于半径的比例),默认为1.1.radius
:表示扇形或锲形的半径.startangle
:表示起始绘制角度,默认从x轴的正方向逆时针绘制wedgeprops
:表示控制扇形或锲形属性的字典.例如:通过wedgeprops={’‘width’:0.7}将锲形的宽度设为0.7.textprops
:表示控制图表中文本属性的字典center
:表示图表中心点位置,默认为(0,0)frame
:表示是否显示图框
(1)绘制一个饼形图
(2)绘制一个环形图
(3)绘制一个向外移动的饼状图
七、绘制散点图或气泡图
使用scatter()绘制散点图或气泡图
scatter()函数语法格式:
scatter(x, y, s=None, marker=None, cmap=None, norm=None,
vmin=None, vmax=None, alpha=None, linewidths=None,verts=None,
edgecolors=None,* , plotnonfinite=False,data=None )
八、绘制箱形图
使用boxplot()绘制箱形图
使用pyplot的boxplot()函数可以快速绘制箱形图,boxplot()函数的语法如下:
boxplot(x, notch=None, sym=None, vert=None, whis=None,positions=None
widths=None, patch_artist=None, bootstrap=None,usermedians=None,*,)
九、绘制雷达图
使用polar()绘制雷达图
十、绘制误差棒图
使用errorbar()绘制误差棒图
来源:https://blog.csdn.net/qq_55708569/article/details/123300625
猜你喜欢
- Python面向对象编程(一)Python面向对象编程(二)Python面向对象编程(三)和其它编程语言相比,Python 在尽可能不增加新
- 本文实例讲述了Python验证码识别的方法。分享给大家供大家参考。具体实现方法如下:#encoding=utf-8import Image,
- 一个最最简单的例子:绘制一个从 0 到 360 度完整的 SIN 函数图形import numpy as npimport matplotl
- 一、multiprocess模块multiprocess不是一个模块而是python中一个操作、管理进程的包。子模块分为四个部分:创建进程部
- 5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别。URL和路由5.0的URL访问不再支持普通URL模式,
- 首先让我们看下 YUI 是如何处理的:var toObject = function(a) { var o = {
- sys模块提供了与python解释器紧密相关的一些变量和函数。sys部分常用函数函数说明path获取模块文件搜索路径的字符串,或临时指定新搜
- 介绍代码地址:https://github.com/taishan1994/chinese_chengyujielong读完该文,你可以收获
- 不加(0)的用法:set rs=conn.execute(sql)'将这个结果赋给rs这时要读取这个记录集第一个字段的数据就用rs(
- Image and text elements that appear in another element are called floa
- 我们可以通过python 来实现这样一个简单的爬虫猜密码功能。下面就看看如何使用python来实现这样一个功能。这里我们知道用户的昵称为:h
- python下os模块强大的重命名方法renames详解 在python中有很多强大的模块,其中我们经常要使用的就是OS模块,OS
- 计算Python Numpy向量之间的欧氏距离,已知vec1和vec2是两个Numpy向量,欧氏距离计算如下:import numpydis
- 1.了解oracle外部表 外部表定义:结构被存放在数据字典,而表数据被放在OS文件中的表 作用:在数据库中查询OS文件的数据,还可以将OS
- 1. 创建微信公众号首先,你需要注册一个微信公众号。访问微信公众平台,使用你的微信账号登录,并按照提示创建一个新的公众号。2. 开通微信公众
- 在许多人看来,HTML应该是WEB制作所有语言中最简单的语言,因为它不需要编译、封闭等,甚至只需要一个记事本就可以让其在浏览器中呈现出来。所
- 先由exp把数据卸出到文件系统, 产生一个.dmp文件, 然后必要时再由imp将数据装入数据库. 对于一般中小型数据库来说, 全数据库的ex
- 1、一次二次多项式拟合一次二次比较简单,直接使用numpy中的函数即可,polyfit(x, y, degree)。2、指数幂数拟合curv
- 雪花算法是在一个项目体系中生成全局唯一ID标识的一种方式,偶然间看到了Python使用雪花算法不尽感叹真的是太便捷了。它生成的唯一ID的规则
- canal简介由阿里巴巴开源 github地址:https://github.com/alibaba/canalCanal是阿里巴巴开源的一