上位机知识篇---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数据格式。