Python数据可视化分析

目录

一、利用Matplotlib库实现数据可视化

二、导入csv文件中的数据并且进行更加复杂的数据可视化


一、利用Matplotlib库实现数据可视化


1、Matplotlib库的安装
Windows+R,输入cmd启动CMD命令提示符控制器,输入指令
python pip -m install user_matplotlib
如果提示错误可考虑使用国内镜像
python pip install -i https://mirrors.aliyun.com/pypi/simple/ matplotlib
提示安装成功

Successfully installed pip-22.3.1

2、利用matplotlib实现绘制简单的图表
简单代码及注释如下

import matplotlib.pyplot as plt

x_values = range(1, 1001)  # X轴的值
y_values = [x ** 2 for x in x_values]  # Y轴的值
fig, ax = plt.subplots()  # fig画布,ax子图区域
ax.scatter(x_values, y_values, s=10, c=y_values, cmap=plt.cm.Greens)  # 绘制散点图
ax.grid(True)  # 打开网格
ax.grid(color='gray', ls='-.', lw=0.25)  # 设置网格颜色,线型,线宽
ax.set_title("Squares", fontsize=25)  # 设置图表标题
ax.set_xlabel("value", fontsize=15)  # 设置X轴标签
ax.set_ylabel("square value", fontsize=15)  # 设置Y轴标签
ax.tick_params(axis='both', labelsize=15)  # 设置刻度标签大小
ax.axis([0, 1100, 0, 1100000])  # 设置X轴坐标为0-1100,Y轴坐标为0-11000000
plt.savefig('squares_plt.png')  # 保存图片并将其命名为"squares_plt.png"
plt.show()  # 展示图表

展示效果图如下

简单代码解释
1.用import引入matplotlib.pyplot库并简写为plt
2.设定X轴数据与Y轴数据
3.创建fig画布,ax子图区域
4.利用scatter()方法绘制散点图并着色,本例中设置为依照Y值大小渐变绿色
5.打开并设置网格
6.设置图表标题,设置X轴与Y轴标签
7.设置X轴与Y轴坐标数据范围
8.保存图片并展示图表
ps:plt.savefig('squares_plt.png')一定要写在plt.show()前面,否则只会保存空白图片
其原理是plt.show()执行完毕后会生成一张新的空白图表导致plt.savefig('squares_plt.png')保存的是这张新的空白图表

二、导入csv文件中的数据并且进行更加复杂的数据可视化


1、通过csv文件记录数据
在excel中记录如下数据

时间    最高温    最低温    天气
2022-11-22    17    12    小雨
2022-11-23    16    11    多云
2022-11-24    19    11    多云
2022-11-25    18    10    阴
2022-11-26    19    10    多云
2022-11-27    21    14    多云
2022-11-28    23    15    小雨
2022-11-29    17    3    中雨
2022-11-30    2    -1    阴
2022-12-01    3    -2    阴
2022-12-02    7    0    晴
2022-12-03    7    5    小雨
2022-12-04    7    2    小雨
2022-12-05    6    0    晴
2022-12-06    9    1    阴
2022-12-07    7    6    小雨

点击“文件”=>“另存为”=>“选择位置”=>“保存类型”=>“CSV UTF-8 (逗号分隔)(*.csv)”=>“保存”即可保存此文件

2.打开csv文件读取数据并进行可视化
本例中以11月23日10时通过《天气》app获取的栖霞区近期天气情况为数据绘制相关图表

import csv
import matplotlib.pyplot as plt
from datetime import datetime

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = []
y1 = []
y2 = []
weather = []
kind = ["晴", "多云", "阴", "小雨", "中雨"]
s = [0, 0, 0, 0, 0]
with open("weather.csv", 'r', encoding='UTF-8') as csvfile:  # 打开csv文件
    reader = csv.reader(csvfile, delimiter=',')  # 读取csv文件
    header = next(reader)  # 跳过第一行
    for row in reader:
        currentDate = datetime.strptime(row[0], "%Y-%m-%d")  # 按格式读取时间
        x.append(currentDate)
        y1.append(int(row[1]))
        y2.append(int(row[2]))
        weather.append(row[3])
for i in weather:
    if i == "晴":
        s[0] = s[0] + 1
    if i == "多云":
        s[1] = s[1] + 1
    if i == "阴":
        s[2] = s[2] + 1
    if i == "小雨":
        s[3] = s[3] + 1
    if i == "中雨":
        s[4] = s[4] + 1
print(s)
fig, ax = plt.subplots()  # fig画布,ax子图区域
ax.grid(True)  # 打开网格
ax.grid(color='gray', ls='-.', lw=0.25)  # 设置网格颜色,线型,线宽
plt.plot(x, y1, label='最高温', c='pink', zorder=1)  # 绘制折线图
plt.plot(x, y2, label='最低温', c='orange', zorder=1)  # 绘制折线图
plt.scatter(x, y1, marker='*', c=y1, cmap='autumn_r', zorder=2)  # 绘制散点图作为折点标注
plt.scatter(x, y2, marker='o', c=y2, cmap='coolwarm', zorder=2)  # 绘制散点图作为折点标注
for i in range(len(x)):
    ax.text(x[i], y1[i], (y1[i]), c='steelblue', fontsize=12)  # 标注各点温度
for i in range(len(x)):
    ax.text(x[i], y2[i], (y2[i]), c='green', fontsize=12)  # 标注各点温度
plt.title("栖霞区近日天气(数据获取时间:11月23日10时)", fontsize=14)
ax.set_xlabel("日期", fontsize=10)
ax.set_ylabel("温度", fontsize=10)
fig.autofmt_xdate(rotation=45)  # 为了防止时间过长导致重叠而将其旋转45°
plt.legend()
plt.savefig('栖霞区近日天气.png')
plt.show()
fig, ax = plt.subplots()  # fig画布,ax子图区域
plt.pie(s, labels=kind, autopct="%1.2f%%", explode=[0, 0, 0, 0.1, 0])  # 非零值的饼脱离整个图
plt.title("栖霞区近日天气", fontsize=24)
plt.savefig('栖霞区近日天气饼图.png')
plt.show()

效果图如下展示

最后

三、使用Python进行数据可视化的优势分析

Python语言在数据可视化领域具有显著的优势,下面详细分析了几个方面:

  1. 简单易上手: Python语法简单易学,对初学者十分友好。代码具有良好的可读性,容易理解和维护。这使得即便是没有编程经验的人,也能够轻松入门,并快速掌握数据可视化的基本技能。在数据处理的过程中,我们通常期望数据能够转化为可运算的数字形式,Python的简洁语法使得数据处理更加直观和可操作。

  2. 丰富的生态系统: Python在数据分析、交互式计算以及数据可视化方面有着丰富的生态系统。诸如NumPy、Matplotlib、Scikit-learn、Pandas和IPython等强大的库和工具,为科学计算提供了强大支持。特别是Pandas在处理中型数据方面表现卓越,已经成为数据分析领域的核心工具,显著提高了数据分析的效率。

  3. 强大的编程能力: Python不仅仅在数据分析方面表现出色,还可以应用于爬虫、游戏开发和自动化运维等多个领域。其灵活性和通用性使得Python成为解决各类业务问题的理想选择,促进了各个业务领域之间的融合。对于数据分析从业者而言,Python的强大编程能力为处理复杂问题提供了有力支持。

  4. 人工智能应用: 在人工智能领域,Python占据着重要地位。其简洁性、丰富的库和活跃的社区为人工智能应用提供了便利。即时性对于人工智能至关重要,而Python的简洁语法和丰富的数据库使得数据提取变得轻松,为人工智能提供了高效服务。

  5. 广泛的应用领域: Python不仅在数据分析领域闪耀,还在科学研究、工程领域、Web开发等多个领域得到广泛应用。其通用性使得学习Python成为一项具有长远前景的投资。

总体而言,Python语言凭借其简单易上手、丰富的生态系统、强大的编程能力以及在人工智能领域的应用,成为数据可视化的首选工具。对于数据分析从业者和初学者而言,学习Python语言将为其提供广泛的应用场景,增加职业竞争力,是一项明智的选择。

CSDN质量分数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值