Python+matplotlib实现循环作图的方法详解

目录
  • 一、前言
  • 二、实现过程
  • 三、总结

大家好,我是皮皮。

一、前言

前几天在Python白银交流群【在 途中要勤奋的熏肉肉】问了一道Python可视化处理的问题,如下图所示。

原始代码,如下所示:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as st

result_parameter_peak = pd.read_csv("result_parameter_peak.csv", encoding="utf_8_sig")

# 设置画布
fig = plt.figure(figsize=(20, 8))  # figsize是常用的参数.(宽,高)
axl = fig.add_subplot(1, 1, 1)

for i in range(len(result_parameter_peak)):
    x = np.arange(0, 400, 1)
    # 绘制gamma曲线
    y661 = st.gamma.pdf(x, result_parameter_peak.iloc[i, 1], scale=result_parameter_peak.iloc[i, 2])
    axl.plot(x, y661, 'r-.', label="α= 9.9028,β=10.4205")
    # 设置坐标轴标题
    axl.set_xlabel('Time')
    axl.set_ylabel('Probility')
    axl.set_title('分布')
    # 可视化
    plt.show()

得到的只是单个的图。

二、实现过程

这里【月神】给了一个思路和一份示例代码,如下所示:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as st

result_parameter_peak = pd.read_csv("result_parameter_peak.csv", encoding="utf_8_sig")

plt.figure()
for i, alpha, beta in result_parameter_peak.itertuples():
    x = np.arange(0, 300, 1)
    # 绘制gamma曲线
    y661 = st.gamma.pdf(x, alpha, scale=beta)
    plt.plot(x, y661, '-.')
    # 设置坐标轴标题
    plt.xlabel('Time')
    plt.ylabel('Probility')
    plt.title('分布')

# 可视化
plt.show()

运行之后,结果如下图所示:

顺利地解决了粉丝的问题!

后来【小趴菜】又给图加了图注,看上去高大上一些,代码如下所示:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as st

result_parameter_peak = pd.read_csv("result_parameter_peak.csv", encoding="utf_8_sig")

plt.figure()
for i, alpha, beta in result_parameter_peak.itertuples():
    x = np.arange(0, 300, 1)
    # 绘制gamma曲线
    y661 = st.gamma.pdf(x, alpha, scale=beta)
    # plt.plot(x, y661, '-.')
    plt.plot(x, y661, '-.', label="α:" + str(alpha) + "β:" + str(beta))
    # 设置坐标轴标题
    plt.xlabel('Time')
    plt.ylabel('Probility')
    plt.title('fenbu')
    
# 可视化
plt.legend()
plt.show()

得到的效果图如下所示:

三、总结

大家好,我是皮皮。这篇文章主要盘点了一道matplotlib作图的问题,文中针对该问题给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

到此这篇关于Python+matplotlib实现循环作图的方法详解的文章就介绍到这了,更多相关Python matplotlib循环作图内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python数据分析之 Matplotlib 折线图绘制

    目录 一.Matplotlib 绘图 简单示例 二.折线图绘制 一.Matplotlib 绘图 在数据分析中,数据可视化也非常重要,通过直观的展示过程.结果数据,可以帮助我们清晰的理解数据,进而更好的进行分析.接下来就说一下Python数据分析中的数据可视化工具 Matplotlib 库. Matplotlib 是一个非常强大的Python 2D绘图库,使用它,我们可以通过图表的形式更直观的展现数据,实现数据可视化,使用起来也非常方便,而且支持绘制折线图.柱状图.饼图.直方图.散点图等. 可以使

  • Python数据分析Matplotlib 柱状图绘制

    前言: 柱状图是一种使用矩形柱来表示数据分布的图表,可以横向排列,也可以纵向排列,它的高度或长度和他们所代表的值成正比关系. Matplotlib 提供了bar()方法绘制柱状图, 语法格式如下: plt.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs) 常用参数及说明如下: x:表示x轴数据,接收list列表类型数据 height:表示柱状图的高度,接收list列表类型数据 width:

  • Python数据分析之 Matplotlib 散点图绘制

    前言: 散点图,又称散点分布图,是使用多个坐标点的分布反映数据点分布规律.数据关联关系的图表,Matplotlib 中可以通过以下方式绘制散点图: 使用plt.plot方法: 在上篇文章Python数据分析之 Matplotlib 折线图绘制中,我们介绍了可以使用plt.plot()方法绘制折线图,该方法同样可以绘制散点图,如下: import random x = range(15) y = [i + random.randint(-2,2) for i in x] plt.plot(x, y

  • python使用Matplotlib绘图及设置实例(用python制图)

    目录 一.初识matplotlib.pyplot 1.绘制图像 2.设置图片大小 3.保存图片文件 4.设置X,Y轴刻度范围 5.添加描述信息(标题.轴标签) 6.设置显示中文(导入字体模块) 7.绘制网格 二.常见绘图属性设置 1.绘图符号(Makers) 2.线型(Line Styles) 3.颜色缩写(Colors) 4.Windows字体中英文名称对照 面向对象方式绘图 配置对象的属性 绘制多个子图 三.Artist对象 Artist对象进行绘图的流程 设置Artist属性 一些例子 F

  • Python数据分析之 Matplotlib 饼图绘制

    前言: 饼状图是用来呈现一个数据系列中各项的大小与各项占项总和的百分比,Matplotlib 提供了plt.pie()方法绘制柱状图,语法格式如下: plt.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, counterclock=True, wedgeprops=None,

  • python使用Matplotlib绘制多种常见图形

    目录 柱状图 水平绘制柱状图 多个柱状图 叠加型柱状图 散点图 气泡图 直方图 箱线图 添加文字描述 添加文字描述 方法二 多个图形描绘 subplots 使用Pandas 绘图 Matplotlib官网如果想了解更多可查看官网. import numpy as np import matplotlib.pyplot as plt %matplotlib inline #写了这个就可以不用写plt.show() plt.rcParams['font.sans-serif']=['SimHei']

  • Python+matplotlib实现循环作图的方法详解

    目录 一.前言 二.实现过程 三.总结 大家好,我是皮皮. 一.前言 前几天在Python白银交流群[在 途中要勤奋的熏肉肉]问了一道Python可视化处理的问题,如下图所示. 原始代码,如下所示: import pandas as pd import numpy as np import matplotlib.pyplot as plt import scipy.stats as st result_parameter_peak = pd.read_csv("result_parameter_

  • Python+matplotlib绘制多子图的方法详解

    目录 本文速览 1.matplotlib.pyplot api 方式添加子图 2.面向对象方式添加子图 3.matplotlib.pyplot add_subplot方式添加子图 4.matplotlib.gridspec.GridSpec方式添加子图 5.子图中绘制子图 6.任意位置绘制子图(plt.axes) 本文速览 matplotlib.pyplot api 绘制子图 面向对象方式绘制子图 matplotlib.gridspec.GridSpec绘制子图 任意位置添加子图 关于pyplo

  • 对Python中的条件判断、循环以及循环的终止方法详解

    条件判断 条件语句是用来判断给定条件是否满足,并根据判断所得结果从而决定所要执行的操作,通常的逻辑思路如下图: 单次判断 形式 if <判断条件>: <执行> else: <执行> 例子 age = int(input("输入你的年龄:")) if age < 18: print("未成年") else: print("已成年") 多次判断 形式 if <判断条件1>: <执行1>

  • 对python pandas 画移动平均线的方法详解

    数据文件 66001_.txt 内容格式: date,jz0,jz1,jz2,jz3,jz4,jz5 2012-12-28,0.9326,0.8835,1.0289,1.0027,1.1067,1.0023 2012-12-31,0.9435,0.8945,1.0435,1.0031,1.1229,1.0027 2013-01-04,0.9403,0.8898,1.0385,1.0032,1.1183,1.0030 ... ... pd_roll_mean1.py # -*- coding: u

  • 对Python闭包与延迟绑定的方法详解

    Python闭包可能会在面试或者是工作中经常碰到,而提到Python的延迟绑定,肯定就离不开闭包的理解,今天总结下 关于闭包的概念以及一个延迟绑定的面试题. Python闭包 1.什么是闭包,闭包必须满足以下3个条件: 必须是一个嵌套的函数. 闭包必须返回嵌套函数. 嵌套函数必须引用一个外部的非全局的局部自由变量. 举个栗子 # 嵌套函数但不是闭包 def nested(): def nst(): print('i am nested func %s' % nested.__name__) ns

  • 对python list 遍历删除的正确方法详解

    在遍历list的时候,删除符合条件的数据,可是总是报异常,代码如下: num_list = [1, 2, 3, 4, 5] print(num_list) for i in range(len(num_list)): if num_list[i] == 2: num_list.pop(i) else: print(num_list[i]) print(num_list) 原因是在删除list中的元素后,list的实际长度变小了,但是循环次数没有减少,依然按照原来list的长度进行遍历,所以会造成

  • python matplotlib中的subplot函数使用详解

    python里面的matplotlib.pylot是大家比较常用的,功能也还不错的一个包.基本框架比较简单,但是做一个功能完善且比较好看整洁的图,免不了要网上查找一些函数.于是,为了节省时间,可以一劳永逸.我把常用函数作了一个总结,最后写了一个例子,以后基本不用怎么改了. 一.作图流程: 1.准备数据, , 3作图, 4定制, 5保存, 6显示 1.数据可以是numpy数组,也可以是list 2创建画布: import matplotlib.pyplot as plt #figure(num=N

  • Python列表元素删除和remove()方法详解

    删除列表中元素的方法有三种: 1. del命令 使用del命令能够删除列表中指定位置上的元素,也可以删除整个列表. 2. pop( )方法 使用列表的pop()方法能够删除并返回列表指定位置(默认为最后一个位置)的元素. 3. remove方法 使用列表的remove()方法能够删除列表中首次出现的指定元素,如果列表中不存在该元素则抛出异常.有的时候可能需要删除列表中某一大量重复的数据,我们很容易就会想到列表的remove()方法,例如: x=[1,2,1,2,1,2,1,2] y=[1,1,2

  • Python+Matplotlib绘制3D图像的示例详解

    目录 1. 绘制3D柱状图 2. 绘制3D曲面图 示例1 示例2 3.绘制3D散点图 4. 绘制3D曲线图 1. 绘制3D柱状图 绘制3D柱状图使用的是axes3d.bar()方法. 可能跟我们中学学的有一点不同的是,其语法如下: bar(left, height, zs=0, zdir=‘z’, *args, **kwargs) 其中left表示指向侧边的轴,zs表示指向我们的方向的轴,height即表示高度的轴.这三者都需要是一维的序列对象.在调用相关方法的时候,比如设置轴标签,还有一点需要

  • Python+OpenCV实现阈值分割的方法详解

    目录 一.全局阈值 1.效果图 2.源码 二.滑动改变阈值(滑动条) 1.效果图 2.源码 三.自适应阈值分割 1.效果图 2.源码 3.GaussianBlur()函数去噪 四.参数解释 一.全局阈值 原图: 整幅图采用一个阈值,与图片的每一个像素灰度进行比较,重新赋值: 1.效果图 2.源码 import cv2 import matplotlib.pyplot as plt #设定阈值 thresh=130 #载入原图,并转化为灰度图像 img_original=cv2.imread(r'

随机推荐