【大数据处理与可视化】六、数据可视化

该实验通过Python的Matplotlib库对河北省旅游景点的数据进行可视化分析,包括绘制景点的占地面积和游客量的条形图,以及各景点游客量占比的饼图。实验旨在掌握常见图表类型和特点,提升数据可视化技能,解决实际问题。
摘要由CSDN通过智能技术生成


实验目的

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()

截图:

在这里插入图片描述


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()

截图:

在这里插入图片描述


实验小结

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

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慢热型网友.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值