美文网首页
Matplotlib绘制基本图形

Matplotlib绘制基本图形

作者: 敢梦敢当 | 来源:发表于2017-12-14 17:26 被阅读0次

    1 绘制普通图像

    2 绘制柱状图

    3 绘制散点图

    (1)绘制普通图像

    demo1

    import matplotlib.pyplot as plt
    import numpy as np
    
    # 绘制普通图像
    x = np.linspace(-1, 1, 50)
    y = 2 * x + 1
    plt.plot(x, y)
    plt.show()
    
    # 绘制普通图像
    y = x**2
    plt.plot(x, y)
    plt.show()
    

    结果


    2017-12-14 16-30-36 的屏幕截图.png

    demo2

    # figure的使用
    x = np.linspace(-1, 1, 50)
    y1 = 2 * x + 1
    
    # figure 1
    plt.figure()
    plt.plot(x, y1)
    
    
    # figure 2
    y2 = x**2
    plt.figure()
    plt.plot(x, y2)
    
    
    # figure 3,指定figure的编号并指定figure的大小, 指定线的颜色, 宽度和类型
    y2 = x**2
    plt.figure(num = 5, figsize = (4, 4))
    plt.plot(x, y1)
    plt.plot(x, y2, color = 'red', linewidth = 1.0, linestyle = '--')
    plt.show()
    

    结果


    2017-12-14 16-41-46 的屏幕截图.png
    2017-12-14 16-41-56 的屏幕截图.png

    demo3 设置坐标轴

    import matplotlib.pyplot as plt
    import numpy as np
    
    # 绘制普通图像
    x = np.linspace(-1, 1, 50)
    y1 = 2 * x + 1
    y2 = x**2
    
    plt.figure()
    plt.plot(x, y1)
    plt.plot(x, y2, color = 'red', linewidth = 1.0, linestyle = '--')
    
    # 设置坐标轴的取值范围
    plt.xlim((-1, 1))
    plt.ylim((0, 2))
    
    # 设置坐标轴的lable
    plt.xlabel('X axis')
    plt.ylabel('Y axis')
    
    # 设置x坐标轴刻度, 原来为0.25, 修改后为0.5
    plt.xticks(np.linspace(-1, 1, 5))
    # 设置y坐标轴刻度及标签, $$是设置字体
    plt.yticks([0, 0.5], ['$minimum$', 'normal'])
    
    plt.show()
    

    结果


    2017-12-14 16-48-27 的屏幕截图.png

    demo4 设置legend图例

    import matplotlib.pyplot as plt
    import numpy as np
    
    # 绘制普通图像
    x = np.linspace(-1, 1, 50)
    y1 = 2 * x + 1
    y2 = x**2
    
    plt.figure()
    # 在绘制时设置lable, 逗号是必须的
    l1, = plt.plot(x, y1, label = 'line')
    l2, = plt.plot(x, y2, label = 'parabola', color = 'red', linewidth = 1.0, linestyle = '--')
    
    # 设置坐标轴的取值范围
    plt.xlim((-1, 1))
    plt.ylim((0, 2))
    
    # 设置坐标轴的lable
    plt.xlabel('X axis')
    plt.ylabel('Y axis')
    
    # 设置x坐标轴刻度, 原来为0.25, 修改后为0.5
    plt.xticks(np.linspace(-1, 1, 5))
    # 设置y坐标轴刻度及标签, $$是设置字体
    plt.yticks([0, 0.5], ['$minimum$', 'normal'])
    
    # 设置legend
    plt.legend(handles = [l1, l2,], labels = ['a', 'b'], loc = 'best')
    plt.show()
    

    结果:


    2017-12-14 17-03-34 的屏幕截图.png

    (2)绘制柱状图

    demo1基本柱状图

    import matplotlib.pyplot as plt
    
    data = [5, 20, 15, 25, 10]
    
    plt.bar(range(len(data)), data)
    plt.show()
    

    结果


    2017-12-14 17-06-32 的屏幕截图.png

    plt.bar 函数签名为:
    bar(left, height, width=0.8, bottom=None, **kwargs)
    事实上,left,height,width,bottom这四个参数确定了柱体的位置和大小。默认情况下,left为柱体的居中位置(可以通过align参数来改变left值的含义

    demo2设置柱体样式

    通过 facecolor(或fc) 关键字参数可以设置柱体颜色,例如:

    import matplotlib.pyplot as plt
    
    data = [5, 20, 15, 25, 10]
    
    plt.bar(range(len(data)), data, fc='g')
    plt.show()
    
    2017-12-14 17-16-27 的屏幕截图.png

    通过 color 关键字参数 可以一次性设置多个颜色,例如:

    import matplotlib.pyplot as plt
    
    data = [5, 20, 15, 25, 10]
    
    plt.bar(range(len(data)), data, color='rgb') # or `color=['r', 'g', 'b']`
    plt.show()
    
    2017-12-14 17-17-00 的屏幕截图.png

    demo3 设置tick label

    import matplotlib.pyplot as plt
    
    data = [5, 20, 15, 25, 10]
    labels = ['Tom', 'Dick', 'Harry', 'Slim', 'Jim']
    
    plt.bar(range(len(data)), data, tick_label=labels)
    plt.show()
    

    file:///home/tong/%E5%9B%BE%E7%89%87/2017-12-14%2017-18-17%20%E7%9A%84%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png

    demo3 并列柱状图

    import numpy as np
    import matplotlib.pyplot as plt
    
    size = 5
    x = np.arange(size)
    a = np.random.random(size)
    b = np.random.random(size)
    c = np.random.random(size)
    
    total_width, n = 0.8, 3
    width = total_width / n
    x = x - (total_width - width) / 2
    
    plt.bar(x, a,  width=width, label='a')
    plt.bar(x + width, b, width=width, label='b')
    plt.bar(x + 2 * width, c, width=width, label='c')
    plt.legend()
    plt.show()
    
    2017-12-14 17-19-00 的屏幕截图.png

    (3)绘制散点图

    demo1

    import numpy as np
    import matplotlib.pyplot as plt
    N = 1000
    x = np.random.randn(N)
    y = np.random.randn(N)
    plt.scatter(x, y)
    plt.show()
    
    2017-12-14 17-23-31 的屏幕截图.png

    demo2

    import numpy as np
    import matplotlib.pyplot as plt
    N = 1000
    x = np.random.randn(N)
    y = np.random.randn(N)
    color = ['r','y','k','g','m']
    plt.scatter(x, y,c=color,marker='>')
    plt.show()
    
    2017-12-14 17-24-35 的屏幕截图.png

    demo3

    alpha:标量,可选,默认值:无, 0(透明)和1(不透明)之间的alpha混合值

    import numpy as np
    import matplotlib.pyplot as plt
    N = 1000
    x = np.random.randn(N)
    y = np.random.randn(N)
    plt.scatter(x, y,alpha=0.5)
    plt.show()
    
    2017-12-14 17-25-03 的屏幕截图.png

    相关文章

      网友评论

          本文标题:Matplotlib绘制基本图形

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