当前位置:   article > 正文

机器学习精简教程之四——用matplotlib绘制精美的图表_matplotlib绘制散点图y=cos(2x)

matplotlib绘制散点图y=cos(2x)

本文转自:http://www.shareditor.com/blogshow/?blogId=55


绘制一元函数图像y=ax+b

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. plt.figure() # 实例化作图变量
  4. plt.title('single variable') # 图像标题
  5. plt.xlabel('x') # x轴文本
  6. plt.ylabel('y') # y轴文本
  7. plt.axis([0, 5, 0, 10]) # x轴范围0-5,y轴范围0-10
  8. plt.grid(True) # 是否绘制网格线
  9. xx = np.linspace(0, 5, 10) # 在0-5之间生成10个点的向量
  10. plt.plot(xx, 2*xx, 'g-') # 绘制y=2x图像,颜色green,形式为线条
  11. plt.show() # 展示图像

绘制正弦曲线y=sin(x)

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. plt.figure() # 实例化作图变量
  4. plt.title('single variable') # 图像标题
  5. plt.xlabel('x') # x轴文本
  6. plt.ylabel('y') # y轴文本
  7. plt.axis([-12, 12, -1, 1]) # x轴范围-12到12,y轴范围-1到1
  8. plt.grid(True) # 是否绘制网格线
  9. xx = np.linspace(-12, 12, 1000) # 在-12到12之间生成1000个点的向量
  10. plt.plot(xx, np.sin(xx), 'g-', label="$sin(x)$") # 绘制y=sin(x)图像,颜色green,形式为线条
  11. plt.plot(xx, np.cos(xx), 'r--', label="$cos(x)$") # 绘制y=cos(x)图像,颜色red,形式为虚线
  12. plt.legend() # 绘制图例
  13. plt.show() # 展示图像


绘制多轴图

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. def draw(plt):
  4. plt.axis([-12,12,-1,1])#x轴和y轴的范围
  5. plt.grid(True)#是否绘制网格线
  6. xx = np.linspace(-12,12,1000)#在-12到12之间生成1000个点的向量
  7. plt.plot(xx,np.sin(xx),'g-',label="&sin(x)$")#绘制y=sin(x)图像,颜色green,形式为线条
  8. plt.plot(xx,np.cos(xx),'r--',label="&cos(x)$")#绘制y=cos(x)图像,颜色为red,形式为虚线
  9. plt.legend()#绘制图例
  10. plt.figure()#实例化作图变量
  11. plt1 = plt.subplot(2,2,1)#两行两列中的第1张图
  12. draw(plt1)
  13. plt2 = plt.subplot(2,2,2)#两行两列中的第2张图
  14. draw(plt2)
  15. plt3 = plt.subplot(2,2,3)#两行两列中的第3张图
  16. draw(plt3)
  17. plt4 = plt.subplot(2,2,4)#两行两列中的第4张图
  18. draw(plt4)
  19. plt.show()#得将画好的图显示出来啊


绘制3D图像

  1. from mpl_toolkits.mplot3d import Axes3D
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. fig = plt.figure()
  5. ax = fig.add_subplot(1,1,1,projection='3d')
  6. theta = np.linspace(-4 * np.pi, 4 * np.pi, 500) # theta旋转角从-4pi到4pi,相当于两圈
  7. z = np.linspace(0, 2, 500) # z轴从下到上,从-2到2之间画100个点
  8. r = z # 半径设置为z大小
  9. x = r * np.sin(theta) # x和y画圆
  10. y = r * np.cos(theta) # x和y画圆
  11. ax.plot(x, y, z, label='curve')
  12. ax.legend()
  13. plt.show()


3D散点图

  1. from mpl_toolkits.mplot3d import Axes3D
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. fig = plt.figure()
  5. ax = fig.add_subplot(1,1,1,projection='3d')
  6. xx = np.linspace(0,5,10)
  7. yy = np.linspace(0,5,10)
  8. zz1 = xx
  9. zz2 = 2 *xx
  10. zz3 = 3*xx
  11. ax.scatter(xx,yy,zz1,c='red',marker='o')#o型符号
  12. ax.scatter(xx,yy,zz2,c='green',marker='^')#三角型符号
  13. ax.scatter(xx,yy,zz3,c='black',marker='*')#星型符号
  14. ax.legend()
  15. plt.show()


绘制3D表面

  1. from mpl_toolkits.mplot3d import Axes3D
  2. from matplotlib import cm
  3. from matplotlib.ticker import LinearLocator, FormatStrFormatter
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. fig = plt.figure()
  7. ax = fig.gca(projection='3d')
  8. X = np.arange(-5, 5, 0.25)
  9. Y = np.arange(-5, 5, 0.25)
  10. X, Y = np.meshgrid(X, Y)
  11. Z = X**2+Y**2
  12. ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm, linewidth=0, antialiased=False)
  13. plt.show()



声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/181868
推荐阅读
相关标签
  

闽ICP备14008679号