zoukankan      html  css  js  c++  java
  • matplotlib画图

    这篇随笔继续介绍matplotlib画图方面的知识

    #把x坐标设置为ABCDE 

    >>> x=np.random.randn (100)
    >>> plt.plot(x.cumsum())
    [<matplotlib.lines.Line2D object at 0x000000000EDBFF98>]
    >>> plt.xticks (np.linspace (0,100,5),list('ABCDH'),fontsize=20)#利用sticks设置x坐标
    ([<matplotlib.axis.XTick object at 0x0000000012CC2668>, <matplotlib.axis.XTick object at 0x0000000012E410B8>, <matplotlib.axis.XTick object at 0x0000000012E41400>, <matplotlib.axis.XTick object at 0x000000000EBE1400>, <matplotlib.axis.XTick object at 0x000000000EBE12E8>], <a list of 5 Text xticklabel objects>)

    >>> plt.yticks (np.linspace (-10,20,3),list(['min','0','max']),fontsize=20)#利用yticks设置x坐标
    ([<matplotlib.axis.YTick object at 0x0000000012CC27F0>, <matplotlib.axis.YTick object at 0x0000000012CC25C0>, <matplotlib.axis.YTick object at 0x0000000012E41278>], <a list of 3 Text yticklabel objects>)
    >>> plt.show()

    >>> #面向对象
    >>> axes=plt.subplot (111)
    >>> axes.plot(x.cumsum())
    [<matplotlib.lines.Line2D object at 0x0000000013287320>]
    >>> axes.set_xticks([0,25,50,75,100])#设置刻度值,表示分为5部分
    [<matplotlib.axis.XTick object at 0x00000000131CD080>, <matplotlib.axis.XTick object at 0x00000000131B5BA8>, <matplotlib.axis.XTick object at 0x00000000131B5588>, <matplotlib.axis.XTick object at 0x0000000013287B38>, <matplotlib.axis.XTick object at 0x0000000013287FD0>]
    >>> axes.set_xticklabels(list('abcde'))#设置标签
    [Text(0,0,'a'), Text(0,0,'b'), Text(0,0,'c'), Text(0,0,'d'), Text(0,0,'e')]、
    >>> plt.show()

    >>> #正弦余弦
    >>> #LaTeX语法,用π等表达式在图表写上希腊字母
    >>> x=np.arange(-10,10,0.1)
    >>> x=np.arange(-np.pi ,np.pi,0.01)
    >>> plt.plot(np.sin(x))
    [<matplotlib.lines.Line2D object at 0x00000000228273C8>]
    >>> plt.plot(np.cos(x))
    [<matplotlib.lines.Line2D object at 0x0000000022827470>]
    >>> plt.yticks ([-1,0,1],['min','0','max'])
    ([<matplotlib.axis.YTick object at 0x0000000022356AC8>, <matplotlib.axis.YTick object at 0x00000000223565F8>, <matplotlib.axis.YTick object at 0x000000001350EA58>], <a list of 3 Text yticklabel objects>)
    >>> plt.xticks ([-np.pi ,-np.pi/2,-np.pi/2 ,np.pi])
    ([<matplotlib.axis.XTick object at 0x0000000022356198>, <matplotlib.axis.XTick object at 0x000000001350ECC0>, <matplotlib.axis.XTick object at 0x000000001350E6A0>, <matplotlib.axis.XTick object at 0x00000000228374A8>], <a list of 4 Text xticklabel objects>)
    >>> plt.show()

    >>> plt.xticks ([0,157.25,157.25*2,157.25*3,157.25*4],['-$pi$','-$pi/2$','$pi/2$','$pi$'])
    ([<matplotlib.axis.XTick object at 0x0000000012F19358>, <matplotlib.axis.XTick object at 0x0000000012F190F0>, <matplotlib.axis.XTick object at 0x0000000012F19710>, <matplotlib.axis.XTick object at 0x0000000022BA5390>, <matplotlib.axis.XTick object at 0x0000000022BA5860>], <a list of 4 Text xticklabel objects>)
    >>> #用$pi$表示希腊字母π
    >>> plt.show()
    >>> #用$delta$表示希腊字母△
    >>> #用$sigma$表示希腊字母西格玛
    >>> #用$alpha$表示希腊字母α
    >>> x=np.arange(-10,10,0.1)

    >>> x=np.random.randint
    >>> x=np.random.randint(0,10,10)
    >>> plt.hist(x,normed=True,orientation='horizontal')#控制直方图的方向
    (array([0.125, 0. , 0. , 0.375, 0. , 0.25 , 0. , 0.125, 0.125,
    0.25 ]), array([0. , 0.8, 1.6, 2.4, 3.2, 4. , 4.8, 5.6, 6.4, 7.2, 8. ]), <a list of 10 Patch objects>)
    >>> plt.show()
    >>> #绘制直方图、

    #饼图


    >>> p=np.array([0.7,0.7,0.1])
    >>> plt.pie(p,labels=['dog','cat','otther'])
    ([<matplotlib.patches.Wedge object at 0x0000000020F31C50>, <matplotlib.patches.Wedge object at 0x0000000020F3E198>, <matplotlib.patches.Wedge object at 0x0000000020F3E668>], [Text(0.114981,1.09397,'dog'), Text(-0.339919,-1.04616,'cat'), Text(1.07596,-0.228703,'otther')])

    >>> plt.show()


    >>> plt.pie(p,labels=['dog','cat','otther'],autopct='%1.2f%%')
    ([<matplotlib.patches.Wedge object at 0x00000000212A2E80>, <matplotlib.patches.Wedge object at 0x00000000214455C0>, <matplotlib.patches.Wedge object at 0x0000000021445CC0>], [Text(0.114981,1.09397,'dog'), Text(-0.339919,-1.04616,'cat'), Text(1.07596,-0.228703,'otther')], [Text(0.0627171,0.596713,'46.67%'), Text(-0.18541,-0.570634,'46.67%'), Text(0.586889,-0.124747,'6.67%')])
    >>> plt.show()


    >>> #散点图
    >>> #散点图需要两个参数(x,y)
    >>> x=np.random.rand(100)
    >>> y=np.random.rand(100)

    >>> size=np.random.randint(0,100,100)
    >>> plt.scatter(x,y,color='r',s=size)#s代表大小,color可以指定颜色
    <matplotlib.collections.PathCollection object at 0x0000000020F0F5C0>

    >>> plt.show ()


    >>> #玫瑰图
    >>> #图形文字

    #text为坐标值 

     #gigtext()为相对值

    >>> #绘制3D图形
    >>> from mpl_toolkits.mplot3d.axes3d import Axes3D
    >>> x=np.linspace (0,7,0.01)
    >>> y=np.linspace (-3.5,3.5,0.01)
    >>> x=np.linspace (0,7,50)
    >>> ####################
    >>> x=np.arange(0,7,0.01)
    >>> y=np.arange(0,10,0.01)

    >>> plt.show()

    # 无数条线组成一个面 

     

     cmap可以设置颜色 

    ####################################
    >>> import pandas as np
    >>> import numpy as np
    >>> import pandas as pd
    >>> import matplotlib.pyplot as plt
    >>> from mpl_toolkits.mplot3d.axes3d import Axes3D#绘画3D图形的包
    >>> x=np.arange(1,10,0.1)
    >>> y=np.arange(1,10,0.1)
    >>> def make_z(x,y):
    return np.sin(x)+np.cos(y)

    >>> z=make_z(x,y)

    >>> #玫瑰图
    >>> def show_rose(values,title):
    n=8
    angle = np.arange(0,2*np.pi,2*np.pi/n)
    radius=np.array(values)
    #axis:轴(线,y)轴
    #axes:整个画面
    plt.axes ([0,0,1,1],polar = True)
    plt.bar(angle,radius)

    >>> v = [1,2,3,4,5,6,7,8]

    >>> show_rose(v,'test')
    >>> plt.show()

    #默认所有区块颜色一致

    >>> def show_rose(values,title):
    n=8
    angle = np.arange(0,2*np.pi,2*np.pi/n)
    radius=np.array(values)
    #axis:轴(线,y)轴
    #axes:整个画面
    plt.axes ([0,0,2,3],polar = True)#变为2*3倍
    color = np.random.random(size= 24).shape((8,3))#设置颜色
    plt.bar(angle,radius,color = color)
    plt.tilte(title,loc='left')#设置标题

    >>> def show_rose(values,title):
    n=8
    angle = np.arange(0,2*np.pi,2*np.pi/n)
    radius=np.array(values)
    #axis:轴(线,y)轴
    #axes:整个画面
    plt.axes ([0,0,2,2],polar = True)#变为2*2倍
    color = np.random.random(size= 24).reshape((8,3))#设置颜色
    plt.bar(angle,radius,color = color)
    plt.tilte(title,loc='left')#设置标题

    >>> v = [1,2,3,4,5,6,7,8]

    >>> def show_rose(values,title):
    n=8
    angle = np.arange(0,2*np.pi,2*np.pi/n)
    radius=np.array(values)
    #axis:轴(线,y)轴
    #axes:整个画面
    plt.axes ([0,0,2,2],polar = True)#变为2*2倍
    color = np.random.random(size= 24).reshape((8,3))#设置颜色
    plt.bar(angle,radius,color = color)
    plt.title(title,loc='left')#设置标题

    >>> show_rose(v,'test')
    >>> plt.show()

    #测试四周台风强度,把数据分成8份每45度为一组

  • 相关阅读:
    tableView cell 设置圆角 响应链
    iOS
    git code 初次上传
    隐藏导航栏,偏移20PX
    Mysql数据库远程连接
    umeng推送, 生产环境deviceToken失效可能原因
    KeyChainWrapper
    UIVisualEffectView(高斯模糊效果)
    UVA 11582 Colossal Fibonacci Numbers! 快速幂
    HDU 2859 Phalanx DP
  • 原文地址:https://www.cnblogs.com/henuliulei/p/9398086.html
Copyright © 2011-2022 走看看