Python 做数据可视化简单、强大、生态完善,新手也能快速上手。我给你整理了最常用、最好用的库 + 直接可运行的代码,复制就能出图。
一、最主流的 4 个可视化库(推荐优先学)
| 库名 | 特点 | 适用场景 |
|---|---|---|
| Matplotlib | 基础、全能、最稳定 | 所有基础图表(折线、柱状、散点、直方图) |
| Seaborn | 美化版 Matplotlib | 统计图表、美观图表、数据分析报告 |
| Pandas 内置绘图 | 超级简单 | 数据框直接画图,一行代码出图 |
| Plotly | 交互式图表 | 网页展示、动态图表、鼠标悬停看数据 |
二、快速安装(一行命令)
pip install matplotlib seaborn pandas plotly
三、直接可运行的示例代码(复制即用)
1. Matplotlib 基础图表(最通用)
import matplotlib.pyplot as plt
import numpy as np
# 生成数据
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 绘图
plt.figure(figsize=(8, 4))
plt.plot(x, y, label='sin(x)', color='blue', linewidth=2)
plt.title('正弦曲线')
plt.xlabel('X 轴')
plt.ylabel('Y 轴')
plt.legend() # 显示图例
plt.grid(True) # 显示网格
plt.show()
2. Seaborn 美观统计图表
import seaborn as sns
import pandas as pd
# 自带测试数据
df = sns.load_dataset('tips')
# 绘制柱状图
sns.barplot(x='day', y='total_bill', data=df)
plt.title('每日消费金额')
plt.show()
# 绘制散点图+回归趋势
sns.regplot(x='total_bill', y='tip', data=df)
plt.title('消费金额与小费关系')
plt.show()
3. Pandas 一行代码画图(最快)
import pandas as pd
import numpy as np
# 创建数据框
data = pd.DataFrame({
'A': np.random.randn(100),
'B': np.random.randn(100).cumsum()
})
# 直接画图
data.plot(figsize=(8, 4), title='Pandas 快速绘图')
plt.show()
4. Plotly 交互式图表(鼠标可缩放、悬停)
import plotly.express as px
df = px.data.gapminder()
fig = px.line(df, x="year", y="lifeExp", color="continent",
title="全球寿命变化趋势")
fig.show() # 自动打开浏览器展示
四、最常用图表类型(你一定用得上)
- 折线图:
plt.plot() - 柱状图:
plt.bar()/sns.barplot() - 直方图:
plt.hist() - 散点图:
plt.scatter()/sns.scatterplot() - 饼图:
plt.pie() - 热力图:
sns.heatmap() - 箱线图:
sns.boxplot()
五、实用小技巧
- 中文显示(解决乱码)
plt.rcParams['font.sans-serif'] = ['SimHei'] # Windows
plt.rcParams['axes.unicode_minus'] = False # 负号正常显示
- 保存高清图片
plt.savefig('my_plot.png', dpi=300, bbox_inches='tight')
- 多子图并排
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12,4))
ax1.plot(x, y)
ax2.hist(np.random.randn(100))
plt.show()
总结
- 新手首选:Matplotlib + Seaborn
- 快速出图:Pandas 内置绘图
- 网页/动态展示:Plotly
- 所有代码复制即可运行,无需额外配置