Python可视化教程:第二章工具库

对于编程新手而言,一般会对代码有一种畏惧心理,总觉得写代码很难,很陌生,是一种与使用鼠标“点点点”不同的软件操作方式。今天我们就逐步深入,通过一些Python可视化的常见工具来掌握数据分析的节奏!

第2章 基本绘图工具和技术

2.1 Matplotlib 基础

2.1.1 简介 
Matplotlib 是 Python 中最常用的基础绘图库,它提供了一整套绘图 API,使得创建各种图表变得非常简单。
2.1.2 安装与入门 
首先,通过 pip 安装 Matplotlib:
pip install matplotlib
然后,创建一个简单的折线图:
import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]

# 创建图形
plt.plot(x, y)
plt.title('Simple Line Chart')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()

图片
2.1.3 基本图形 
– 折线图: 用于展示数据随时间或序列的变化。 
– 散点图: 展示两组数据之间的关系。 
– 条形图: 比较不同组别的数据。 
– 直方图: 展示数据的分布情况。
# 折线图
plt.plot(x, y)
plt.title('Line Chart')
plt.show()
图片
# 散点图
plt.scatter(x, y)
plt.title('Scatter Plot')
plt.show()
图片
# 条形图
plt.bar(x, y)
plt.title('Bar Chart')
plt.show()
图片
# 直方图
plt.hist(y, bins=5)
plt.title('Histogram')
plt.show()
图片
2.1.4 自定义图表 
可以通过 Matplotlib 自定义图表的外观,包括颜色、线条样式、标记等:
# 自定义图表
plt.plot(x, y, color='red', linestyle='--', marker='o')
plt.title('Customized Line Chart')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()
图片
2.1.5 子图与布局 使用 subplot 函数可以创建多个子图,方便对比不同数据:
fig, axs = plt.subplots(2, 2)
axs[0, 0].plot(x, y)
axs[0, 0].set_title('Subplot 1')
axs[0, 1].scatter(x, y)
axs[0, 1].set_title('Subplot 2')
axs[1, 0].bar(x, y)
axs[1, 0].set_title('Subplot 3')
axs[1, 1].hist(y, bins=5)
axs[1, 1].set_title('Subplot 4')
plt.tight_layout()
plt.show()
图片

2.2 Seaborn 简介

2.2.1 简介 
Seaborn 是基于 Matplotlib 之上的高级绘图库,提供了更美观和更简洁的绘图功能,尤其适用于统计图表。
2.2.2 安装与入门 
通过 pip 安装 Seaborn:
pip install seaborn
然后,创建一个简单的 Seaborn 图表:
import seaborn as sns
import numpy as np

# 创建数据
data = np.random.randn(100)

# 创建简单的 KDE 图
sns.kdeplot(data)
plt.title('KDE Plot')
plt.show()

图片
2.2.3 常用图表类型 
– 散点图与回归图: 展示两变量关系及其回归线。 
– 箱线图: 展示数据的分布及其统计特征。 
– 热力图: 用于展示矩阵数据的值。
# 散点图与回归图
tips = sns.load_dataset('tips')
sns.scatterplot(data=tips, x='total_bill', y='tip')
plt.title('Scatter Plot')
plt.show()
图片
sns.regplot(data=tips, x='total_bill', y='tip')
plt.title('Regression Plot')
plt.show()
图片
# 箱线图
sns.boxplot(data=tips, x='day', y='total_bill')
plt.title('Box Plot')
plt.show()
图片
2.2.4 风格与调色 
Seaborn 提供了多种风格和调色板,方便自定义图表外观:
# 设置风格
sns.set_style('whitegrid')
sns.scatterplot(data=tips, x='total_bill', y='tip')
plt.title('Styled Scatter Plot')
plt.show()
图片
# 使用调色板
sns.set_palette('pastel')
sns.boxplot(data=tips, x='day', y='total_bill')
plt.title('Box Plot with Palette')
plt.show()
图片

2.3 使用 Pandas 进行绘图

2.3.1 简介 
Pandas 是一个强大的数据处理库,同时也提供了便捷的绘图功能,特别适合于数据分析过程中的快速可视化。
2.3.2 安装与入门 
通过 pip 安装 Pandas:
pip install pandas
然后,使用 Pandas 绘制一个简单的图表:
import pandas as pd

# 创建 DataFrame
data = {'A': [1, 2, 3, 4, 5], 'B': [1, 4, 9, 16, 25]}
df = pd.DataFrame(data)

# 绘制图表
df.plot()
plt.title('Pandas Plotting')
plt.show()

图片
2.3.3 常用绘图类型 
– 线形图: 默认图表类型,用于展示数据的变化趋势。 
– 散点图: 使用 scatter 方法创建散点图。 
– 柱状图: 使用 bar 方法创建柱状图。 
– 盒须图: 使用 box 方法创建盒须图。
# 线形图
df.plot()
plt.title('Line Plot')
plt.show()
图片
# 散点图
df.plot.scatter(x='A', y='B')
plt.title('Scatter Plot')
plt.show()
图片
# 柱状图
df.plot.bar()
plt.title('Bar Plot')
plt.show()
图片
# 盒须图
df.plot.box()
plt.title('Box Plot')
plt.show()
图片
2.3.4 时间序列数据绘图 
Pandas 在处理时间序列数据时特别强大,提供了专门的时间序列绘图功能:
# 创建时间序列数据
date_rng = pd.date_range(start='2020-01-01', end='2020-12-31', freq='M')
df_time = pd.DataFrame(date_rng, columns=['date'])
df_time['data'] = np.random.randn(len(date_rng))

# 设置日期为索引
df_time.set_index('date', inplace=True)

# 绘制时间序列图
df_time.plot()
plt.title('Time Series Plot')
plt.show()

图片

2.4 使用 Plotly 进行交互式绘图

2.4.1 简介 
Plotly 是一个功能强大的交互式绘图库,适用于创建动态和交互式图表。
2.4.2 安装与入门 通过 pip 安装 Plotly:
pip install plotly
然后,创建一个简单的交互式图表:
import plotly.express as px

# 创建数据
df = px.data.iris()

# 绘制交互式散点图
fig = px.scatter(df, x='sepal_width', y='sepal_length', color='species')
fig.show()

小结
本章介绍了几种常用的数据可视化工具和技术,包括 Matplotlib、Seaborn、Pandas 和 Plotly。通过学习这些工具,您可以轻松地创建各种类型的图表,希望本章的内容对您有所帮助,欢迎继续学习下一章的内容!

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/87968.html

(0)
guozi的头像guozi
上一篇 2024年6月3日
下一篇 2024年6月3日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注