[ PROMPT_NODE_27330 ]
matplotlib_examples
[ SKILL_DOCUMENTATION ]
# 出版级 Matplotlib 示例
## 概述
本参考资料提供了使用 Matplotlib、Seaborn 和 Plotly 创建出版级科学图表的实用代码示例。所有示例均遵循 `publication_guidelines.md` 中的最佳实践,并使用 `color_palettes.md` 中的色盲友好配色方案。
## 设置与配置
### 出版级 Matplotlib 配置
python
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
# 设置出版质量参数
mpl.rcParams['figure.dpi'] = 300
mpl.rcParams['savefig.dpi'] = 300
mpl.rcParams['font.size'] = 8
mpl.rcParams['font.family'] = 'sans-serif'
mpl.rcParams['font.sans-serif'] = ['Arial', 'Helvetica']
mpl.rcParams['axes.labelsize'] = 9
mpl.rcParams['axes.titlesize'] = 9
mpl.rcParams['xtick.labelsize'] = 7
mpl.rcParams['ytick.labelsize'] = 7
mpl.rcParams['legend.fontsize'] = 7
mpl.rcParams['axes.linewidth'] = 0.5
mpl.rcParams['xtick.major.width'] = 0.5
mpl.rcParams['ytick.major.width'] = 0.5
mpl.rcParams['lines.linewidth'] = 1.5
# 使用色盲友好颜色 (Okabe-Ito 配色)
okabe_ito = ['#E69F00', '#56B4E9', '#009E73', '#F0E442',
'#0072B2', '#D55E00', '#CC79A7', '#000000']
mpl.rcParams['axes.prop_cycle'] = mpl.cycler(color=okabe_ito)
# 使用感知均匀的色彩映射
mpl.rcParams['image.cmap'] = 'viridis'
### 保存辅助函数
python
def save_publication_figure(fig, filename, formats=['pdf', 'png'], dpi=300):
"""
以多种格式保存图表以供出版。
参数:
-----------
fig : matplotlib.figure.Figure
要保存的图表
filename : str
基础文件名 (不含扩展名)
formats : list
要保存的文件格式列表 ['pdf', 'png', 'eps', 'svg']
dpi : int
位图格式的分辨率
"""
for fmt in formats:
output_file = f"{filename}.{fmt}"
fig.savefig(output_file, dpi=dpi, bbox_inches='tight',
facecolor='white', edgecolor='none',
transparent=False, format=fmt)
print(f"已保存: {output_file}")
## 示例 1: 带误差线的折线图
python
import matplotlib.pyplot as plt
import numpy as np
# 生成示例数据
x = np.linspace(0, 10, 50)
y1 = 2 * x + 1 + np.random.normal(0, 1, 50)
y2 = 1.5 * x + 2 + np.random.normal(0, 1.2, 50)
# 计算分箱数据的均值和标准误
bins = np.linspace(0, 10, 11)
y1_mean = [y1[(x >= bins[i]) & (x < bins[i+1])].