当前位置: 首页 > news >正文

上位机知识篇---Python数据图表可视化


文章目录

  • 前言
  • 第一部分:Matplotlib
    • 1. 图形和轴(Figure and Axes)
      • Figure
      • Axes
        • 创建一个新的图形
        • 在图形中添加一个或多个轴
    • 2. 绘图命令
      • 绘制折线图
      • 绘制散点图
      • 绘制条形图
      • 绘制饼图
      • 绘制直方图
      • 等高线图(Contour plot)
        • (1)导入库
        • (2)创建数据
        • (3)绘制等高线图
    • 3. 设置图表属性
      • 标题和标签
      • 图例
      • 限制
      • 网格
    • 4. 保存图表
    • 5. 显示图表
    • 6. 子图(Subplots)
    • 7. 风格和样式
    • 8. 注释和文本
  • 第二部分:Seaborn
    • 1.基本操作:
      • (1)绘制分布图:
      • (2)绘制热力图:
  • 第三部分:Pandas Plotting
    • 1.基本操作:
  • 第四部分:Plotly
    • 1.基本操作:
      • 绘制交互式散点图:
  • 第四部分:DataFrame
    • 1. DataFrame 的结构
      • (1)行
      • (2)列
      • (3)索引
      • (4)数据类型
    • 2. 创建 DataFrame
      • (1)从列表或数组创建
      • (2)从字典创建
      • (3)从电子表格文件(如 Excel)创建
      • (4)从 CSV 文件创建
    • 3. DataFrame 的属性
      • index
      • columns
      • values
      • shape
    • 4. DataFrame 的方法
      • head
      • tail
      • describe
      • info
      • sort_values
      • groupby
      • merge()、join()
      • append()
      • drop()
      • loc[]、iloc[]
      • at[]、iat[]
      • plot()
    • 5. DataFrame 的数据访问和操作
    • 6. DataFrame 的数据类型转换
    • 7. 示例
  • 总结


前言

以上就是今天要讲的内容,本文仅仅简单介绍了Python中的数据可视化库及其相应的操作,同时详细介绍了DataFrame数据格式。


第一部分:Matplotlib

Matplotlib是一个非常流行的Python绘图库,它提供了丰富的绘图功能。
和matlab中绘图功能又异曲同工之妙,感兴趣可以自行学习matlab绘图相关知识。

1. 图形和轴(Figure and Axes)

Figure

Figure: 整个图形(包括所有的轴、图例、标题等)。

Axes

Axes: 图形中的一个单独的绘图区域,包含数据、标签、标题等。
创建图形和轴:

import matplotlib.pyplot as plt
创建一个新的图形
fig = plt.figure()
在图形中添加一个或多个轴

ax1 = fig.add_subplot(1, 1, 1) # 1行1列的第一个子图

2. 绘图命令

绘制折线图

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])

绘制散点图

plt.scatter([1, 2, 3, 4], [1, 4, 9, 16])

绘制条形图

plt.bar([1, 2, 3, 4], [1, 4, 9, 16])

绘制饼图

plt.pie([1, 2, 3, 4], labels=['A', 'B', 'C', 'D'])

绘制直方图

plt.hist([1, 2, 2, 3, 3, 3, 4, 4, 4, 4])

等高线图(Contour plot)

(1)导入库
import numpy as np
(2)创建数据
x = np.linspace(-3, 3, 100)
y = np.linspace(-3, 3, 100)
X, Y = np.meshgrid(x, y)
Z = np.exp(-X**2 - Y**2)
(3)绘制等高线图
plt.contour(X, Y, Z)

3. 设置图表属性

标题和标签

plt.title('Example Plot')
plt.xlabel('X axis label')
plt.ylabel('Y axis label')

图例

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], label='Line 1')
plt.legend()

限制

plt.xlim(0, 5)
plt.ylim(0, 10)

网格

plt.grid(True)

4. 保存图表

plt.savefig('plot.png')

5. 显示图表

plt.show()

6. 子图(Subplots)

创建多个子图

fig, axs = plt.subplots(2, 2)  # 2行2列的子图
axs[0, 0].plot([1, 2, 3, 4], [1, 4, 9, 16])

7. 风格和样式

Matplotlib 允许你自定义图表的风格和样式。
自定义线条的样式、颜色、标记
使用样式表

plt.style.use('ggplot')  # 使用ggplot样式

自定义线条样式

plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro--')  # 红色虚线带圆圈标记

8. 注释和文本

在图表中添加文本和注释。

plt.text(1, 4, 'Text at (1, 4)')
plt.annotate('Annotation', xy=(2, 8), xytext=(3, 10),arrowprops=dict(facecolor='black', shrink=0.05))

Matplotlib 的功能非常丰富,这里仅介绍了最常用的部分。对于更高级的定制,如添加自定义形状、使用不同的坐标系统等,Matplotlib 也提供了相应的接口和方法。Matplotlib 的官方文档非常全面,是学习和参考的好资源。

第二部分:Seaborn

Seaborn是基于Matplotlib的更高级的绘图库,专为统计绘图设计

1.基本操作:

导入库:

import seaborn as sns

(1)绘制分布图:

sns.distplot([1, 2, 3, 4, 5])
plt.show()

(2)绘制热力图:

data = [[1, 2], [3, 4]]
sns.heatmap(data)
plt.show()

由于并不常用,因此不做详细介绍,感兴趣可以自行查找学习。

第三部分:Pandas Plotting

Pandas库也提供了绘图功能,可以直接在DataFrame上操作。

1.基本操作:

导入库:

import pandas as pd

绘制DataFrame的线图:

df = pd.DataFrame({'x': [1, 2, 3, 4], 'y': [1, 4, 9, 16]})
df.plot(x='x', y='y')
plt.show()

第四部分:Plotly

Plotly是一个交互式图表库,可以创建交互式图表。

1.基本操作:

导入库:

import plotly.express as px

绘制交互式散点图:

fig = px.scatter(df, x='x', y='y')
fig.show()

由于并不常用,因此简单介绍,感兴趣可以自行查询相关知识。

总结
这些库提供了广泛的绘图功能,从简单的折线图和条形图复杂的热力图和**交互式图表。**每个库都有其特定的用途和优势,你可以根据需要选择合适的库来创建图表。在数据分析和可视化中,绘图是一个非常重要的工具,可以帮助我们更好地理解和解释数据。

第四部分:DataFrame

DataFrame 是 Pandas 库中的一个核心数据结构,用于以表格的形式存储和操作数据。它类似于 Excel 表、SQL 表或 R 的数据框。DataFrame 是一个二维标记数据结构,具有以下特点:

1. DataFrame 的结构

(1)行

行(Rows):DataFrame 的每一行代表一个记录。

(2)列

列(Columns):DataFrame 的每一列代表一个字段。

(3)索引

索引(Index):每行都有一个唯一的索引标签,用于标识和访问数据。

(4)数据类型

数据类型(Data Types):每列都有一种数据类型,但不同的列可以有不同的数据类型。

2. 创建 DataFrame

可以通过多种方式创建 DataFrame,以下是一些常见的方法:

(1)从列表或数组创建

import pandas as pddata = [['Tom', 10], ['Nick', 15], ['John', 12]]
df = pd.DataFrame(data, columns=['Name', 'Age'])

(2)从字典创建

data = {'Name': ['Tom', 'Nick', 'John'], 'Age': [10, 15, 12]}
df = pd.DataFrame(data)

(3)从电子表格文件(如 Excel)创建

df = pd.read_excel('data.xlsx')

(4)从 CSV 文件创建

df = pd.read_csv('data.csv')

3. DataFrame 的属性

index

df.index:获取 DataFrame 的行索引。

columns

df.columns:获取 DataFrame 的列名。

values

df.values:获取 DataFrame 的值,以二维数组的形式。

shape

df.shape:获取 DataFrame 的形状(行数,列数)。

4. DataFrame 的方法

DataFrame 提供了大量的方法来操作数据:

head

df.head(n):查看 DataFrame 的前 n 行。

tail

df.tail(n):查看 DataFrame 的后 n 行。

describe

df.describe():提供 DataFrame 的统计摘要。

info

df.info():显示 DataFrame 的基本信息

sort_values

df.sort_values(by=‘column’):按指定列排序

groupby

df.groupby(‘column’):按指定列进行分组

merge()、join()

df.merge()、df.join():合并数据。

append()

df.append():向 DataFrame 添加行。

drop()

df.drop():删除指定的行或列

loc[]、iloc[]

df.loc[]、df.iloc[]:基于标签或整数位置选择数据。

at[]、iat[]

df.at[]、df.iat[]:快速访问单个标量。

plot()

df.plot():绘制图表。

5. DataFrame 的数据访问和操作

DataFrame 允许你通过多种方式访问和操作数据:

通过**列名**访问列:df['column_name']
通过**索引**访问行:df.loc[index_label]
通过**整数位置**访问行和列:df.iloc[row_position, column_position]

6. DataFrame 的数据类型转换

可以使用 astype() 方法转换 DataFrame 的数据类型:

df['column_name'] = df['column_name'].astype('desired_data_type')

7. 示例

以下是一个简单的 DataFrame 示例:

       Name  Age
0      Tom   10
1     Nick   15
2     John   12

在这个示例中,Name 和 Age 是列名,0、1 和 2 是行索引。

DataFrame 是一个非常灵活和强大的工具,适用于各种数据处理和分析任务。它提供了丰富的接口和方法,使得数据处理变得简单高效。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了Python中的数据可视化库及其相应的操作,同时详细介绍了DataFrame数据格式。

http://www.lryc.cn/news/525475.html

相关文章:

  • 详解:TCP/IP五层(四层)协议模型
  • 【原生记忆能力 怎么让大模型拥有原生的记忆能力】
  • 百度APP iOS端磁盘优化实践(上)
  • qml Dialog详解
  • 2025年的校招管理系统会全面实现智能化吗?
  • 【Unity】使用Canvas Group改变UI的透明度
  • 2024年博客之星主题创作|2024年度感想与新技术Redis学习
  • 6. 马科维茨资产组合模型+政策意图AI金融智能体(DeepSeek-V3)增强方案(理论+Python实战)
  • Unity自学之旅05
  • linux中关闭服务的开机自启动
  • Python----Python高级(文件操作open,os模块对于文件操作,shutil模块 )
  • ubuntu黑屏问题解决
  • Java如何实现反转义
  • 动态规划(路径问题)
  • python http调用视觉模型moondream
  • Spark Streaming编程基础
  • 深入 Flutter 和 Compose 的 PlatformView 实现对比,它们是如何接入平台控件
  • C# OpenCV机器视觉:红外体温检测
  • FCA-FineDataLink认证
  • 第19篇:python高级编程进阶:使用Flask进行Web开发
  • js截取video视频某一帧为图片
  • [云讷科技]Kerloud Falcon四旋翼飞车虚拟仿真空间发布
  • Jetson nano 安装 PCL 指南
  • go-zero框架基本配置和错误码封装
  • Android中Service在新进程中的启动流程2
  • 论文速读|Matrix-SSL:Matrix Information Theory for Self-Supervised Learning.ICML24
  • ubunut22.04安装docker(基于阿里云 Docker 镜像源安装 Docker)
  • k8s namespace绑定节点
  • 【ElementPlus】在Vue3中实现表格组件封装
  • cursor重构谷粒商城04——vagrant技术快速部署虚拟机