第二章 使用matplotlib绘制简单图表

2023-12-15 11:40:36

2.1 绘制折线图

  1. 使用plot()绘制折线图

    使用pyplot的plot()函数可以快速绘制折线图。

    plot(x,y,fmt,scalex=True,scaley=True,data=None,label=None,*args,**kwargs)

    该函数常用参数的含义如下:

    x:表示x轴的数据

    y:表示y轴的数据

    fmt:表示快速设置线条样式的格式字符串

    label:表示应用于图例的标签文本

  2. 显示未来15天的最高温和最低温

# 使用numpy库和matplotlib库绘制简单的直线图
import numpy as np
import matplotlib.pyplot as plt

def three():
    # 生成一个[4,19)之间的区间序列
    x=np.arange(4,19)
    # 每天的最高温度
    y_max=np.array([32,33,34,34,33,31,30,29,30,29,26,23,21,25,31])
    # 每天的最低温度
    y_min=np.array([19,19,20,22,22,21,22,16,18,18,17,14,15,16,16])
    # 绘制最高温度折线图
    plt.plot(x,y_max)
    # 绘制最低温度折线图
    plt.plot(x,y_min)
    # 显示折线图
    plt.show()
if __name__=="__main__":
    three()

2.2 绘制柱形图或堆积柱形图

  1. 使用bar()绘制柱形图或堆积柱形图

    使用pyplot的bar()函数可以快速绘制柱形图或堆积柱形图。

    bar(x,height,width=0.8,bottom=None,align='center',data=None,tick_label=None,xerr=None,yerr=None,error_kw=None,**kwargs)

    该函数常用参数的含义如下:

    x:表示柱形的x坐标值

    height:表示柱形的高度

    width:表示柱形的宽度,默认为0.8

    bottom:表示柱形底部的y坐标值,默认为0

    align:表示柱形的对齐方式,有‘center’和‘edge’两个取值,其中‘center’表示将柱形与刻度线居中对齐;‘edge’表示将柱形的左边与刻度线对齐

    tick_label:表示柱形对应的刻度标签

    xerr,yerr:若未设为None,则需要为柱形图添加水平/垂直误差棒

    error_kw:表示误差棒的属性字典,字典的键对应errorbar()函数的关键字参数

    # 使用numpy库和matplotlib库绘制简单的直线图
    import numpy as np
    import matplotlib.pyplot as plt
    def four():
        # x轴生成0-4的刻度
        x=np.arange(5)
        # y轴生成数据
        y=np.array([10,8,7,11,13])
        # 设置柱形图的宽度
        bar_width=0.3
        #绘制柱形图,x轴的刻度以a-e进行显示
        plt.bar(x,y,tick_label=['a','b','c','d','e'],width=bar_width)
        # 展示柱形图
        plt.show()

绘制多组柱形图

# 使用numpy库和matplotlib库绘制简单的直线图
import numpy as np
import matplotlib.pyplot as plt
def four1():
    # x轴生成0-4的刻度
    x=np.arange(5)
    # y轴生成数据
    y1=np.array([10,8,7,11,13])
    y2 = np.array([9, 10, 4, 13, 11])
    # 设置柱形图的宽度
    bar_width=0.3
    #绘制柱形图,x轴的刻度以a-e进行显示
    plt.bar(x,y1,tick_label=['a','b','c','d','e'],width=bar_width)
    #在第一组柱形图后面绘制第二组柱形图
    plt.bar(x+bar_width,y2,width=bar_width)
    # 展示柱形图
    plt.show()

绘制堆积柱形图

# 使用numpy库和matplotlib库绘制简单的直线图
import numpy as np
import matplotlib.pyplot as plt
def five():
    # x轴生成0-4的刻度
    x = np.arange(5)
    # y轴生成数据
    y1 = np.array([10, 8, 7, 11, 13])
    y2 = np.array([9, 10, 4, 13, 11])
    # 设置柱形图的宽度
    bar_width = 0.3
    # 绘制柱形图,x轴的刻度以a-e进行显示
    plt.bar(x, y1, tick_label=['a', 'b', 'c', 'd', 'e'], width=bar_width)
    # 在第一组柱形图上面绘制第二组柱形图
    plt.bar(x,y2,bottom=y1,width=bar_width)
    # 展示柱形图
    plt.show()

带有误差棒的堆积柱形图

# 使用numpy库和matplotlib库绘制简单的直线图
import numpy as np
import matplotlib.pyplot as plt
def five():
    # x轴生成0-4的刻度
    x = np.arange(5)
    # y轴生成数据
    y1 = np.array([10, 8, 7, 11, 13])
    y2 = np.array([9, 10, 4, 13, 11])
    # 设置误差值
    error=[2,1,2.5,2,1.5]
    # 设置柱形图的宽度
    bar_width = 0.3
    # 绘制柱形图,x轴的刻度以a-e进行显示
    plt.bar(x, y1, tick_label=['a', 'b', 'c', 'd', 'e'], width=bar_width)
    # 在第一组柱形图上面绘制第二组柱形图
    plt.bar(x,y2,bottom=y1,width=bar_width,yerr=error)
    # 展示柱形图
    plt.show()

2. 绘制出某电商平台的年度收入报表

# 使用numpy库和matplotlib库绘制简单的直线图
import numpy as np
import matplotlib.pyplot as plt
def six():
    # x轴上生成1-7的刻度
    x=np.arange(1,8)
    # 定义每年的年收入
    y=np.array([10770,16780,24440,30920,37670,48200,57270])
    #绘制柱形图
    plt.bar(x,y,tick_label=["Y2013","Y2014","Y2015","Y201

文章来源:https://blog.csdn.net/u010321564/article/details/135011111
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。