美文网首页
matplotlib_1

matplotlib_1

作者: Canes | 来源:发表于2020-04-21 18:32 被阅读0次

matplotlib

import matplotlib.pyplot as plt
import numpy as np

#建一个figure对象
fig = plt.figure()

#数据
arr = np.random.randn(100)

#通过add_subplot来分隔figure,在figure的不同位置上作图
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,2,3)
ax4 = fig.add_subplot(2,2,4)

#绘图
ax2.plot(arr)
ax3.plot(arr)
ax1.plot(arr)

#展现
plt.show()

图的种类

  • 直方图hist

    arr = np.random.randn(100)
    plt.plot(arr,bins=20,color='c',alpha=0.5)
    plt.show()
    
  • 散点图scatter

    arr1 = np.random.randn(100)
    arr2 = np.random.randn(100)
    plt.scatter(arr1, arr2)
    plt.show()
    
  • 柱形图bar

    x = np.arange(10)
    y1, y2 = np.random.randint(10, 50, size = (2, 10))
    # 创建一个 8 * 5大小的图,指定每个点的分辨率是100 (默认是80)
    # 最终图像大小是: 8*100 * 5*100 = 800 * 500
    fig = plt.figure(figsize = (8, 5), dpi = 100)
    ax = plt.subplot(1,1,1)
    # 宽度偏移量
    width = 0.25
    
    # x 表示柱子所在的横坐标位置, y1 表示纵坐标位置,width表示柱子的宽度(默认是0.8 英寸),color 指定黄色
    ax.bar(x, y1, width, color = 'y', alpha = 0.5)
    # x + width 表示基于原先位置增加 width偏移量(刚好是y1柱子的宽度), y2 表示纵坐标位置,color 指定红色
    ax.bar(x + width, y2, width, color='r', alpha = 0.5)
    
    # 指定 x轴标记的位置
    ax.set_xticks(x + width / 2)
    ax.set_xticklabels(['a','b','c','d','e','f','g','h','i','j'])
    plt.savefig("bar.png")
    plt.show()
    
  • imshow:具体看文档

    subplots()

    # 创建subplots(),包含 fig对象 和 所有subplot数组
    fig, subplot_arr = plt.subplots(2,2)
    

    颜色、标记和线形

    plt.plot(np.random.randint(10, 50, 20), color = "red", marker = "v", linestyle= "dashdot")
    plt.plot(np.random.randint(10, 50, 20), "rv-.")
    

    刻度、标签、图例

    fig, ax = plt.subplots(1)
    
    #设置刻度范围
    ax.set_ylim([0, 1000])
    
    #设置x轴显示的刻度值
    ax.set_yticks(range(0, 1000, 200))
    #设置y轴显示的刻度值,十二个月的英文简写
    ax.set_xticklabels(['Jan', 'Feb','Mar','Apr','May','Jun','Jul','Aug', 'Sep', 'Oct', 'Nov','Dec'])
    
    #设置x轴的标签
    ax.set_ylabel("Money")
    #设置y轴的标签
    ax.set_xlabel("Month")
    
    #设置整个绘图的title
    ax.set_title("Annual Statement")
    
    #绘图
    ax.plot(np.random.randint(300, 880, 12), label = "huangmenji", color='r')
    ax.plot(np.random.randint(300, 800, 12), label = "kaoroubanfan")
    ax.plot(np.random.randint(300, 800, 12), label = "huangqiaoshaobing")
    
    #显示图例
    ax.legend()
    #保存图片
    plt.savefig("eat.png")
    
    #显示绘图结果
    plt.show()
    

相关文章

  • matplotlib_1

    matplotlib 图的种类 直方图histarr = np.random.randn(100)plt.plot...

网友评论

      本文标题:matplotlib_1

      本文链接:https://www.haomeiwen.com/subject/glmpihtx.html