跳至正文
View Categories

1 min read

主要内容 #

综合实战:数据可视化,了解NumPy和Matplotlib的数据分析基础包,掌握数据可视化的基本编写

6.Matplotlib的使用2 #

  • 在许多情况下,我们使用 pyplot.subplots()在一个图像上创建多个子图像,以下示例展示了使用pyplot.subplots()将上节课的折线图、柱状图、散点图,在一张图像上分三处绘制出来
  • 关于该函数的更多详细使用参照pyplot.subplots()参考手册(点击查询)
  • import matplotlib.pyplot as plt
    data = {'小明': 90, '小东': 89, '小红': 85, '小亮': 92}#每位同学的python成绩
    plt.rc('font',family='SimHei')#matplotlib的默认字体不支持中文
    names = list(data.keys())
    values = list(data.values())
    fig, axs = plt.subplots(1, 3, sharey=True,figsize=(9, 4), dpi=100)#返回figure(整张图),axs(子图形对象的numpy一维矩阵)
    #subplots()参数说明: 1->字图像行数;3->字图像列数;sharey=True每个字图像分享y坐标;figsize=(9, 4)->图像长宽单位英寸;dpi=100->分辨率
    axs[0].bar(names, values)#第一个字图像柱状图
    axs[1].scatter(names, values)#第二个字图像散点图
    axs[2].plot(names, values)#第三个字图像折线图
    fig.suptitle('大师码第三期python成绩分布图')#添加标题
    plt.show()

    7.GDP绘制示意图 #

  • 链接的data.txt文件,是世界主要经济体从1960-2017年的GDP总量数据(单位:百亿$),请下载资源文件data.txt,粘贴到当前目录——data.txt(点击下载),完成下图绘制
  • 注意其中二维numpy矩阵的切片使用,与列表基本相同
    import numpy as np
    import matplotlib.pyplot as plt
    plt.rc('font',family='SimHei')
    fig,ax=plt.subplots(dpi=100)#plt.subplots()的使用默认一个子图形
    gdplist=[]
    with open('P83_1data.txt') as data:
        for line in data:
                a=line.strip().split('\t')
                gdplist.append(a)
    gdp=np.array(gdplist)
    x=gdp[:,0]#二维矩阵取第一列
    y=gdp[:,1].astype(float)#二维矩阵取第二列
    ax.barh(x[1:],y[1:])#绘制柱状图
    #设置标题,添加文字说明
    ax.set_title('1960年世界GDP排名图(单位:百亿$)',fontsize=20)#标题
    ax.spines['top'].set_color('none')#顶部的spine颜色设置为无
    ax.spines['right'].set_color('none')#右边的spine颜色设置为无
    ax.text(4,0,"1960年", fontsize=20)#添加文字参数(4,0)表示横坐标和纵坐标
    ax.text(4,-4,"GDP总量(百亿$)", fontsize=16)
    plt.show()

    习题 #

    参照示例二,绘制世界主要经济体2017年的GDP总量数据图形
  • OJ训练题 #

    1、英雄卡 – ★
    2、选班长 – ★
    3、打字员 – ★★★
    4、购物攻略 – ★★
    5、摆积木 – ★★★