zoukankan      html  css  js  c++  java
  • 『Numpy学习指南』Matplotlib绘图

    数据生成:

     1 import numpy as np
     2 import matplotlib.pyplot as plt
     3 
     4 func = np.poly1d(np.array([1,2,3,4]))
     5 func1 = func.deriv(m=1)                 # 求一阶导数
     6 func2 = func.deriv(m=2)                 # 求二阶导数
     7 
     8 x = np.linspace(-10,10,30)
     9 y = func(x)
    10 y1 = func1(x)
    11 y2 = func2(x)
    1 '''正常绘图'''
    2 
    3 plt.plot(x,y,'ro',x,y1,'g--')
    4 plt.xlabel('x')
    5 plt.ylabel('y')
    6 plt.show()
     1 '''添加子图'''
     2 
     3 plt.subplot(311)
     4 plt.plot(x,y,c='r',linestyle='-')
     5 plt.title('Polynomial')
     6 
     7 plt.subplot(312)
     8 plt.plot(x,y1,c='b',linestyle='',marker='^')
     9 # plt.plot(x,y1,'b^')
    10 plt.title('First Derivative')
    11 
    12 plt.subplot(313)
    13 plt.plot(x,y2,c='g',linestyle='',marker='o')
    14 plt.title('Second Derivative')
    1 '''对数坐标'''
    2 
    3 plt.semilogx(x,y)  # 对x取对数
    4 plt.semilogy(x,y)  # 对y取对数
    5 plt.loglog(x,y)    # 同时取对数
     1 '''颜色填充'''
     2 
     3 fig = plt.figure()
     4 
     5 ax = fig.add_subplot(211)
     6 ax.fill_between(x,y,y1,facecolor='b')
     7 ax.grid(True)
     8 
     9 ax2 = fig.add_subplot(212)
    10 ax2.fill(x,y,facecolor='b',alpha=0.3)
    11 ax2.fill(x,y1,facecolor='g',alpha=0.3)
    12 ax2.grid(True)
    13 # plt.show()

     1 '''三维绘图'''
     2 
     3 from mpl_toolkits.mplot3d import Axes3D
     4 
     5 u = np.linspace(-1,1,100)
     6 x,y = np.meshgrid(u,u)     # 网格坐标生成函数
     7 z = x**2+y**2
     8 
     9 fig = plt.figure()
    10 ax = Axes3D(fig)
    11 # cmap = color_map,另外两个参数是瓦片步长
    12 ax.plot_surface(x,y,z,rstride=4,cstride=4,cmap='rainbow')

     1 '''三维绘等高线图'''
     2 
     3 u = np.linspace(-1,1,100)
     4 x,y = np.meshgrid(u,u)     # 网格坐标生成函数
     5 z = x**2+y**2
     6 
     7 fig = plt.figure()
     8 ax = fig.add_subplot(111)
     9 ax.contourf(x,y,z)
    10 plt.show()

  • 相关阅读:
    Cocos2Dx for XNA类解析(1): CCApplication
    struts2动态调用action的方法
    python导出依赖包
    python 字符串split()方法
    struts2使用通配符调用action
    python3重新编译
    Jquery中html()、text()、val()的使用和区别
    Javascript写在<body>和<head>中的区别
    设计模式Design Pattern(2)单例模式
    设计模式Design Pattern(1)简介
  • 原文地址:https://www.cnblogs.com/hellcat/p/6882832.html
Copyright © 2011-2022 走看看