一、堆积图

1、堆积柱状图

如果将函数bar()中的参数bottom的取值设定为列表y、列表y1代表另一个数,函数bar(x,y1,bottom=y,color="r")就会输出堆积柱状图

代码示例:

import matplotlib.pyplot as plt

x = [1,2,3,4,5]

y = [6,10,4,5,1]

y1 = [2,6,3,8,5]

plt.bar(x,y,align="center",color="#66c2a5",tick_label=["A","B","C","D","E"],label="title_A")

plt.bar(x,y1,align="center",color="#8da0cb",tick_label=["A","B","C","D","E"],label="title_B")

plt.legend()

plt.show()

图像输出:

2、堆积条状图

如果将函数barh()中的参数left的取值设定为列表y,列表y1代表另一数据,函数bar(x,y1,left=y,color="r")

代码示例:

import matplotlib.pyplot as plt

x = [1,2,3,4,5]

y = [6,10,4,5,1]

y1 = [2,6,3,8,5]

plt.barh(x,y,align="center",color="#66c2a5",tick_label=["A","B","C","D","E"],label="title_A")

plt.barh(x,y1,align="center",left=y,color="#8da0cb",tick_label=["A","B","C","D","E"],label="title_B")

plt.legend()

plt.show()

图像输出:

二、分块图

1、多数据并列柱状图

代码示例:

import matplotlib.pyplot as plt

import numpy as np

x = np.arange(5)

y = [6,10,4,5,1]

y1 = [2,6,3,8,5]

bar_width = 0.35

tick_label = ["A","B","C","D","E"]

plt.bar(x,y,align="center",color="c",width=bar_width,label="title_A",alpha=0.5)

plt.bar(x+bar_width,y1,align="center",color="b",width=bar_width,label="title_B",alpha=0.5)

plt.xticks(x+bar_width/2,tick_label)

plt.legend()

plt.show()

输出图像:

2、多数据平行条状图

代码示例:

import matplotlib.pyplot as plt

import numpy as np

x = np.arange(5)

y = [6,10,4,5,1]

y1 = [2,6,3,8,5]

bar_width = 0.35

tick_label = ["A","B","C","D","E"]

plt.barh(x,y,bar_width,align="center",color="c",label="title_A",alpha=0.5)

plt.barh(x+bar_width,y1,bar_width,align="center",color="b",label="title_B",alpha=0.5)

plt.yticks(x+bar_width/2,tick_label)

plt.legend()

plt.show()

输出图像:

三、堆积折线图、间断条形图和阶梯图

1、函数stackplot() —— 绘制堆积折线图

代码示例:

import matplotlib.pyplot as plt

import numpy as np

x = np.arange(0,5,1)

y = [0,4,3,5,6]

y1 = [1,3,4,2,7]

y2 = [3,4,1,6,5]

labels = ["Blue","Brown","Green"]

colors = ["#8da0cb","#fc8d62","#66c2a5"]

plt.stackplot(x,y,y1,y2,labels=labels,colors=colors)

plt.legend(loc="upper left")

plt.show()

图像输出:

2、函数broken_barh() —— 绘制间断条形图

代码示例:

import matplotlib.pyplot as plt

import numpy as np

plt.broken_barh([(30,100),(180,50),(260,70)],(20,8),facecolors="#1f78b4")

plt.broken_barh([(60,90),(190,520),(230,30),(280,60)],(10,8),facecolors=("#7fc97f","#beaed4","#fdc086","#ffff99"))

plt.xlim(0,360)

plt.ylim(5,35)

plt.xticks(np.arange(0,361,60))

plt.yticks([15,25],["A","B"])

plt.grid(ls="-",lw=1,color="gray")

plt.show()

图像输出:

3、函数step() —— 绘制阶梯图

参数说明:

where:默认参数为“pre”,

参数值“pre”表示x轴上的每个数据点对应y轴上的数值向左侧绘制水平线直到x轴上的此数据点的左侧相邻数据点为止,

也就是说,x轴上的相邻数据点的取值是按照左开右闭区间进行选取的。

除了可以取“pre”,还可以取“post”,“post”指的是x轴上的相邻数据点的取值按照左闭右开的数据点选取,

然后用对应的y轴上的数据向右绘制水平线直到x轴上的数据点右侧相邻数据点为止。

代码示例:

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(1,10,10)

y = np.sin(x)

plt.step(x,y,color="#8dd3c7",where="pre",lw=2)

plt.xlim(0,11)

plt.xticks(np.arange(1,11,1))

plt.ylim(-1.2,1.2)

plt.show()

图像输出:

四、直方图

1、hist()

hist(x,bins=bins,color="b",histtype="bar",label="score",rwidth=10)

参数说明:

x:连续型数据的输入值

bins:用于确定柱体的个数或是柱体边缘的范围

color:柱体的颜色

histtype:柱体类型

label:图例内容

rwidth:柱体宽度

2、堆积直方图

代码实例:

import matplotlib.pyplot as plt

import numpy as np

x1 = np.random.randint(0,100,100)

x2 = np.random.randint(0,100,100)

x = [x1,x2]

colors = ["#8dd3c7","#bebada"]

labels = ["A","B"]

bins = range(0,101,10)

plt.hist(x,bins=bins,color=colors,histtype="bar",rwidth=10,stacked=True,label=labels,edgecolor = 'k')

plt.legend(loc="upper left")

plt.show()

堆积图像输出:

对比:不堆积并列(即:stacked=False)效果图输出 :

3、直方图与阶梯图结合对比

代码实例:

import matplotlib.pyplot as plt

import numpy as np

x1 = np.random.randint(0,100,100)

x2 = np.random.randint(0,100,100)

x = [x1,x2]

colors = ["#8dd3c7","#bebada"]

labels = ["A","B"]

bins = range(0,101,10)

plt.hist(x,bins=bins,color=colors,histtype="stepfilled",rwidth=10,stacked=True,label=labels,edgecolor = 'k')

plt.legend(loc="upper right")

plt.show()

图像输出:

五、饼图

1、分列式饼图

代码实现:

import matplotlib.pyplot as plt

labels = ["A","B","C","D"]

nums = [0.35,0.15,0.2,0.3]

colors = ["#377eb8","#4daf4a","#984ea3","#ff7f00"]

explode = (0.1,0.1,0.1,0.1)

plt.pie(nums,explode=explode,labels=labels,autopct="%3.1f%%",startangle=45,shadow=True,colors=colors)

plt.show()

图像输出:

2、非分裂式饼图

代码示例:

import matplotlib.pyplot as plt

labels = ["A","B","C","D"]

nums = [0.35,0.15,0.2,0.3]

colors = ["#377eb8","#4daf4a","#984ea3","#ff7f00"]

plt.pie(nums,labels=labels,autopct="%3.1f%%",startangle=45,colors=colors,pctdistance=0.7)

plt.show()

图像输出:

3、内嵌环形饼图

代码示例:

import matplotlib.pyplot as plt

labels = ["A","B","C","D","E"]

nums1 = [40,15,20,10,15]

nums2 = [30,25,15,20,10]

colors = ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00"]

w1, t1, a1 = plt.pie(nums1,autopct="%3.1f%%",radius=1,pctdistance=0.85,colors=colors,textprops=dict(color="w"),wedgeprops=dict(width=0.3,edgecolor="w"))

w2, t2, a2 = plt.pie(nums2,autopct="%3.1f%%",radius=0.7,pctdistance=0.75,colors=colors,textprops=dict(color="w"),wedgeprops=dict(width=0.3,edgecolor="w"))

plt.legend(nums1,labels,fontsize=12,bbox_to_anchor=(0.91,0,0.3,1))

plt.setp(a1,size=15,weight="bold")

plt.setp(a2,size=15,weight="bold")

plt.setp(t1,size=12)

plt.show()

图像输出:

六、箱线图

plt.boxplot(testList,whis=whis,widths=width,sym="o",labels=labels,patch_artist=True)

参数说明:

testList:绘制箱线图的输入数据

whis:四分位间距的倍数,用来确定箱须包含数据的范围大小

widths:设置箱体的宽度

sym:离群值的标记样式

labels:绘制每一个数据集的刻度标签

patch_artist:是否给箱体添加颜色

代码实例:

import matplotlib.pyplot as plt

import numpy as np

t1 = np.random.randn(5000)

t2 = np.random.randn(5000)

testList = [t1,t2]

labels = ["A","B"]

colors = ["#1b9e77","#d95f02"]

whis = 1.6

width = 0.35

bplot = plt.boxplot(testList,whis=whis,widths=width,sym="o",labels=labels,patch_artist=True)

for patch,color in zip(bplot["boxes"],colors):

patch.set_facecolor(color)

plt.grid(axis="y",ls=":",lw=1,color="gray",alpha=0.4)

plt.show()

图像输出:

2、水平方向箱线图

代码示例:

import matplotlib.pyplot as plt

import numpy as np

x = np.random.randn(1000)

plt.boxplot(x,vert=False)

plt.grid(axis="x",ls=":",lw=1,color="gray",alpha=0.4)

plt.show()

图像输出:

3、没有离群值的水平箱线图

代码示例:

import matplotlib.pyplot as plt

import numpy as np

x = np.random.randn(1000)

plt.boxplot(x,vert=False,showfliers=False)

plt.grid(axis="x",ls=":",lw=1,color="gray",alpha=0.4)

plt.show()

图像输出:

七、误差棒图

1、定量数据的误差范围

代码示例:

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(0.1,0.6,10)

y = np.exp(x)

err = 0.05 + 0.15 * x

low_err = err

upp_err = err * 0.3

err_lim = [low_err,upp_err]

plt.errorbar(x,y,yerr=err_lim,fmt=":o",ecolor="y",elinewidth=4,ms=5,mfc='r',capthick=1,capsize=2)

plt.xlim(0,0.7)

plt.show()

图像输出:

参数说明:

x,y : 数据点的位置

yerr:单一数值的非对称形式误差范围 //误差范围非对称形式,而且数据点下方的误差范围大于数据点上方的误差范围,xerr类似

fmt:数据点标记样式和数据点标记的连接线样式

ecolor:误差棒的线条颜色

elinewidth:误差棒的线条粗细

ms:数据点的大小

mfc:数据点的标记颜色

mec:数据点的标记边沿颜色

capthick:误差棒边界横杠的厚度

capsize:误差棒边界横杠的大小

2、带误差棒的柱状图

代码实例:

import matplotlib.pyplot as plt

import numpy as np

x = np.arange(5)

y = [100,68,79,91,82]

err = [7,2,6,10,5]

err_att = dict(elinewidth=2,ecolor="black",casize=3)

plt.bar(x,y,color="c",width=0.6,align="center",yerr=err,error_kw=err_att,tick_label=["A","B","C","D","E"])

plt.grid(True,axis="y",ls=":",color="gray",alpha=0.2)

plt.show()

图像输出:

3、带误差棒的条形图

代码实例:

import matplotlib.pyplot as plt

import numpy as np

x = np.arange(5)

y = [1200,2400,1800,2200,1600]

err = [150,100,180,130,100]

bar_width = 0.6

colors = ["#377eb8","#4daf4a","#984ea3","#ff7f00","#e41a1c"]

plt.barh(x,y,bar_width,color=colors,align="center",xerr=err,tick_label=["A","B","C","D","E"])

plt.grid(True,axis="x",ls=":",color="gray",alpha=0.2)

plt.show()

图像输出:

4、带误差棒的多数据并列柱状图

代码实例:

import matplotlib.pyplot as plt

import numpy as np

x = np.arange(5)

y1 = [100,68,79,91,82]

y2 = [120,75,70,78,85]

err1 = [7,2,6,10,5]

err2 = [5,1,4,8,9]

err_att = dict(elinewidth=2,ecolor="black",capize=3)

bar_width = 0.4

tick_label=["A","B","C","D","E"]

plt.bar(x,y1,bar_width,color="#87ceeb",align="center",yerr=err1,error_kw=err_att,label="NO.1")

plt.bar(x+bar_width,y2,bar_width,color="#cd5c5c",align="center",yerr=err2,error_kw=err_att,label="NO.2")

plt.xticks(x+bar_width/2,tick_label)

plt.grid(True,axis="y",ls=":",color="gray",alpha=0.2)

plt.legend()

plt.show()

图像输出:

5、带误差棒的堆积柱状图

代码实例:

import matplotlib.pyplot as plt

import numpy as np

x = np.arange(5)

y1 = [1200,2400,1800,2200,1600]

y2 = [1050,2100,1300,1600,1340]

err1 = [150,100,180,130,80]

err2 = [120,110,170,150,120]

err_att = dict(elinewidth=2,ecolor="black",capize=0)

bar_width = 0.6

tick_label=["A","B","C","D","E"]

plt.bar(x,y1,bar_width,color="#6495ed",align="center",yerr=err1,error_kw=err_att,label="NO.1")

plt.bar(x,y2,bar_width,color="#ffa500",align="center",yerr=err2,error_kw=err_att,label="NO.2")

plt.xticks(x,tick_label)

plt.grid(True,axis="y",ls=":",color="gray",alpha=0.2)

plt.legend()

plt.show()

图像输出:

python代码示例图形-使用Python统计函数绘制复杂图形matplotlib相关推荐

  1. python代码示例百度云-python利用百度云接口实现车牌识别的示例

    一个小需求---实现车牌识别. 目前有两个想法 1. 调云在线的接口或者使用SDK做开发(配置环境和编译第三方库很麻烦,当然使用python可以避免这些问题) 2. 自己实现车牌识别算法(复杂) 一开 ...

  2. python代码示例-总算知道python入门代码示例

    Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.作为今年来越来越流行的语言,我们该如何学习或者转行学习Python呢,这里小迹为大家介绍如何入门学习Python.以下是小编为你整理 ...

  3. python代码示例大全 下载-python基础代码大全

    [实例简介] python代码大全,适用于基础python学习者,里面的代码基本上是基础学习者必经过程. Python学习入门很快,但学习之路任重道远 [实例截图] [核心代码] python代码大全 ...

  4. Mac,VSCode编写Python代码示例

    Mac,VSCode编写Python代码示例 之前写Python代码一直用的是Pycharm,后来发现VSCode更加直(jian)观(dan)简(cu)洁(bao) ,于是赶紧在官网下载好VSCod ...

  5. python代码设置超参数_超参数调优总结,贝叶斯优化Python代码示例

    本文介绍超参数(hyperparameter)的调优方法. 神经网络模型的参数可以分为两类,模型参数,在训练中通过梯度下降算法更新: 超参数,在训练中一般是固定数值或者以预设规则变化,比如批大小(ba ...

  6. 决策树算法及Python 代码示例

    决策树是一种基于树形结构的算法,用于在一系列决策和结果之间建立模型.它通过对特征和目标变量之间的关系进行划分,来预测目标变量的值. 决策树算法示例: 假设我们有一组数据,其中包含天气,温度,湿度和是否 ...

  7. 新闻采集系统python_抓取网易新闻的python代码示例

    这篇文章主要介绍了Python正则抓取网易新闻的方法,结合实例形式较为详细的分析了Python使用正则进行网易新闻抓取操作的相关实现技巧与注意事项,需要的朋友可以参考下 本文实例讲述了Python正则 ...

  8. python代码示例图形-Python使用统计函数绘制简单图形实例代码

    前言 Matplotlib 是 Python 的绘图库. 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案. 它也可以和图形工具包一起使用,如 PyQt 和 wxPython ...

  9. python代码示例图形-Python使用matplotlib绘制3D图形(代码示例)

    本篇文章给大家带来的内容是关于Python使用matplotlib绘制3D图形(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 3D图形在数据分析.数据建模.图形和图像处理 ...

最新文章

  1. 高校选课成绩管理系统
  2. web模拟telnet
  3. web.xml中相关标签的加载顺序
  4. 社区儿童计算机活动总结,寒假社区服务活动总结
  5. Maven学习总结(43)——利用javadoc插件生成项目的API文档
  6. [ubuntu] 按文件大小进行排序
  7. android编写蓝牙工具类,【Android BLE】蓝牙开发「防丢器」的相关知识点(三):手机与设备之间指令传输...
  8. 视频格式转换应该用哪个视频转换软件最好呢?
  9. openCV视频教程
  10. Office2010新体验-基于Office Visio 2010 图表绘制新体验
  11. 用SDK包开发K66FX18学习笔记(4)
  12. 项目5-模板类中使用友元函数
  13. 常用API——Random类
  14. 【LaTeX教程】九.Latex常见数学公式模板
  15. C语言中atof函数功能及用法
  16. x-studio(Lua调试器,粒子编辑器,UI编辑器,代码编辑器,csb恢复工具)
  17. 两台W7系统的电脑,A电脑可以ping通B电脑,B电脑ping不通A电脑。
  18. Java创建线程池的方式
  19. Android与PC通过USB连接通信(一)
  20. STM32F103标准库开发---SPI实验---W25Qxx系列外部Flash芯片

热门文章

  1. a标签被选择的底色_实施特殊管理,婴配乳粉标签书写有规矩(下)
  2. java中为什么需要常量和变量的区别_Java中的变量和常量
  3. (转载)Linux信息资源
  4. 开发日记-20190825 关键词 管道和FIFO
  5. 开发日记-20190723 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 13
  6. OzymanDNS 使用——perl 5.22没有成功。。。
  7. go语言笔记——还是大爱的我的python,开发效果高,tornado的性能也很不错
  8. 删除input框type=number时,默认的上下小箭头
  9. InstallShield2013 error 6109
  10. linux下如何使用USB转串口设备