精华内容
下载资源
问答
  • 很多方法都只列出了一个目录,详细的内容需要去对应的API文档看,本文档的作用是对于初学可以感受到numpy,pandas可以做哪些数据分析,而不用自己一步一步敲代码,整体感知。
  • Matplot 常用函数总结

    2017-07-03 09:16:20
    python Matplot 常用函数总结

    学习整理自:http://www.cnblogs.com/TensorSense/p/6802280.html,如有侵权,联系删除

    plt.savefig(‘test’, dpi = 600) :将绘制的图画保存成png格式,命名为 test

    plt.ylabel(‘Grade’) :  y轴的名称

    plt.axis([-1, 10, 0, 6]) :  x轴起始于-1,终止于10 ,y轴起始于0,终止于6

    plt.subplot(3,2,4) :  分成3行2列,共6个绘图区域,在第4个区域绘图。排序为行优先。也可 plt.subplot(324),将逗号省略。

     

    .plot函数

    plt.plot(x, y, format_string, **kwargs): x为x轴数据,可为列表或数组;y同理;format_string 为控制曲线的格式字符串, **kwargs 第二组或更多的(x, y, format_string)

    format_string: 由 颜色字符、风格字符和标记字符组成。

    颜色字符:‘b’蓝色  ;‘#008000’RGB某颜色;‘0.8’灰度值字符串

    风格字符:‘-’实线;‘--’破折线; ‘-.’点划线; ‘:’虚线 ; ‘’‘’无线条

    标记字符:‘.’点标记  ‘o’ 实心圈 ‘v’倒三角  ‘^’上三角

     

    eg: plt.plot(a, a*1.5, ‘go-’,    a, a*2, ‘*’)   第二条无曲线,只有点

     

    .plot 显示中文字符

    pyplot并不默认支持中文显示,需要rcParams修改字体来实现

    rcParams的属性:

    ‘font.family’ 用于显示字体的名字

    ‘font.style’ 字体风格,正常’normal’ 或斜体’italic’

    ‘font.size’ 字体大小,整数字号或者’large’   ‘x-small’

    eg:

    import matplotlib

    matplotlib.rcParams[‘font.family’] = ‘STSong’

    matplotlib.rcParams[‘font.size’] = 20

    设定绘制区域的全部字体变成 华文仿宋,字体大小为20

     

    中文显示2:只希望在某地方绘制中文字符,不改变别的地方的字体

    在有中文输出的地方,增加一个属性: fontproperties

    eg:

    plt.xlabel(‘横轴:时间’, fontproperties = ‘simHei’, fontsize = 20)

     

    pyplot文本显示函数:

    plt.xlabel():对x轴增加文本标签

    plt.ylabel():同理

    plt.title(): 对图形整体增加文本标签

    plt.text(): 在任意位置增加文本

    plt. annotate(s, xy = arrow_crd, xytext = text_crd, arrowprops = dict)

    : 在图形中增加带箭头的注解。s表示要注解的字符串是什么,xy对应箭头所在的位置,xytext对应文本所在位置,arrowprops定义显示的属性

    eg:

    plt.xlabel(‘横轴:时间’, fontproperties = ‘SimHei’, fontsize = 15, color = ‘green’)

    plt.ylabel(‘纵轴:振幅’, fontproperties = ‘SimHei’, fontsize = 15)

    plt.title(r’正弦波实例 $y=cons(2\pi x)$’ , fontproperties = ‘SimHei’, fontsize = 25)

    plt.annotate (r’%mu=100$, xy = (2, 1), xytext = (3, 1.5),

    arrowprops = dict(facecolor = ‘black’, shrink = 0.1, width = 2)) # width表示箭头宽度

    plt.text (2, 1, r’$\mu=100$, fontsize = 15)

    plt.grid(True)

     

    plt. annotate(s, xy = arrow_crd, xytext = text_crd, arrowprops = dict)

     

    plt子绘图区域

    plt.subplot2grid(GridSpec, CurSpec, colspan=1, rowspan=1):设定网格,选中网格,确定选中行列区域数量,编号从0开始。

    eg:

    plt.subplot2grid((3, 3), (1, 0), colspan = 2) : (3,3)表示分为3行3列,(1,0)表示选中第1行,第0列的区域进行绘图,colspan=2表示在选中区域的延伸

     

     

     

    GridSpec类



     

    Plot的图表函数

    plt.plot(x,y , fmt)  :绘制坐标图

    plt.boxplot(data, notch, position): 绘制箱形图

    plt.bar(left, height, width, bottom) : 绘制条形图

    plt.barh(width, bottom, left, height) : 绘制横向条形图

    plt.polar(theta, r) : 绘制极坐标图

    plt.pie(data, explode) : 绘制饼图

    plt.scatter(x, y) :绘制散点图

    plt.hist(x, bings, normed) : 绘制直方图

     

    绘制饼图

     

    explode表示突出,如橘色这一块突出;autopct  表示显示数据的格式; shadow表示二维饼图;startangle表示起始的角度;

    此为椭圆形饼图,要为圆形,可添加:  plt.axis(‘equal’)

     

    绘制直方图

    bings将直方图的取值范围进行均等划分bings个区间;

    normed =1 表示将出现频次进行了归一化。 normed=0,则为频次;

    alpha表示直方图的透明度[0, 1] ;

    histtype = ‘stepfilled’  表示去除条柱的黑色边框

     

    面向对象的极坐标图绘制

     

    面向对象散点图绘制

     

    将subplots()变成一个对象,fig和ax表示subplots生成的图表以及相关区域。subplots为空时,默认为subplots(111)


    展开全文
  • 一、使用subplots绘制子图   1 import numpy as np 2 from matplotlib import pyplot as plt 3 %matplotlib inline 4 x = np.arange(1,100) 5 #print(x) ... 8 fig,axes = pl...

    一、使用subplots绘制子图

      

     1 import numpy as np
     2 from matplotlib import pyplot as plt
     3 %matplotlib inline 
     4 x = np.arange(1,100)
     5 #print(x)
     6 
     7 #划分子图将画布分为2x2的画布
     8 fig,axes = plt.subplots(2,2)
     9 
    10 axe1 = axes[0,0]
    11 axe2 = axes[0,1]
    12 axe3 = axes[1,0]
    13 axe4 = axes[1,1]
    14 
    15 #画布大小和分辨率
    16 fig = plt.figure(figsize=(20,10),dpi = 80)
    17 
    18 axe1.plot(x,x)
    19 
    20 axe2.plot(x,-x)
    21 
    22 axe3.plot(x,x**2)
    23 
    24 axe4.plot(x,np.log(x))
    25 
    26 plt.show()
    View Code

    二、使用add_subplot绘制子图

     1 import numpy as np
     2 import matplotlib.pyplot as plt
     3 %matplotlib inline
     4 x = np.arange(1,100)
     5 
     6 fig = plt.figure(figsize = (20,10),dpi=80)
     7 
     8 #画第一个图,2x2矩阵第一个位置
     9 ax1 = fig.add_subplot(2,2,1)
    10 ax1.plot(x,x)
    11 
    12 #画第二个图
    13 ax2 = fig.add_subplot(2,2,3)
    14 ax2.plot(x,x**2)
    15 
    16 #画第三个图
    17 ax3 =fig.add_subplot(2,2,4)
    18 ax3.plot(x,np.log(x))
    19 plt.show()
    View Code

    三、设置图像包围线和底边移动范围

     1 import matplotlib.pyplot as plt
     2 import numpy as np
     3 
     4 y = range(0,14,2)
     5 x = [-3,-2,-1,0,1,2,3]
     6 
     7 plt.figure(figsize=(20,8),dpi=80)
     8 
     9 #获取当前图标图像
    10 ax = plt.gca()
    11 
    12 #设置图像包围线
    13 ax.spines['right'].set_color('none')
    14 ax.spines['top'].set_color('none')
    15 #ax.spines['bottom'].set_color('none')
    16 #ax.spines['left'].set_color('none')
    17 
    18 
    19 #设置底边移动范围
    20 ax.spines['bottom'].set_position(('data',0))
    21 ax.spines['left'].set_position(('data',0))
    22 
    23 plt.plot(x,y)
    24 plt.show()
    View Code

    四、设置坐标轴范围

     1 # 设置坐标轴范围
     2 import matplotlib.pyplot as plt
     3 import numpy as np
     4 
     5 x = np.arange(-10,11,1)
     6 y = x**2
     7 plt.plot(x,y)
     8 
     9 plt.xlim(xmin = -5)
    10 plt.ylim(ymax = 80)
    11 plt.show()
    View Code

     

    转载于:https://www.cnblogs.com/luweilehei/p/11416141.html

    展开全文
  • 机器学习常用算法/推导 以及 numpy scipy padas matplot的使用
  • Matplotlib.pyplot 常用方法(一)

    万次阅读 2017-07-29 18:43:53
    对于参数中,常用的format:线的颜色、线的形状、点的标记形状,我们用这三个的时候经常用缩写,它们之间的顺序怎么都可以哦, 如它俩一个意思:’r+–’、’+–r’。如果我们不想缩写的话,可以分别写成如: ...

    简介

    matplotlib是python上的一个2D绘图库,它可以在夸平台上边出很多高质量的图像。综旨就是让简单的事变得更简单,让复杂的事变得可能。我们可以用matplotlib生成 绘图、直方图、功率谱、柱状图、误差图、散点图等 。

    matplotlib.pyplot:提供一个类似matlab的绘图框架。

    pylab将pyplot与numpy合并为一个命名空间。这对于交互式工作很方便,但是对于编程来说,建议将名称空间分开,例如 :

    # 画 y = sin x 图像
    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.arange(0, 5, 0.1);
    y = np.sin(x)
    plt.plot(x, y)
    plt.show()
    

    matplotlib实际上为面向对象的绘图库,它所绘制的每个元素都有一个对象与之对应的。例如上述例子中执行完 plt.plot(x,y) 之后得到:[matplotlib.lines.Line2D object at 0x01867D70]

    好啦,现在开始学习:

    配置属性:

    因为是面向对象的绘图库,我们可以为每个对象配置它们的属性,应该说有三个方法,一个是通过对象的方法set_属性名()函数,二是通过对象的set()函数,三是通过pylot模块提供的setp()函数:

    
    plt.figure()
    line = plt.plot(range(5))[0]                # plot函数返回的是一个列表,因为可以同时画多条线的哦;
    line.set_color('r')
    line.set_linewidth(2.0)
    plt.show()
    #————————————  或者  ————————————
    plt.figure()
    line = plt.plot(range(5))[0]    # plot函数返回的是一个列表,因为可以同时画多条线的哦; 
    line.set(color = 'g',linewidth = 2.0)
    plt.show() 
    #————————————  或者 ————————————
    plt.figure()
    lines = plt.plot(range(5),range(5),range(5),range(8,13))    # plot函数返回一个列表;
    plt.setp(lines, color = 'g',linewidth = 2.0)                # setp函数可以对多条线进行设置的;
    plt.show()
    

    这里写图片描述
    如果想查看呢,怎么办呢?同样两个方法,一个是通过对象的方法get_属性名()函数,一个是通过pylot模块提供的getp()函数。

    getp()有两个调用方法,一个是只有要的查看的对象一个参数,一个是要查看的对象现属性两个参数;如:

    # getp(obj, property=None)
    plt.getp(line)
    plt.getp(line, 'color')
    

    Artist 对象

    matplotlib API包含有三层:

    • backend_bases.FigureCanvas : 图表的绘制领域
    • backend_bases.Renderer : 知道如何在FigureCanvas上如何绘图
    • artist.Artist : 知道如何使用Renderer在FigureCanvas上绘图

    FigureCanvas和Renderer需要处理底层的绘图操作,例如使用wxPython在界面上绘图,或者使用PostScript绘制PDF。Artist则处理所有的高层结构,例如处理图表、文字和曲线等的绘制和布局。通常我们只和Artist打交道,而不需要关心底层的绘制细节。

    Artists分为简单类型容器类型两种。简单类型的Artists为标准的绘图元件,例如Line2D、 Rectangle、 Text、AxesImage 等等。而容器类型则可以包含许多简单类型的Artists,使它们组织成一个整体,例如Axis、 Axes、Figure等。

    直接使用Artists创建图表的标准流程如下:

    • 创建Figure对象
    • 用Figure对象创建一个或者多个Axes或者Subplot对象
    • 调用Axies等对象的方法创建各种简单类型的Artists

    Artist 对象

    对于上面的很多很多对象,其实都是Artist对象,Artist对象共分为简单类型和容器类型两种哦。
    举一个建立简单Artist对象的过程哈,直接上代码:

    import matplotlib.pyplot as plt
    import numpy as np
    
    fig = plt.figure(1)        # 创建了一个figure对象;
    
    # figure对象的add_axes()可以在其中创建一个axes对象,
    # add_axes()的参数为一个形如[left, bottom, width, height]的列表,取值范围在0与1之间;
    # 我们把它放在了figure图形的上半部分,对应参数分别为:left, bottom, width, height;
    ax = fig.add_axes([0.1, 0.5, 0.8, 0.5]) 
    ax.set_xlabel('time')           # 用axes对象的set_xlabel函数来设置它的xlabel
    
    line =ax.plot(range(5))[0]      # 用axes对象的plot()进行绘图,它返回一个Line2D的对象;
    line.set_color('r')             # 再调用Line2D的对象的set_color函数设置color的属性;
    plt.show()
    

    输出 为:

    这里写图片描述

    figure 容器

    在构成图表的各种Artist对象中,最上层的Artist对象是Figure。我们可以调用add_subplot()与add_axes()方法向图表中添加子图,它们分加到figure的axes的属性列表中。add_subplot()与add_axes()返回新创建的axes对象,分别为axesSuubplot与axes, axesSuubplot为 axes的派生类。另外,可以通过delaxes()方法来删除哦;

    figure对象可以有自己的简单的artist对象。

    下面列出Figure对象中包含的其他Artist对象的属性:

    • axes:Axes对象列表;
    • patch:作为背景的Rectangle对象;
    • images:FigureImage对象列表,用于显示图像;
    • legends:Legend 对象列表,用于显示图示;
    • lines:Line2D对象列表;
    • patches:Patch对象列表;
    • texts:Text 对象列表,用于显示文字;
    # 使用figure对象绘制直线
    from matplotlib.lines import Line2D
    import matplotlib.pyplot as plt
    
    fig = plt.figure()
    
    line1 = Line2D([0,1],[0,1], transform=fig.transFigure, figure=fig, color="r")
    line2 = Line2D([0,1],[1,0], transform=fig.transFigure, figure=fig, color="b")
    fig.lines.extend([line1, line2])
    
    fig.show()

    运行结果:
    这里写图片描述

    axes 容器

    它是整个matplotlib的核心,它包含了组成图表的众多的artist对象。并且有很多方法。我们常用的Line2D啦,Xaxis,YAxis等都是它的属性哦;可以通过这个对象的属性来设置坐标轴的label啦,范围啦等之类的。干脆直接用plt.getp()查看它的属性,然后通过set_属性名()函数来设置就好啦。

    axis 容器

    axis容器包括了坐标轴上的刻度线、刻度标签等、坐标网络等内容。

    对于坐标轴上的刻度相关的知识,它是这么分的:首先是major_ticks()和minor_ticks(), 然后呢,每个刻度又包括刻度线(ticklines)、刻度标签(ticklabels)、刻度位置(ticklocs)。本来呢,axis应该刻度,然后呢,刻度再包含那三个,但是呢,为了方便,axis就都包含了。其实也是有点交叉吧。上面的axes也会交叉包含它所包含对象的对象的。

    看个例子:

    from matplotlib.lines import Line2D
    import matplotlib.pyplot as plt
    
    # 通过axis来更改坐标轴
    plt.plot([1,2,3],[4,5,6])
    # gca()获取当前的axes绘图区域,调用gcf()来获得当前的figure
    axis = plt.gca().xaxis        
    axis.get_ticklocs()                 # 得到刻度位置;
    axis.get_ticklabels()               # 得到刻度标签;
    axis.get_ticklines()                # 得到刻度线;
    axis.get_ticklines(minor = True)    # 得到次刻度线; 举个例子:就像我们的尺子上的厘米的为主刻度线,毫米的为次刻度线;
    for label in axis.get_ticklabels():  
        label.set_color('red')          # 设置每个刻度标签的颜色;
        label.set_rotation(45)          # 旋转45度;
        label.set_fontsize(16)          # 设置字体大小;
    for line in axis.get_ticklines():
        line.set_color('green')          
        line.set_markersize(15)         # 设置刻度线的长短;
        line.set_markeredgewidth(3)     # 设置线的粗细
    plt.show()
    

    运行结果:
    这里写图片描述

    pyplot函数提供了两个绘制文字的函数:text()和figtext()。它们分别调用了当前的Axes对象与当前的Figure对象的text()方法进行绘制文字。text()默认在数字坐标系(就是axes在的坐标系,用坐标轴的数字来表示坐标)中画, figtext()默认在图表坐标系(就是figure在图表中啦,坐标范围从0 到 1 )中画,我们可能通过trransform参数进行坐标系的转换。反正吧,matplotlib中一共有四种坐标系,并且可以转换的哦,提一下哈。

    简单的调用:

    plt.text(1, 1, ‘hello,world’, color = ‘bule’) #还可以写更多参数的;
    plt.figtexe(0.1, 0.8 ,”i am in figure’, color = ‘green’)

    上面说了一大堆了,现在说几个常用的画图函数吧:

    常用函数

    plot()

    可以画出很简单线图,基本用法:

    plot(x, y)             # 画出横轴为x与纵轴为y的图,使用默认的线形与颜色;
    plot(x, y, 'bo')    # 用蓝色,且点的标记用小圆,下面会解释哦
    plot(y)             # 纵轴用y ,横轴用y的每个元素的坐标,即0,1,2……
    plot(y, 'r+')       # 如果其中x或y 为2D的,则会用它的相应的每列来表示哦,是每列哦,是每列哦,是每列哦,(重要的事情说三遍)
    
    plot(x1, y1, 'g^', x2, y2, 'g-') # 看到了吗,我们可以使用多对的x, y, format 对当作变量的哦,把它们画一个图里;
    

    对于参数中,常用的format:线的颜色、线的形状、点的标记形状,我们用这三个的时候经常用缩写,它们之间的顺序怎么都可以哦,

    如它俩一个意思:’r+–’、’+–r’。如果我们不想缩写的话,可以分别写成如: color=’green’, linestyle=’dashed’, marker=’o’。

    线的形状:

    ‘-’ solid line style
    ‘–’ dashed line style
    ‘-.’ dash-dot line style
    ‘:’ dotted line style

    点的标记:

    ‘.’ point marker
    ‘,’ pixel marker
    ‘o’ circle marker
    ‘v’ triangle_down marker
    ‘^’ triangle_up marker
    ‘<’ triangle_left marker
    ‘>’ triangle_right marker
    ‘1’ tri_down marker
    ‘2’ tri_up marker
    ‘3’ tri_left marker
    ‘4’ tri_right marker
    ‘s’ square marker
    ‘p’ pentagon marker
    ‘*’ star marker
    ‘h’ hexagon1 marker
    ‘H’ hexagon2 marker
    ‘+’ plus marker
    ‘x’ x marker
    ‘D’ diamond marker
    ‘d’ thin_diamond marker
    ‘|’ vline marker
    ‘_’ hline marker

    线的颜色:

    ‘b’ blue
    ‘g’ green
    ‘r’ red
    ‘c’ cyan
    ‘m’ magenta
    ‘y’ yellow
    ‘k’ black
    ‘w’ white

    常见线的属性有:color,labor,linewidth,linestyle,maker,等,具体要看全的话,见:lines–matplotlib

    看一个例子:

    # 绘图并作标记
    import matplotlib.pyplot as plt
    import numpy as np  
    
    plt.figure(1)                   # 调用figure函数创建figure(1)对象,可以省略,这样那plot时,它就自动建一个啦;
    
    t = np.arange(0.0, 2.0, 0.1)
    s = np.sin(2*np.pi*t)
    plt.plot(t, s, 'r--o', label = 'sinx')
    
    plt.legend()                    # 显示右上角的那个label,即上面的label = 'sinx'
    plt.xlabel('time (s)')          # 设置x轴的label,pyplot模块提供了很直接的方法,内部也是调用的上面当然讲述的面向对象的方式来设置;
    plt.ylabel('voltage (mV)')      # 设置y轴的label;
    #plt.xlim(-1,3)                 # 可以自己设置x轴的坐标的范围哦;
    #plt.ylim(-1.5,1.5)             
    plt.title('About as simple as it gets, folks')  
    plt.grid(True)                  # 显示网格;
    
    plt.show()   
    

    运行结果:这里写图片描述

    subplot()

    利用subplot()函数可以返回一个axes的对象哦,函数为:subplot(numRows, numCols, plotnum),当这三个参数都小于10时,我们可以把它们写一起,如下所示:

    # 填充彩色子图
    import matplotlib.pyplot as plt
    import numpy as np 
    
    for i, color in enumerate('rgbyck'):    
        plt.subplot(321+i, axis_bgcolor = color)
    plt.show()
    

    这里写图片描述

    利用subplot_adjust()函数可以对画的多个子图进行调整,优化间隔,它一共有left、right, bottom, top, wspace, hspase 六个参数,取 值从0至1。

    """
    Simple demo with multiple subplots.
    """
    import numpy as np
    import matplotlib.pyplot as plt
    
    
    x1 = np.linspace(0.0, 5.0)   #生成一个一维的array,linspace(起始点,结束点,点数(默认为50))
    x2 = np.linspace(0.0, 2.0)
    
    y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
    y2 = np.cos(2 * np.pi * x2)
    
    plt.subplot(2, 2, 1)      #表示在subplot为2*1的样式,并在第一个子图上画出;
    plt.plot(x1, y1, 'yo-')
    plt.title('A tale of 2 subplots')
    plt.ylabel('Damped oscillation')
    
    plt.subplot(2, 2, 2)      #  我们在第二个子图上加个空图哈,去理解它的图的排序(即注意第二个子图的位置
                                        #  为第一行第二列)是按行优先的,这个正好和matlab里相反哦;
    plt.title('It is a empty figure')
    
    plt.subplot(2, 2, 4)
    plt.plot(x2, y2, 'r.-')
    plt.xlabel('time (s)')
    plt.ylabel('Undamped')
    
    plt.show()
    

    运行结果:
    这里写图片描述

    subplots()

    plt.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, **fig_kw)

    作用:创建一个已有subplots的figures;
    参数:

    nrows : int ,指创建的sublots的行数,默认为1.
    ncols : int ,指创建的sublots的列数,默认为1.
    sharex : 为一个string或bool类型; 当为Ture时,所有的subpots将要共享x轴,如果它们是上下的关系的话,上面的图的刻度label就没有,只有下面那个图的.

        If a string must be one of "row", "col", "all", or "none".
        "all" has the same effect as *True*, "none" has the same effect
        as *False*.
        If "row", each subplot row will share a X axis.
        If "col", each subplot column will share a X axis and the x tick
        labels on all but the last row will have visible set to *False*.
    
      *sharey* : 同上
    
      *squeeze* : bool  它是用来控制返回值的,根据返回的axis的结果决定要不要把没有的维度进行压缩一下.
           当为Ture时,如果返回的axis只有一个,则表示成标量,如果有一行或一列,则表示为一维数组,如果多行多列,则表示为2D数组;
           当为False时,不管多少个返回的axis,都以二维数组的方式返回;
      *subplot_kw* : dict
        Dict with keywords passed to the
        :meth:`~matplotlib.figure.Figure.add_subplot` call used to
        create each subplots.
    
      *fig_kw* : dict
        Dict with keywords passed to the :func:`figure` call.  Note that all
        keywords not recognized above will be automatically included here.
    

    返回值

    有两个fig和 axt(它是元组的方式哦)

    *fig* is the :class:matplotlib.figure.Figure object
    *ax * can be either a single axis object or an array of axis objects if more than one subplot was created. The dimensions of the resulting array can be controlled with the squeeze keyword, see above.

    # subplots() 返回值
    import matplotlib.pyplot as plt
    import numpy as np  
    
    x = range(0,30,1)
    y = np.sin(x)
    
    # 接收返回的两个对象
    f,(ax1, ax2) = plt.subplots(1, 2, sharey=True)
    # 两个对象分别画图
    ax1.plot(x, y)
    ax1.set_title('Sharing Y axis')
    ax2.scatter(x, y)
    plt.show()
    figure_1
    

    这里写图片描述

    twinx()或twiny()

    twinx():在同一图画中,共享x轴,但是拥有各自不同的y轴

    create a twin of Axes for generating a plot with a sharex
    x-axis but independent y axis. The y-axis of self will have
    ticks on left and the returned axes will have ticks on the
    right.

    twiny():和上面一样,不同之处在于,它共享y轴。

    # twinx() 共享x轴实例
    import matplotlib.pyplot as plt
    import numpy as np
    
    fig = plt.figure(1)
    ax1 =plt.subplot(111)
    
    ax2 = ax1.twinx()
    
    ax1.plot(np.arange(1,5),'g--')
    ax1.set_ylabel('ax1',color = 'r')
    ax2.plot(np.arange(7,10),'b-')
    ax2.set_ylabel('ax2',color = 'b')
    
    plt.show()  
    

    运行结果:
    这里写图片描述



    参考文章:
    matplotlib.pyplot 官方文档
    博客园——matplotlib 常用知识
    博客园——matplotlib 绘图入门
    matplotlib-绘制精美的图表(Figure容器,Artist对象,Axes容器)
    博客园——Matplotlib 详解图像各个部分

    展开全文
  • matplot绘图常用快查

    2019-05-06 13:38:14
    matplot绘图常用快查全局画布图表元素--辅佐线--坐标--图形 全局 matplotlib.rcsetup.all_backends:获取本地可用backend matplotlib.use(arg):修改backend matplotlib.pyplot.get_backend():获取当前的 ...

    全局

    –渲染

    matplotlib.rcsetup.all_backends:获取本地可用backend
    matplotlib.use(arg):修改backend
    matplotlib.pyplot.get_backend():获取当前的 backend
    matplotlib.pyplot.ion():开启交互模式
    matplotlib.pyplot.ioff():关闭交互模式

    –样式

    matplotlib.matplotlib_fname():自定义的配置文件位置
    matplotlib.get_configdir():默认样式文件位置
    plt.style.use():使用样式
    plt.style.available:当前可用的样式列表
    plt.style.context():在某个块内使用某种样式
    matplotlib.rcParams['...']:直接定义样式参数
    plt.rcParams['font.sans-serif']=['simhei']:正常显示中文
    plt.rcParams['axes.unicode_minus']=False || plt.rc('axes',unicode_minus=False):正常显示负号
    matplotlib.rcdefaults():恢复内建的样式
    matplotlib.rc_file_defaults():恢复成最初导入的 rc 文件样式

    • plt.plot 函数使用 fmt 参数, plt.stem 函数使用了 linefmt, markerfmt, basefmt 参数
      线
      '-':实线
      '--':杠线
      '-.':点杠线
      ':':点线
      标记点
      '.':点
      ',':无
      'o':圆
      'v' || '1':下三角
      '^' || '2':上三角
      '<' || '3':左三角
      '>' || '4':右三角
      's':方形
      'p':五边形
      '*':星形
      'h' || 'H':六边形2种
      '+':加号
      'x':叉号
      'D' || 'd':大小钻石
      '\|':短竖线
      '_':短横线
      颜色
      'b':蓝
      'g':绿
      'r':红
      'c':青
      'm':品
      'y':黄
      'k':黑
      'w':白

    画布

    plt.figure(num, figsize, dpi):创建或切换画布
    plt.get_fignums():返回所有画布编号
    plt.gcf():获取当前的画布
    plt.suptitle(t):设置画布标题
    plt.show():绘制画布
    plt.savefig(fname, dpi, format, transparent):画布保存成文件
    plt.clf():清除当前的画布
    plt.close(num):关闭指定画布

    图表

    plt.subplot(211, sharex, sharey):指定位置绘制图表,sharex为Axes对象
    plt.axes(ax):切换图表
    plt.subplots(nrows=1, ncols=1, sharex=False, sharey=False):创建新画布和一系列的子图表
    plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None):调整子图表布局
    plt.twinx(ax=None) || plt.twiny(...):创建重叠图表, y或x轴放在右侧或顶部
    plt.cla()清除当前的图表
    plt.delaxes(ax=None):删除当前或指定图表

    元素

    –图形

    plt.plot(x1, y1, fmt1, x2, y2, fmt2, ...):点线图
    plt.step(x1, y1, x2, y2, ..., where='pre'):阶梯状,where:[pre,post,mid]
    plt.plot_date(x, y, fmt='o', xdate=True, ydate=False):点线图,轴解析为日期
    plt.errorbar(x, y, yerr=None, xerr=None, lolims=False, uplims=False, xlolims=False, xuplims=False):误差线图
    plt.fill_between(x, y1, y2=0):填充的线图
    plt.fill_betweenx(y, x1, x2=0):纵向填充的线图
    plt.stackplot(x, y1, y2, ...:堆叠图
    plt.bar(x, height, width=0.8, bottom=0):柱状图
    plt.barh(y, width, height=0.8, left=0):水平柱状图
    plt.scatter(x, y, s=None, c=None, alpha=None):散点图
    stem(x, y, linefmt=None, markerfmt=None):杆图
    plt.pie(x, explode=None, labels=None, colors=None, autopct=None,pctdistance=0.6, shadow=False, labeldistance=1.1):饼图

    –坐标

    plt.axis([xmin, xmax, ymin, ymax]):返回或设置坐标轴范围
    plt.axis('off'):不显示坐标轴和坐标轴名称
    plt.axis('tight'):尽量裁剪
    plt.xticks(locs, labels) || plt.yticks(...):设置坐标点及标签
    plt.xlabel(label) || plt.ylabel(...):设置轴标签
    plt.xlim(xmin, xmax) || plt.ylim(...):设置并返回轴范围
    plt.grid(b=None, axis='both'):栅格
    plt.title(s):添加图表标题
    plt.legend():添加图例
    plt.annotate(s, xy):图表中进行标注
    plt.text(x, y, s):添加文字
    plt.arrow(x, y, dx dy):绘制箭头,从 (x, y) 到 (x+dx, y+dy)

    –辅佐线

    plt.axvline(x=0, ymin=0, ymax=1) || plt.axhline(...):横跨当前图表的垂直/水平辅助线
    plt.axvspan(xmin, xmax, ymin=0, ymax=1) || plt.axhspan(...):横跨当前图表的垂直/水平区域

    展开全文
  • 1.等高线图 plt.figure() plt.contourf(X,Y,y_pre,100,cmap='jet',extend='both') X,Y是一维坐标,如果需要可以将值网格化求出X,Y,y_pre是一个二维矩阵,通常np.array(y_pre)[0]*np.array(y_pre)[1]等于len(X),...
  • 本文引用和使用的类库 import numpy as np import matplotlib.pyplot as plt from sklearn import datasets Jupyter Notebook’s Learning to writing Toolbar 可以进行 Cell代码行的编写运行 ...
  • 折线图:里面的数据不能运行只是介绍用法 import matplotlib.pyplot as plt import numpy as np from matplotlib import font_manager from matplotlib.pyplot import MultipleLocator plt.rcParams['font.sans-...
  • 数据分析最常用matplot基础使用笔记,大家可以直接复制修改相关属性就可以看到前后的对比效果,本人编辑器pycharm# -*- coding:utf-8 -*-""" @author: Fane @file: matplotlibTest.py @time:2017/8/12 22:01 """ ...
  • matplotlib常用命令合集

    2021-10-18 11:53:33
    查看系统是否有支持的中文 from matplotlib.font_manager import FontManager import subprocess fm = FontManager() mat_fonts = set(f.name for f in fm.ttflist) print(mat_fonts) 以下字体都是中文相关: ...
  • Matplot学习总结

    2018-11-21 16:52:44
    常用函数解释 plt.savefig() #将绘制的图画保存成png格式,命名为test #如果不输入后缀则默认保存为png格式 #可支持的格式有:eps, pdf, pgf, png, ps, raw, rgba, svg, svgz #dpi参数表示分辨率,默认即可 plt....
  • matplot的用法 一、numpy的用法 1.导入numpy import numpy as np 2.生成一个一位数组 np.array([1,2,3]) np.array(([1,2,3],[4,5,6])) arr = np.array([1,2,3]) arr #输出结果 ar.
  • 迄今为止,国内外开发了多款数据分析成图软件(例如,为了解决以上问题,并且满足目前研究工作中的一些需求,我们开发了一款基于MATLAB的地球化学数据成图软件——MATPLOT。该软件一方面可以在Windows、Mac OS或Linux...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,229
精华内容 491
关键字:

matplot常用