📝 142 字 · ☕ 1 分钟阅读
做数据分析逃不开一件事——画图。Matplotlib 是 Python 生态里最老牌的可视化库,Seaborn 是它的颜值升级版。这哥俩搭配用,基本能搞定你工作里 90% 的图表需求。
先说我自己的经历:最早学 Python 的时候觉得 Matplotlib 画图又丑又麻烦,API 还绕。后来真正上手做数据处理项目才发现,丑是因为默认设置素,麻烦是因为它给你的自由度太高——什么都能调。等你调顺手了就知道这东西有多强了。
Matplotlib 三板斧
其实日常用的就三个东西:plt.plot() 画折线、plt.bar() 画柱状、plt.scatter() 画散点。够你应付八成场景了。
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [10, 15, 13, 18, 22]
plt.plot(x, y, marker='o', linestyle='--', color='#e41a1c', linewidth=2)
plt.title('简单折线图')
plt.xlabel('X 轴')
plt.ylabel('Y 轴')
plt.grid(True, alpha=0.3)
plt.show()
下面这张图是 Python 这几年的热度走势,从 2018 年到现在几乎年年涨:
Seaborn 让图更好看
Matplotlib 默认风格确实朴素了点。Seaborn 就是来救场的——几行代码就能出好看得多的图。
import seaborn as sns
sns.set_theme(style='whitegrid')
# 热力图
import numpy as np
data = np.random.randn(10, 10)
sns.heatmap(data, annot=True, fmt='.1f', cmap='coolwarm')
plt.show()
子图的用法
fig, axes = plt.subplots(2, 2, figsize=(12, 8))
axes[0,0].plot(x, y, 'r-')
axes[0,0].set_title('折线')
axes[0,1].bar(x, y, color='green')
axes[0,1].set_title('柱状')
plt.tight_layout()
plt.show()
几个实用小技巧
- 保存高清图:
plt.savefig('chart.png', dpi=300, bbox_inches='tight') - 中文乱码:
plt.rcParams['font.sans-serif'] = ['WenQuanYi Zen Hei'] - 配色:试试
plt.cm.Set2或者 seaborn 的color_palette('husl')
总结
Matplotlib + Seaborn 学会了,日常工作基本够用。别一开始就想着学 Plotly、Bokeh 那些交互式库——先打好基础。
