精华内容
下载资源
问答
  • 最近自己经常遇到matplotlib的OO API和pyplot包混乱不分的情况,所以抽时间好好把matplotlib的文档读了一下,下面是大概的翻译和总结。很多基础的东西还是要系统地掌握牢固哇~~要素Figure就是整个图片,像弹出的...

    c8d600fd78775592edca29d04176ce89.png

    最近自己经常遇到matplotlib的OO API和pyplot包混乱不分的情况,所以抽时间好好把matplotlib的文档读了一下,下面是大概的翻译和总结。很多基础的东西还是要系统地掌握牢固哇~~

    要素

    2d411c5ddd180767860c013463cfc04f.png

    Figure

    就是整个图片,像弹出的窗口windows和Jupyter widgets,用于track所有的Axes,artists(titiles,legend)和canvas(用户不怎么接触到)。一个figure可以包含任何数量的Axes,至少有一个。最简单的创建新的figure的方法是:

    fig = plt.figure()  # an empty figure with no Axes
    fig, ax = plt.subplots()  # a figure with a single Axes
    fig, axs = plt.subplots(2, 2)  # a figure with a 2x2 grid of Axes
    

    这是最简单的创建axes的方法,但之后也可以再加axes,允许更加复杂的axes layout。

    Axes

    data points放置的区域(x-y坐标或者x-y-z坐标)。Axes包含两个或三个Axis对象,Axis对象能够控制data limits(axes.Axes.set_xlim()axes.Axes.set_ylim())。

    每个Axes有一个title,x-label和y-label,分别通过(axes.Axes.set_title(),axes.Axes.set_xlabel(),axes.Axes.set_ylabel()控制)

    Axes类和它的成员方法是Object-oriented的主要入口。

    Axis

    就是底下那种数字和线的组合。控制limits,ticks和ticklabels。

    ticks的位置是由Locator对象控制的,ticklabel的字符串是由Formatter对象控制的。

    Artist

    基础上来说图片上看到的每一样东西都是一个artist(包括Figure,Axes和Axis对象)。还包括 Text对象, Line2D对象, collections对象,Patch对象等。所有的Artist都被画到canvas上。大多数Artists都和Axes绑定了,这样一个Artist不能被多个Axes分享。

    输入的种类

    只能是 numpy.array or numpy.ma.masked_array

    其他的像pandas对象或np.matrix不能作为输入。list可以被自动转为array。

    可以这样转为np.array

    a = pandas.DataFrame(np.random.rand(4, 5), columns = list('abcde'))
    a_asarray = a.values
    
    b = np.matrix([[1, 2], [3, 4]])
    b_asarray = np.asarray(b)
    

    object-oriented interface和pyplot interface

    有两种方法去使用matplotlib,两种方法很多函数是一样的:

    1. 显式地创建figures和axes,然后在调用这些对象的方法。
    2. 依靠pyplot自动创建和管理figures和axes,然后使用pyplot函数画图。

    下面这种是OO-style

    x = np.linspace(0, 2, 100)
    
    # Note that even in the OO-style, we use `.pyplot.figure` to create the figure.
    fig, ax = plt.subplots()  # Create a figure and an axes.
    ax.plot(x, x, label='linear')  # Plot some data on the axes.
    ax.plot(x, x**2, label='quadratic')  # Plot more data on the axes...
    ax.plot(x, x**3, label='cubic')  # ... and some more.
    ax.set_xlabel('x label')  # Add an x-label to the axes.
    ax.set_ylabel('y label')  # Add a y-label to the axes.
    ax.set_title("Simple Plot")  # Add a title to the axes.
    ax.legend()  # Add a legend.
    

    或者pyplot-style

    x = np.linspace(0, 2, 100)
    
    plt.plot(x, x, label='linear')  # Plot some data on the (implicit) axes.
    plt.plot(x, x**2, label='quadratic')  # etc.
    plt.plot(x, x**3, label='cubic')
    plt.xlabel('x label')
    plt.ylabel('y label')
    plt.title("Simple Plot")
    plt.legend()
    

    matplotlib的教程一般都包含OO或者pyplot两种方法,两种都可以,但是需要注意的是不要混合使用通常,pyplot用在interactive plotting像jupyter notebook里面,OO-style用在non-interactive像函数或脚本里面能够在大项目里重用的。

    在老版本的matplotlib里面还有一个pylab的interface,现在比较少用。

    有时需要用不同的数据重用一个画图函数,建议采用如下的函数签名

    def my_plotter(ax, data1, data2, param_dict):
        """
        A helper function to make a graph
    
        Parameters
        ----------
        ax : Axes
            The axes to draw to
    
        data1 : array
           The x data
    
        data2 : array
           The y data
    
        param_dict : dict
           Dictionary of kwargs to pass to ax.plot
    
        Returns
        -------
        out : list
            list of artists added
        """
        out = ax.plot(data1, data2, **param_dict)
        return out
    

    然后这样使用它

    data1, data2, data3, data4 = np.random.randn(4, 100)
    fig, ax = plt.subplots(1, 1)
    my_plotter(ax, data1, data2, {'marker': 'x'})
    

    或者两个sub-plots

    fig, (ax1, ax2) = plt.subplots(1, 2)
    my_plotter(ax1, data1, data2, {'marker': 'x'})
    my_plotter(ax2, data3, data4, {'marker': 'o'})
    

    backends

    什么是backend?backend就是做了所有的复杂工作去把图片渲染出来。有两种backends:user interface backend(pygtk, wxpython, tkinter, qt4, or macosx),和hardcopy backend(PNG, SVG, PDF, PS)

    设置backend的方法

    三种,优先级别是1<2<3

    1. The rcParams["backend"] (default: 'agg') parameter in your matplotlibrc file
    2. The MPLBACKEND environment variable
    3. The function matplotlib.use()
    import matplotlib as mpl
    mpl.rcParams['backend'] = agg
    

    或设置环境变量,不推荐

    unix

    > export MPLBACKEND=qt5agg
    > python simple_plot.py
    
    > MPLBACKEND=qt5agg python simple_plot.py
    

    或直接使用use函数,需要在任何figure创建之前use。

    import matplotlib
    matplotlib.use('qt5agg')
    

    一般来说,matplotlib会自动选择默认的backend来完成interactive work和脚本中画图。

    什么是interactive mode

    interactive允许动态显示画图的修改。做一个动作显示一个。能够通过这两个方法来控制interactive mode开和关。matplotlib.pyplot.ion(), matplotlib.pyplot.ioff()。

    注意interactive mode只能够在ipython或原始的python shell中使用,不支持IDLE IDE。

    import matplotlib.pyplot as plt
    plt.ion()
    plt.plot([1.6, 2.7])
    

    可以在做动作能够即时刷新并显示

    plt.title("interactive test")
    plt.xlabel("index")
    

    也能够拿到当前的Axes实例,然后调用实例的方法

    ax = plt.gca()
    ax.plot([3.1, 2.2])
    

    在特定的backends(像macosx),或老版本的matplotlib,可能不会即时显示,可以调用plot.draw()方法去更新。

    non-interactive

    import matplotlib.pyplot as plt
    plt.ioff()
    plt.plot([1.6, 2.7])
    

    这样子什么都没有发生(macosx可能会有图片),为了看到图片,需要调用plt.show()。调用了show方法之后,show方法把刚刚的input都一起执行,然后把当前进程暂停block一下,这个时候terminal command是unresponsive的,除非你手动关掉plot window。这样子的好处就是,像以前执行一个脚本的时候,你还没有看清图片,一闪而过就没了,这样子图片能够停留等待你的反馈。

    在non-interactive mode中,所有的动作都是delay的,等到show函数调用了才执行。

    show函数能够被调用多次,上一个图片窗口关闭之后,再显示下一张图片。(python shell)

    import numpy as np
    import matplotlib.pyplot as plt
    
    plt.ioff()
    for i in range(3):
        plt.plot(np.random.rand(10))
        plt.show()
    

    小结interactive和non-interactive

    1. interactive
      pyplot自动画图
      如果使用OO方法,调用draw()函数去刷新
    2. Non-interactive
      方便在脚本中生成一张或多张图片。使用show()函数去显示所有图片,并且会暂停block进程直到手动destroy这些图片。

    性能

    感觉用到不多

    line simplify

    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib as mpl
    
    # Setup, and create the data to plot
    y = np.random.rand(100000)
    y[50000:] *= 2
    y[np.geomspace(10, 50000, 400).astype(int)] = -1
    mpl.rcParams['path.simplify'] = True
    
    mpl.rcParams['path.simplify_threshold'] = 0.0
    plt.plot(y)
    plt.show()
    
    mpl.rcParams['path.simplify_threshold'] = 1.0
    plt.plot(y)
    plt.show()
    

    参考

    https://matplotlib.org/tutorials/introductory/usage.html#sphx-glr-tutorials-introductory-usage-py

    展开全文
  • 默认情况下,在pycharm中用matplotlib绘制的图形在窗口内,是静态的: 弹出窗口设置 绘制动态图,需先进行相关设置:File–>Settings–>Tools–>Python Scientific–>Show plots in tool window(取消...

    说明

    默认情况下,在pycharm中用matplotlib绘制的图形在窗口内,是静态的:
    在这里插入图片描述

    弹出窗口设置

    绘制动态图,需先进行相关设置:File–>Settings–>Tools–>Python Scientific–>Show plots in tool window(取消打勾):
    在这里插入图片描述
    在这里插入图片描述

    代码

    利用plt.ion() 开启一个画图的窗口,用于实时更新图表;利用plt.pause(0.5) 设置暂停时间,太快的话图表无法正常显示;利用plt.show()显示图片,防止闪退
    示例如下:

    # encoding: utf-8
    # @author:Jackson
    # @file:1.py
    # @time:2021/2/24 22:21
    import numpy as np
    import matplotlib.pyplot as plt
    from scipy.special import jn
    from IPython.display import display, clear_output
    import time
    
    x = np.linspace(0,5)
    f, ax = plt.subplots()
    ax.set_title("Bessel functions")
    plt.ion()   # 开启一个画图的窗口,用于实时更新图表
    for n in range(1,10):
        time.sleep(1)
        ax.plot(x, jn(x,n))
        clear_output(wait=True)
        display(f)
        plt.pause(0.5)  # 设置暂停时间,太快的话图表无法正常显示
    # plt.ioff()  # 关闭画图的窗口
    plt.show()  # 显示图片,防止闪退
    
    # close the figure at the end, so we don't get a duplicate
    # of the last plot
    plt.close()
    

    在这里插入图片描述

    展开全文
  • 时间没有再使用matplotlib,最近又拿出来简单看了一遍,不过在安装的时候发现安装完成后运行时出现的界面和以往的不一样。主要有以下不同: 在新版本pycharm中使用时,运行的plot会自动出现在ide的窗口里,不是很...

    长时间没有再使用matplotlib,最近又拿出来简单看了一遍,不过在安装的时候发现安装完成后运行时出现的界面和以往的不一样。主要有以下不同:

    1. 在新版本pycharm中使用时,运行的plot会自动出现在ide的窗口里,不是很方便,如果不喜欢可以在file->settings->tools->Python Scientific->show plots in tool window 前面的勾选框不勾选即可。
    2. 最新版matplotlib,好像是2.2.几还是2.3,在使用时窗口发生了很大的变化,好多按钮不见了,所以我还是安装了2.0.0,pip install matplotlib==2 即可。

    好,现在开始正式记录常用的一些函数,方便使用时查询。

    import matplotlib.pyplot as plt

    • 设置在坐标轴在最中间(其他位置同理)

    import matplotlib.pyplot as plt

    import numpy as np

    x = np.linspace(-3,3,100)

    y = x

    plt.plot(x,y)

    plt.xlim(-3,3)

    ax = plt.gca()

    ax.spines['top'].set_color('None')

    ax.spines['right'].set_color('None')

    ax.xaxis.set_ticks_position('bottom')

    ax.spines['bottom'].set_position(('data',0))

    ax.yaxis.set_ticks_position('left')

    ax.spines['left'].set_position(('data',0))

    plt.show()

    • 最基本的画线(平滑的曲线)

    plt.plot(x_data,y_data)   #可以只指定两个点,那就是简单的画直线

    • 标题

    plt.title('my title')

    • 设置曲线的颜色和style

    plt.plot(x,y,color='black',linewidth=2,linestyle='--')

    • 显示初始时的x轴和y轴的上下限

    plt.xlim((-3,3))     plt.ylim((-1,4))

    • 设置x轴和y轴的标签

    plt.xlabel('i am x')  plt.ylabel('i am y')

    • 设置x轴和y轴的坐标

    new_ticks = np.linspace(-5,5,15)

    plt.xticks(new_ticks)

    plt.yticks([-2,-1,0,1,2],['too bad','bad','normal','good','really good'])

    • 设置坐标轴不可见

    ax = plt.gca()

    ax.spines['top'].set_color('none')

    • 设置坐标轴的位置

    ax.spines['bottom'].set_position(('data',1))  # 下部轴显示在纵轴数据为1的地方(即下部轴为y=1直线)

    • 设置图例(legend)

    plt.plot(x,y1,label='first')

    plt.plot(x,y2,label='second')

    plt.legend()     #默认就是loc=‘best’,会自动寻找较空的位置放图例

    # plt.legend(loc='lower left / upper right / best')

    • 设置注解(annotation)两种方式

    plt.annotate('hello annotate',xy=(x0,y0),xycoords='data',xytext=(30,-30),textcoords = 'offset points',
                 fontsize=12,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.5'))

    plt.text(-1,-4,r'$this\ is\ text\ \alpha_2\ \sigma\ \mu$',
             fontdict={'size':16,'color':'r'})

    • 散点图

    plt.scatter(x_data,y_data,marker=,color=,alpha=)

    • 去掉ticks(坐标轴上数字等)

    plt.xticks(())

    柱状图

    plt.bar(x,+y1,facecolor='red',edgecolor='white')

    plt.bar(x,-y2,facecolor='blue',edgecolor='white')   # -y2表示显示在横坐标下方

    for x0,y0 in zip(x,y1):

        plt.text(x0,y0+0.005,'%.2f'%y0,ha='center',va='bottom') # ha表示水平对齐

    for x0,y0 in zip(x,y2):

        plt.text(x0,-y0-0.005,'%.2f'%y0,ha='center',va='top')

    • 等高线

    X,Y = np.meshgrid(x,y)

    plt.contourf(X,Y,Z,8,alpha=0.75,cmap=plt.cm.hot)    #Z代表高度,8代表有9个分界线,cmap为颜色对应

    C = plt.contour(X,Y,Z,8,linewidth=1,colors='black')

    plt.clabel(C,inline=True,fontsize=10)

    • 3D图

    from mpl_toolkits.mplot3d import Axes3D

    fig = plt.figure()

    ax = Axes3D(fig)

    X = np.arange(-4,4,0.2)

    Y = np.arange(-4,4,0.2)

    X,Y = np.meshgrid(X,Y)

    R = np.sqrt(X**2+Y**2)

    Z = np.sin(R)

    ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.cm.rainbow)

    ax.contourf(X,Y,Z,zdir='z',offset=-2,cmap=plt.cm.rainbow)

    • 子图

    ax1 = plt.subplot2grid((3,3),(0,0),colspan=3,rowspan=1) # 总的分3行3列,从(0,0)开始

    ax1.set_title('subplot 1')   # 注意此时的设置都要使用set_xxx函数不能直接用title()

    ax2 = plt.subplot2grid((3,3),(1,0),colspan=1,rowspan=1)

    ax2.plot([0,1],[0,3])

     

     

    只记录以上常用函数,更多函数使用可以查看莫烦python关于matplotlib的教程(bilibili是个学习网站)

     

    展开全文
  • 最近自己经常遇到matplotlib的OO API和pyplot包混乱不分的情况,所以抽时间好好把matplotlib的文档读了一下,下面是大概的翻译和总结。很多基础的东西还是要系统地掌握牢固哇~~要素Figure就是整个图片,像弹出的...

    最近自己经常遇到matplotlib的OO API和pyplot包混乱不分的情况,所以抽时间好好把matplotlib的文档读了一下,下面是大概的翻译和总结。很多基础的东西还是要系统地掌握牢固哇~~

    要素

    Figure

    就是整个图片,像弹出的窗口windows和Jupyter widgets,用于track所有的Axes,artists(titiles,legend)和canvas(用户不怎么接触到)。一个figure可以包含任何数量的Axes,至少有一个。最简单的创建新的figure的方法是:

    fig = plt.figure() # an empty figure with no Axes

    fig, ax = plt.subplots() # a figure with a single Axes

    fig, axs = plt.subplots(2, 2) # a figure with a 2x2 grid of Axes

    这是最简单的创建axes的方法,但之后也可以再加axes,允许更加复杂的axes layout。

    Axes

    data points放置的区域(x-y坐标或者x-y-z坐标)。Axes包含两个或三个Axis对象,Axis对象能够控制data limits(axes.Axes.set_xlim()和 axes.Axes.set_ylim())。

    每个Axes有一个title,x-label和y-label,分别通过(axes.Axes.set_title(),axes.Axes.set_xlabel(),axes.Axes.set_ylabel()控制)

    Axes类和它的成员方法是Object-oriented的主要入口。

    Axis

    就是底下那种数字和线的组合。控制limits,ticks和ticklabels。

    ticks的位置是由Locator对象控制的,ticklabel的字符串是由Formatter对象控制的。

    Artist

    基础上来说图片上看到的每一样东西都是一个artist(包括Figure,Axes和Axis对象)。还包括 Text对象, Line2D对象, collections对象,Patch对象等。所有的Artist都被画到canvas上。大多数Artists都和Axes绑定了,这样一个Artist不能被多个Axes分享。

    输入的种类

    其他的像pandas对象或np.matrix不能作为输入。list可以被自动转为array。

    可以这样转为np.array

    a = pandas.DataFrame(np.random.rand(4, 5), columns = list('abcde'))

    a_asarray = a.values

    b = np.matrix([[1, 2], [3, 4]])

    b_asarray = np.asarray(b)

    object-oriented interface和pyplot interface

    有两种方法去使用matplotlib,两种方法很多函数是一样的:显式地创建figures和axes,然后在调用这些对象的方法。

    依靠pyplot自动创建和管理figures和axes,然后使用pyplot函数画图。

    下面这种是OO-style

    x = np.linspace(0, 2, 100)

    # Note that even in the OO-style, we use `.pyplot.figure` to create the figure.

    fig, ax = plt.subplots() # Create a figure and an axes.

    ax.plot(x, x, label='linear') # Plot some data on the axes.

    ax.plot(x, x**2, label='quadratic') # Plot more data on the axes...

    ax.plot(x, x**3, label='cubic') # ... and some more.

    ax.set_xlabel('x label') # Add an x-label to the axes.

    ax.set_ylabel('y label') # Add a y-label to the axes.

    ax.set_title("Simple Plot") # Add a title to the axes.

    ax.legend() # Add a legend.

    或者pyplot-style

    x = np.linspace(0, 2, 100)

    plt.plot(x, x, label='linear') # Plot some data on the (implicit) axes.

    plt.plot(x, x**2, label='quadratic') # etc.

    plt.plot(x, x**3, label='cubic')

    plt.xlabel('x label')

    plt.ylabel('y label')

    plt.title("Simple Plot")

    plt.legend()

    matplotlib的教程一般都包含OO或者pyplot两种方法,两种都可以,但是需要注意的是不要混合使用。通常,pyplot用在interactive plotting像jupyter notebook里面,OO-style用在non-interactive像函数或脚本里面能够在大项目里重用的。

    在老版本的matplotlib里面还有一个pylab的interface,现在比较少用。

    有时需要用不同的数据重用一个画图函数,建议采用如下的函数签名

    def my_plotter(ax, data1, data2, param_dict):

    """A helper function to make a graphParameters----------ax : AxesThe axes to draw todata1 : arrayThe x datadata2 : arrayThe y dataparam_dict : dictDictionary of kwargs to pass to ax.plotReturns-------out : listlist of artists added"""

    out = ax.plot(data1, data2, **param_dict)

    return out

    然后这样使用它

    data1, data2, data3, data4 = np.random.randn(4, 100)

    fig, ax = plt.subplots(1, 1)

    my_plotter(ax, data1, data2, {'marker': 'x'})

    或者两个sub-plots

    fig, (ax1, ax2) = plt.subplots(1, 2)

    my_plotter(ax1, data1, data2, {'marker': 'x'})

    my_plotter(ax2, data3, data4, {'marker': 'o'})

    backends

    什么是backend?backend就是做了所有的复杂工作去把图片渲染出来。有两种backends:user interface backend(pygtk, wxpython, tkinter, qt4, or macosx),和hardcopy backend(PNG, SVG, PDF, PS)

    设置backend的方法

    三种,优先级别是1<2<3The rcParams["backend"] (default: 'agg') parameter in your matplotlibrc file

    The

    import matplotlib as mpl

    mpl.rcParams['backend'] = ‘agg’

    或设置环境变量,不推荐

    unix

    > export MPLBACKEND=qt5agg

    > python simple_plot.py

    > MPLBACKEND=qt5agg python simple_plot.py

    或直接使用use函数,需要在任何figure创建之前use。

    import matplotlib

    matplotlib.use('qt5agg')

    一般来说,matplotlib会自动选择默认的backend来完成interactive work和脚本中画图。

    什么是interactive mode

    interactive允许动态显示画图的修改。做一个动作显示一个。能够通过这两个方法来控制interactive mode开和关。matplotlib.pyplot.ion(), matplotlib.pyplot.ioff()。

    注意interactive mode只能够在ipython或原始的python shell中使用,不支持IDLE IDE。

    import matplotlib.pyplot as plt

    plt.ion()

    plt.plot([1.6, 2.7])

    可以在做动作能够即时刷新并显示

    plt.title("interactive test")

    plt.xlabel("index")

    也能够拿到当前的Axes实例,然后调用实例的方法

    ax = plt.gca()

    ax.plot([3.1, 2.2])

    在特定的backends(像macosx),或老版本的matplotlib,可能不会即时显示,可以调用plot.draw()方法去更新。

    non-interactive

    import matplotlib.pyplot as plt

    plt.ioff()

    plt.plot([1.6, 2.7])

    这样子什么都没有发生(macosx可能会有图片),为了看到图片,需要调用plt.show()。调用了show方法之后,show方法把刚刚的input都一起执行,然后把当前进程暂停block一下,这个时候terminal command是unresponsive的,除非你手动关掉plot window。这样子的好处就是,像以前执行一个脚本的时候,你还没有看清图片,一闪而过就没了,这样子图片能够停留等待你的反馈。

    在non-interactive mode中,所有的动作都是delay的,等到show函数调用了才执行。

    show函数能够被调用多次,上一个图片窗口关闭之后,再显示下一张图片。(python shell)

    import numpy as np

    import matplotlib.pyplot as plt

    plt.ioff()

    for i in range(3):

    plt.plot(np.random.rand(10))

    plt.show()

    小结interactive和non-interactiveinteractive

    pyplot自动画图

    如果使用OO方法,调用draw()函数去刷新

    Non-interactive

    方便在脚本中生成一张或多张图片。使用show()函数去显示所有图片,并且会暂停block进程直到手动destroy这些图片。

    性能

    感觉用到不多

    line simplify

    import numpy as np

    import matplotlib.pyplot as plt

    import matplotlib as mpl

    # Setup, and create the data to plot

    y = np.random.rand(100000)

    y[50000:] *= 2

    y[np.geomspace(10, 50000, 400).astype(int)] = -1

    mpl.rcParams['path.simplify'] = True

    mpl.rcParams['path.simplify_threshold'] = 0.0

    plt.plot(y)

    plt.show()

    mpl.rcParams['path.simplify_threshold'] = 1.0

    plt.plot(y)

    plt.show()

    参考

    展开全文
  • %matplotlib inline import matplotlib.pylab import numpy as np import pandas as pd #生成示例数据 df=pd.Series(np.random.randn(1000),index=pd.date_range('1/1/2019',freq='D',periods=1000))...#设置窗口滑...
  • %matplotlib inline import matplotlib.pylab import numpy as np import pandas as pd df = pd.Series(np.random.randn(600), index = pd.date_range('7/1/2016', freq = 'D', periods = 600)) r = df.rolling(w...
  • 时间序列(三)滑动窗口

    万次阅读 2017-12-11 15:46:41
    滑动窗口就是能够根据指定的单位长度来框住时间序列,从而计算框内的统计指标。相当于一个长度指定的滑块在刻度尺上面滑动,每滑动一个单位即可反馈滑块内的数据。import matplotlib.pylab import numpy as np ...
  • Pandas时间序列:移动窗口及绘图

    千次阅读 2018-07-09 01:40:20
    import pandas as pd ...import matplotlib.pyplot as plt %matplotlib inline close_px_all = pd.read_csv('stock_px.csv',parse_dates=True,index_col=0) close_px = close_px_all[['AAPL','MS...
  • Matplotlib显示图片与HighGUI最大的不同HighGUI窗口namedWindow设置选项1:窗口大小设置选项2:设置宽高比设置选项3 : 窗口GUI版本创建窗口示例读入图片imread的API讲解opencv都支持导入哪些格式的图片呢?...
  • ch-11-移动窗口函数

    2021-01-01 23:28:44
    载入一个时间序列,并且按照工作日频率进行重新采样。 import pandas as pd import numpy as np import matplotlib.pyplot as plt # %matplotlib inline close_px_all = pd.read_csv("data/stock_px_2.csv") close
  • 刷新wxPython窗口时遇到问题。它目前正在使用wxmpl绘制一个图形,可以缩放、平移等。有时用户可能会绘制大量数据并放大...在我花了大量的时间来研究wx、wxmpl和matplotlib的源代码和文档。。。我想出的最好的解决方...
  • 在Mac系统下使用python的同学肯定遇到过这个问题:用matplotlib绘图的时候,窗口总是在最后面。比如我用的vscode编辑代码的,成图窗口总是在vscode后面,需要将vscode窗口缩小一点才能看到绘图结果。这显然不是我们...
  • from matplotlib import pyplot as plt img = cv2.imread('image.jpg',0) cv2.namedWindow('image', cv2.WINDOW_NORMAL) #读取的图片映射到窗口上 cv2.imshow('image',img) #等待时间,0:一直等...
  • 能想象你在后台跑着一个程序,然后在另一个窗口里写文章,写着写着突然焦点消失,输入法里的字全都不见,而且这个时候继续打字,说不定会触发 matplotlib 窗口里的什么奇怪的快捷键……所以我决定彻底放弃 matp...
  • 文章目录任务描述相关知识时间频率与偏移量重新取样、迁移和窗口重新取样时间迁移移动时间窗口编程要求测试说明 任务描述 根据相关知识完成下列任务: 求上个季度(仅含工作日)的平均值; 求每个月末(仅含工作日...
  • 本文关于SVR时间序列的预测,详细步骤如下: 1.数据读取 2.数据集的划分(采用滑动窗口重叠切片) 3.训练数据集掷乱 4.SVR参数设置(网格搜索+交叉验证) 5.SVR模型训练+模型保存 6.SVR模型加载+预测 import...
  • 公式(窗口为7): 也就是说7个数做一次平均 二、指数平均 公式: 其中 因此 也就是说离本点越近,考虑的权重也越大。 python code: # author: adrian.wu import numpy as np from ...
  • 一、Rolling 和 Expandingrolling和expanding都是类似的,目的是查看股票市场价格随着时间的变化,不同的是rolling average算的是最近一个窗口期(比如说20天)的一个平均值,过了一天这个窗口又会向下滑动一天算20天...
  • 百度的时候大部分时间是推荐安装Anaconda3 。Anaconda3 强大归强大,但是需要下载并且需要进行配置环境才可以用,如果觉得麻烦,不妨用下面的方式解决: 1.python怎么装matplotlib python安装"matplotlib"...
  • 环境:jupyter 数据读取-图像 cv2.IMREAD_COLOR : 彩色图像 cv2.IMREAD_GRAYSCALE : 灰度图像 import cv2 #opencv读取的格式是BGR import matplotlib.pyplot as plt import numpy as np ...#等待时间
  • 数据读取-图像 import cv2 #opencv读取的格式是BGR import matplotlib.pyplot ...#图像的显示,也可以创建多个窗口 cv2.imshow('image',img) # 等待时间,毫秒级,0表示任意键终止 cv2.waitKey(0) cv2.destroyAllWind.
  • 1.图像基本操作 数据读取-图像 cv2.IMREAD_COLOR:彩色图像 cv2.IMREAD_GRAYSCALE:灰度图像 import cv2 #opencv读取的格式是BGR import matplotlib.pyplot as plt import numpy as np ...#等待时间,毫秒级
  • opencv计算机视觉实战————learning2图像基本操作 数据读取 import cv2 ...# 图像的显示,也可以创建多个窗口 cv2.imshow('image',img) # 等待时间,毫秒级,0表示任意键终止。 如果设定1000, cv2.wa
  • 图像处理基础操作

    2021-02-20 10:05:00
    文章目录显示图像图像的基本信息 显示图像 import cv2 #opencv读取的格式是BGR import matplotlib.pyplot as plt import numpy as np %matplotlib inline img=cv2.imread('cat.jpg'... 等待时间,毫秒级,0表示任意键
  • 图像基本操作 数据读取-图像 cv2.IMREAD_COLOR:彩色图像 cv2.IMREAD_GRAYSCALE:灰度图像 mport cv2 #opencv读取的格式是BGR import matplotlib.pyplot as plt ...等待时间,毫秒级,0表示任意键
  • 1.图像数据读取 import cv2 #opencv读取的格式是BGR import matplotlib.pyplot as plt import numpy as np %matplotlib inline img=cv2.imread('5cm.jpg') img.shape (1080, 1920, 3) ...# 等待时间,毫秒级,
  • 最后,我找到了一种方法,将图表嵌入到PyQt窗口中(按照给出的in this post的说明)。...在import sysfrom PyQt4 import QtGui, QtCorefrom matplotlib.backends.backend_qt4agg import FigureCanvasQTA...
  • 图片嵌入窗口,而不单独显示(默认) %timeit, %timeit 单行代码执行计时 %%timeit 多行计时 %prun 每个函数消耗时间 %%writefile 创建一个py文件,内容为cell里 %run 运行一个py文件 %pwd 查找当前...
  • Socplot Socplot是一个python 3软件包,可帮助您可视化足球数据。...示例匹配中通过选定时间窗口的传递地图 比赛前15分钟通过 例 code snippet used to generate the last image import pandas as pd from socplo
  • 应该启用在外部窗口中进行绘制以查看动画。 Julia版本的包装要求 情节 微分方程 迪瑞克 Python版本的包装要求 麻木 scipy.integrate(odeint) pylab,matplotlib(动画) imagemagick(将动画另存为gif文件) ...

空空如也

空空如也

1 2 3
收藏数 55
精华内容 22
关键字:

matplotlib时间窗口