Day3.数据可视化-- 可视化基础

可视化主要是以图像来展示数据间的关系,常见的图形种类有折线图,散点图,条形图,直方图,饼图。此外在接下来课程中还会用到箱线图,热力图,蜘蛛图,表示二元变量分布和成对关系的视图。学好可视化,不仅要会画图,更要梳理数据见的关系,以合适的方式将数据通过图形表达出来。

今天我们要来了解折线图,散点图,条形图,直方图,饼图和器特点。认识Matplotlib的图像结构,并以Matplotlib绘制折线图为例来掌握设置辅助显示层;此外,用Matplotlob设置辅助显示层,内容还增添拓展部份,平时用到的不是很多,作为了解即可。

常见图像

  • 折线图:以折线的上升或下降来表示统计数量的增减变化的统计图

    特点:能够显示数据的变化趋势,反映事物的变化情况。(变化)

  • 散点图(Scatter):用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。

    特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)

  • 条形图:排列在工作表的列或行中的数据可以绘制到柱状图中。

    特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。(统计/对比)

  • 直方图(Histogram):由一系列高度不等的纵向条纹或线段表示数据分布的情况。一般用横轴表示数据范围,纵轴表示分布情况。

    特点:绘制连续性的数据展示一组或者多组数据的分布状况(统计)

  • 饼图(pie):用于表示不同分类的占比情况,通过弧度大小来对比各种分类。

    特点:分类数据的占比情况(占比)

Matplotlib画图基础

  第一天我们介绍过Matplotlib,它是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形。只需几行代码即可生成绘图,直方图,条形图,散点图等。

Matplotlib画图的简单实现

# 导入模块
import matplotlib.pyplot as plt
# 在jupyter中执行的时候显示图片
#matplotlib inline
# 传入x和y, 通过plot画图
plt.plot([3, 1, 7], [4, 5, 6])
# 在执行程序的时候展示图形
plt.show()

传入x和y时,括号中的第一个列表是x轴上的值,第二个列表是y上的值。

运行结果:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
我可以帮您解决关于Python的问题,但是您提出的问题涉及到数据处理和可视化,需要使用Python的相关库进行实现。以下是您提出的问题的解答: (1)读取 PRSA_ data 2010.1.1-2014.12.31.csx 文件并查看前3行、后2行代码: ```python import pandas as pd data = pd.read_csv('PRSA_data_2010.1.1-2014.12.31.csv') print(data.head(3)) # 查看前3行 print(data.tail(2)) # 查看后2行 ``` (2)删除列 DEWP、TEMP、PRES、cbwd、Iws、Is、Ir,并将剩余列用 pandas 数据预处理模块将缺失值丢弃处理,并导出到新的 csv 文件 pm25_ data 2010.1.1-2014.12.31.csv。 ```python data = data.drop(columns=['DEWP', 'TEMP', 'PRES', 'cbwd', 'Iws', 'Is', 'Ir']) data = data.dropna() # 删除缺失值 data.to_csv('pm25_data_2010.1.1-2014.12.31.csv', index=False) # 导出为新的 csv 文件 ``` (3)选择字段 pm2.5 大于300的所有数据集,导出为文本文件 pm25_hazardous_data_2010.1.1-2014.12.31.txt。 ```python hazardous_data = data[data['pm2.5'] > 300] hazardous_data.to_csv('pm25_hazardous_data_2010.1.1-2014.12.31.txt', sep=',', index=False, header=False, line_terminator='\n') ``` (4)将文本文件 pm25_hazardous_data_2010.1.1-2014.12.31.txt 转存到 Excel 文件 pm25_hazardous_data_2010.1.1-2014.12.31.xlsx。 ```python hazardous_data = pd.read_csv('pm25_hazardous_data_2010.1.1-2014.12.31.txt', header=None) hazardous_data.to_excel('pm25_hazardous_data_2010.1.1-2014.12.31.xlsx', index=False, header=False) ``` (5)重新读取文本文件 pm25_hazardous_data_2010.1.1-2014.12.31.txt,分别统计出现最多的 month、day、hour,并将 month、day、hour 的出现频次用柱状图显示,并将结果保存为 png 图片保存,分辨率为 400 dpi,png 图片命名分别为 pm25_hazardous_month_day_hour.png。 ```python import matplotlib.pyplot as plt hazardous_data = pd.read_csv('pm25_hazardous_data_2010.1.1-2014.12.31.txt', header=None, names=['year', 'month', 'day', 'hour', 'pm2.5']) month_count = hazardous_data['month'].value_counts() day_count = hazardous_data['day'].value_counts() hour_count = hazardous_data['hour'].value_counts() fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(15, 5)) month_count.plot(kind='bar', ax=ax1, color='r') ax1.set_xlabel('Month') ax1.set_ylabel('Frequency') ax1.set_title('PM2.5 Hazardous Month Count') ax1.set_xticklabels(month_count.index, rotation=0) day_count.plot(kind='bar', ax=ax2, color='g') ax2.set_xlabel('Day') ax2.set_ylabel('Frequency') ax2.set_title('PM2.5 Hazardous Day Count') ax2.set_xticklabels(day_count.index, rotation=0) hour_count.plot(kind='bar', ax=ax3, color='b') ax3.set_xlabel('Hour') ax3.set_ylabel('Frequency') ax3.set_title('PM2.5 Hazardous Hour Count') ax3.set_xticklabels(hour_count.index, rotation=0) plt.savefig('pm25_hazardous_month_day_hour.png', dpi=400) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值