第2章 基本绘图工具和技术
2.1 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()
# 折线图
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()
# 自定义图表
plt.plot(x, y, color='red', linestyle='--', marker='o')
plt.title('Customized Line Chart')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()
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 简介
pip install seaborn
import seaborn as sns
import numpy as np
# 创建数据
data = np.random.randn(100)
# 创建简单的 KDE 图
sns.kdeplot(data)
plt.title('KDE Plot')
plt.show()
# 散点图与回归图
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()
# 设置风格
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 进行绘图
pip install 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()
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()
# 创建时间序列数据
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 进行交互式绘图
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()
原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/87968.html