数据可视化–实验2

前言

通过python中的pandas实现柱状图、条形图、折线图完成实验。

题目要求

1、”旅游业年度数据.xls”和“旅游业统计数据.csv”是2009-2018年的旅游业统计数据,包括国内游客人数、率收入、人均消费等数据。请按照下面要求进行数据展示,并从图中分析相关数据随时间的变化趋势。(数据可视化工具可选择python、R、AI)

(1)用折线图绘制旅行社和国内旅游总花费数据。

(2)用柱状图绘制国内旅游人均消费、城镇、农村人均旅游消费。

(3)用柱状图绘制入境游客、外国人入境游客、港澳同胞入境游客、台湾同胞入境游客人次。

(4)用条形图绘制国内游客、城镇、农村游客数据。

源数据

  • 旅游业年度数据

数据库:年度数据

时间:最近10年

指标

2018年

2017年

2016年

2015年

2014年

2013年

2012年

2011年

2010年

2009年

旅行社数(个)

27939

27621

26650

26054

24944

23690

22784

20399

星级饭店总数(个)

11685

12327

12803

13293

12807

13513

13991

14237

入境游客(万人次)

14120

13948.24

13844.38

13382.04

12849.83

12907.78

13240.53

13542.35

13376.22

12647.59

外国人入境游客(万人次)

2916.53

2815.12

2598.54

2636.08

2629.03

2719.16

2711.2

2612.69

2193.75

港澳同胞入境游客(万人次)

10444.59

10456.26

10233.64

9677.16

9762.5

9987.35

10304.85

10249.48

10005.44

台湾同胞入境游客(万人次)

587.13

573

549.86

536.59

516.25

534.02

526.3

514.06

448.4

入境过夜游客(万人次)

6073.84

5926.73

5688.57

5562.2

5568.59

5772.49

5758.07

5566.45

5087.52

国内居民出境人数(万人次)

16199

14272.74

13513

12786

11659.32

9818.52

8318.17

7025

5738.65

4765.62

国内居民因私出境人数(万人次)

13581.56

12850

12172

11002.91

9197.08

7705.51

6411.79

5150.79

4220.97

国内游客(万人次)

554000

500100

444000

400000

361100

326200

295700

264100

210300

190200

国际旅游外汇收入(百万美元)

127100

123417

120000

113650

56913

51664

50028

48464

45814

39675

国内旅游总花费(亿元)

51278

45660.77

39390

34195.1

30311.86

26276.1

22706.2

19305.39

12579.77

10183.7

注:2016年含边民入境人数

数据来源:国家统计局

  • 旅游业统计数据

数据库:年度数据

时间:最近10年

指标

2018年

2017年

2016年

2015年

2014年

2013年

2012年

2011年

2010年

2009年

国内游客(百万人次)

5540

5001

4440

4000

3611

3262

2957

2641

2103

1902

城镇居民国内游客(百万人次)

3677

3195

2802

2483

2186

1933

1687

1065

903

农村居民国内游客(百万人次)

1324

1240

1188

1128

1076

1024

954

1038

999

国内旅游总花费(亿元)

51278

45660.8

39390

34195.1

30311.9

26276.1

22706.2

19305.4

12579.8

10183.7

城镇居民国内旅游总花费(亿元)

37673

32241.3

27610.9

24219.8

20692.6

17678

14808.6

9403.8

7233.8

农村居民国内旅游总花费(亿元)

7987.7

7147.8

6584.2

6092.1

5583.5

5028.2

4496.8

3176

2949.9

国内旅游人均花费(元)

913

888.2

857

839.7

805.5

767.9

731

598.2

535.4

城镇居民国内旅游人均花费(元)

1024.6

1009.1

985.5

975.4

946.6

914.5

877.8

883

801.1

农村居民国内旅游人均花费(元)

603.3

576.4

554.2

540.2

518.9

491

471.4

306

295.3

数据来源:国家统计局

编码实现

import pandas as pd
import matplotlib.pyplot as plt
import os
from utils import dataSet,showBarh,showBar,showCumsum

# 数据根目录
data_path = r'data/实验二'

if __name__ == "__main__":
    """
    读取数据
    """
    data1 = dataSet(filename="旅游业年度数据.xls")
    data2 = dataSet(filename="旅游业统计数据.csv", header=2, nrows=9, file_type="csv", encoding="GBK")
    data2 = data2.T
    data1 = data1.T

    # print(data1[["国内旅游总花费(亿元)","旅行社数(个)"]])
    """
    实验2-1-1:用折线图绘制旅行社和国内旅游总花费数据
    """
    showCumsum(
        data=data1[["国内旅游总花费(亿元)", "旅行社数(个)"]],
        im_name="实验2-1-1",
        im_title="旅行社和国内旅游总花费数据(折线图)",
        xlabel="年份",
        ylabel="数值"
    )
    """
    实验2-1-2:用柱状图绘制国内旅游人均消费、城镇、农村人均旅游消费。
    """
    showBar(
        data2[["国内旅游人均花费(元)","城镇居民国内旅游人均花费(元)","农村居民国内旅游人均花费(元)"]],
        im_name="实验2-1-2",
        im_title="居民人均消费(条形图)",
        xlabel="年份",
        ylabel="数值"
    )

    """
    实验2-1-3:用柱状图绘制入境游客、外国人入境游客、港澳同胞入境游客、台湾同胞入境游客人次。
    """
    showBar(
        data1[["入境游客(万人次)","外国人入境游客(万人次)","港澳同胞入境游客(万人次)","台湾同胞入境游客(万人次)"]],
        im_name="实验2-1-3",
        im_title="入境游客人次(条形图)",
        xlabel="年份",
        ylabel="数值"
    )
    """
    实验2-1-4:用条形图绘制国内游客、城镇、农村游客数据。
    """
    showBarh(
        data2[["国内游客(百万人次)","城镇居民国内游客(百万人次)","农村居民国内游客(百万人次)"]],
        im_name="实验2-1-4",
        im_title="入境游客人次(条形图)",
        xlabel="年份",
        ylabel="数值"
    )

    plt.show()