当前位置:   article > 正文

【大数据处理与可视化】六、数据可视化_案例——画图分析某年旅游景点数据

案例——画图分析某年旅游景点数据


实验目的

1.能够详述常见图表的类型和特点。
2.能够熟练运用Matplotlib库绘制图表。
3.能够通过借助网络资源,通过自主学习解决数据可视化中遇到的问题。


实验内容

       画图分析某年旅游景点数据:以河北省景点为例,再结合所学的图表工具,把采集到的数据绘制成图表辅助分析,以得到如下几个指标:
(1)河北省总面积和游客量位居前三的景点。
(2)河北省旅游量的占比哪个最多,哪个最少。


实验步骤

一、案例——画图分析某年旅游景点数据

1、河北省总面积和游客量位居前三的景点

       由于数据都保存在CSV文件中,所以可以用pd.read_csv()函数来读取风景名胜区.csv文件中数据。需要检查一下是否存在缺失值,使用平均值来替换缺失值,这也是处理缺失值常用的方法。将scenery_data中"省份"一列作为分组键,然后取出"河北"分组的数据。
       找出河北省占地面积和游客数量位居前三的景点.这里使用了"总面积","游客量"两列数据.为了能够直观的看到这里两列数据,使用直方图.x轴: 景点的名称y轴: 表示占地面积和游客数量从生成的条形图可以看出,接待游客数量处于前三名的景点分别是:秦皇岛北戴河,西柏坡-天戴山,娲皇宫景点占地面积前三分别是:避暑山庄外八庙,野三坡,秦皇岛北戴河。

代码:

import pandas as pd
import numpy as np
scenery_file_path=open(r'D:/fengjing.csv')
scenery_data = pd.read_csv(scenery_file_path)

area = float("{:1f}".format(scenery_data['总面积(平方公里)'].mean()))
tourist=float("{:.1}".format(scenery_data['游客量(万人次)'].mean()))
values ={"总面积(平方公里)":area,"游客量(万人次)":tourist}
scenery_data=scenery_data.fillna(value=values)

data = scenery_data.groupby("省份")
hebei_scenery=dict([x for x in data])['河北']

import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
area=hebei_scenery['总面积(平方公里)'].values
tourist = hebei_scenery['游客量(万人次)'].values

plt.figure(figsize=(12,6))
x_num = range(0,len(area))
x_dis = [i+0.3 for i in x_num]
plt.bar(x_num,area,color='g',width=.3,label='总面积')
plt.bar(x_dis,tourist,color='r',width=.3,label='游客量')
plt.ylabel('单位:平方千米/万人次')
plt.title("河北景点面积及游客量")
plt.legend(loc = 'upper right')
plt.xticks(range(0,10),['苍岩山','嶂石岩','西柏坡-天桂山','秦皇岛北戴河',
                        '响堂山','娲皇宫','太行大峡谷','崆山白云洞','野三坡','承德避暑山庄外八庙'])
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

截图:

在这里插入图片描述


2、河北省旅游量的占比哪个最多,哪个最少。

代码:

import matplotlib.pyplot as plt
every_scenery = hebei_scenery['游客量(万人次)'].values
all_scenery=hebei_scenery['游客量(万人次)'].sum()

percentage = (every_scenery/all_scenery)*100
np.set_printoptions(precision=2)
labels=['苍岩山','嶂石岩','西柏坡-天桂山','秦皇岛北戴河',
        '响堂山','娲皇宫','太行大峡谷','崆山白云洞','野三坡','承德避暑山庄外八庙']
plt.axes(aspect=1)
plt.pie(x=percentage,labels=labels,autopct='%3.2f %%',shadow=True,labeldistance=1.2,
       startangle=90,pctdistance=0.7)
plt.legend(loc='center left')
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

截图:

在这里插入图片描述


实验小结

       通过本次实验,我能够详述常见图表的类型和特点,能够熟练运用Matplotlib库绘制图表。在实验过程中遇到了很多硬件或者是软件上的问题,请教老师,询问同学,上网查资料,都是解决这些问题的途径。最终将遇到的问题一一解决最终完成实验。
注意事项:
1、有疑问前,知识学习前,先用搜索。
2、熟读写基础知识,学得会不如学得牢。
3、选择交流平台,如QQ群,网站论坛等。
4、尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/141931?site
推荐阅读
相关标签
  

闽ICP备14008679号