关于简单的数据可视化

1. 安装数据可视化必要的openpyxl、pandas,matplotlib等软件包

使用清华源,命令如下:

python 复制代码
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn pandas

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn matplotlib

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn openpyxl

安装成功后,可以进入下一步。

2. 这里新建一个Excel表格方便说明一下:

python 复制代码
# 导包
import openpyxl
# 创建工作簿
workbook = openpyxl.Workbook()
# 选择默认的活动工作表
sheet = workbook.active
# 添加数据
data = [
        ['Name','Age','Gender'],
        ['Mike','25','Male'],
        ['Alice','26','Female'],
        ['Bob','25','Male'],
        ['John','29','Male'],
        ['Charlie','30','Male'],
        ['Anna','25','Female'],
        ]
for row in data:
    sheet.append(row)
# 保存工作簿到文件,完成创建
workbook.save("demo.xlsx")

运行代码生成如下表格:

3. 对性别进行可视化操作--绘制饼图:

python 复制代码
# 导包
import pandas as pd
import matplotlib.pyplot as plt

# 读取Excel文件
df = pd.read_excel("demo.xlsx")

# 统计性别的数量
gender_counts = df['Gender'].value_counts()

# 提取性别作为标签
genders = gender_counts.index.tolist()

# 数据可视化 - 性别分布饼图
fig, ax = plt.subplots()
# pie函数用来绘制饼图
ax.pie(gender_counts, labels=genders, autopct='%1.1f%%', startangle=90)
ax.axis('equal')  # 确保饼图为正圆形
plt.title('Gender Distribution')
plt.show()

运行结果如下图所示:

4. 对姓名和年龄进行可视化操作--绘制柱状图:

python 复制代码
# 导包
import pandas as pd
import matplotlib.pyplot as plt

# 读取Excel文件
file_path = 'demo.xlsx'  # 请将这里替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')

# 查看表格数据
print(df.head())

# 绘制年龄的条形图
plt.figure(figsize=(10, 5))
plt.bar(df['Name'], df['Age'])
# x轴 y轴命名
plt.xlabel('Name')
plt.ylabel('Age')
# 表名
plt.title('Age by Name')
plt.legend(["Number"], loc='upper right')  # 添加图例,标注柱状图表示的是"Number"
plt.show()

运行结果如下:

或者也可以根据单列(这里以年龄为横坐标)绘制柱状图:

python 复制代码
# 导包
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# 读取Excel表
file_path = 'demo.xlsx'  # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')
plt.figure(figsize=(10, 10))
sns.displot(df['Age'])
plt.title('Age Distribution')
# 如果出现title显示不全,使用tight_layout函数即可
plt.tight_layout() 
plt.show()

5. 对表格数据进行可视化操作--生成散点图:

python 复制代码
# 导包
import pandas as pd
import matplotlib.pyplot as plt

# 读取Excel文件
file_path = 'demo.xlsx'  # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')

# 确保数据包含'Name', 'Age', 和 'Gender'列
if 'Name' in df.columns and 'Age' in df.columns and 'Gender' in df.columns:
    # 创建散点图
    plt.scatter(df['Age'], df['Name'])
    plt.xlabel('Age')
    plt.ylabel('Name')
    plt.title('Scatter Plot')
    plt.show()
else:
    print("数据表中缺少'Name', 'Age', 或 'Gender'列。")

运行结果如下:

6. 对年龄数据进行可视化操作--绘制箱线图:

python 复制代码
# 导包
import pandas as pd
import matplotlib.pyplot as plt

# 读取Excel文件
file_path = 'demo.xlsx'  # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')

# 绘制箱线图
plt.figure(figsize=(10, 5))
plt.boxplot(df['Age'])
plt.title('Box Plot of Age')
plt.xlabel('Name')
plt.ylabel('Age')
plt.show()

运行结果如下:

7. 对年龄数据进行可视化操作--绘制折线图:

python 复制代码
import matplotlib.pyplot as plt
import pandas as pd
# 读取Excel表
file_path = 'demo.xlsx'  # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')
# 绘制折线图
plt.plot(df['Age'])
plt.title('Line Plot')
plt.xlabel('Time')
plt.ylabel('Age')
plt.show()

运行结果如下:

如果想对多个变量进行折线图的绘制,只需要将x轴和y轴的数据列替换为相应的列名即可。

这里绘制Gender和Age之间的关系折线图(不太恰当,为了举例):

python 复制代码
plt.plot(df['Gender'], df['Age'])
plt.title('Gender vs Age Line Plot')
plt.xlabel('Gender')
plt.ylabel('Age')
plt.show()

8. 对年龄数据进行可视化操作--绘制直方图:

python 复制代码
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 读取Excel表
file_path = 'demo.xlsx'  # 将文件名替换为你的Excel文件的路径
df = pd.read_excel(file_path, engine='openpyxl')

# 绘制直方图  bins参数指定了直方图的柱子数量
sns.distplot(df['Age'], bins=20)
plt.title('Age Distribution')
plt.show()

结果如下:

相关推荐
wuyk5558 小时前
PyQt6-第15讲-数据可视化QChart
python·ui·信息可视化·pyqt
Highcharts.js2 天前
智能数据分析组件Orbit 正式发布与快速上手体验教程
前端·人工智能·信息可视化·数据分析系统·highcharts·orbit·智能可视化
lisw052 天前
互联网上的数据结构可视化!
数据结构·信息可视化
Elastic 中国社区官方博客3 天前
基于 Elasticsearch 与 Jina AI 的全模态智能搜索实践:技术全解析
大数据·人工智能·elasticsearch·搜索引擎·ai·信息可视化·jina
Teable任意门互动4 天前
破解多平台数据不通!江浙沪跨境电商外贸业务私有化部署方案|任意门互动科技
大数据·人工智能·科技·信息可视化·信息与通信
工业HMI实战笔记5 天前
皮革加工HMI:制革鞣制的化工参数界面
信息可视化·设计规范·设计语言
IT研究室5 天前
最新大数据毕业设计选题推荐-基于大数据的Medicaid GLP-1药物利用与支出数据可视化分析-大数据-Spark-Hadoop-Bigdata
大数据·信息可视化·课程设计
雨晨源码(同名B站)5 天前
深度学习毕业设计选题推荐:基于卷积神经网络的无人机影像建筑裂缝裂纹检测分类与分割系统(LeNet-5 二分类模型、GCN-Res50分割模型)
深度学习·信息可视化·分类·cnn·毕业设计·无人机·课程设计
龙亘川6 天前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
新中地GIS开发老师6 天前
资源与环境(地理信息工程)这个专业怎么样
考研·信息可视化·资源与环境