### 科研绘图中折线图的配色方案
#### 单色配色方案
当希望强调数据之间的连续性和一致性时,可以采用单色配色方案。这种方案通过调整同一色调的不同明暗程度来区分不同的数据序列。通常情况下,选择3到5种不同深浅的颜色最为适宜[^1]。
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建样本数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.figure(figsize=(8, 6))
plt.plot(x, y1, label='Sine', color='#ff7f0e')
plt.plot(x, y2, label='Cosine', color='#bcbd22')
# 使用单一色调的不同亮度
for i in range(3):
factor = (i + 1) / 4.0
plt.fill_between(x, y1 * factor, alpha=0.3, color=plt.cm.Oranges(factor))
plt.title('Monochromatic Color Scheme Example')
plt.legend()
plt.show()
```
#### 互补色配色方案
如果想要突出对比并吸引注意力,则可以选择互补色配色方案。该方法利用位于色轮对面两端的颜色形成强烈反差的效果,在视觉上传达出明显的区别感。
```python
plt.figure(figsize=(8, 6))
plt.plot(x, y1, label='Series A', color='blue') # 蓝色
plt.plot(x, y2, label='Series B', color='orange') # 橙色(蓝色的补色)
plt.title('Complementary Color Scheme Example')
plt.legend()
plt.show()
```
#### 等距三角配色方案
为了创建更加丰富多彩而又不失和谐的画面,等距三角配色方案是一个不错的选择。此方案选取三个相隔约120度的角度对应的颜色作为主要色彩元素。
```python
colors_triadic = ['red', 'yellowgreen', 'royalblue']
fig, ax = plt.subplots(figsize=(8, 6))
ax.set_prop_cycle(color=colors_triadic)
for idx, offset in enumerate([0, 2*np.pi/3, 4*np.pi/3]):
yi = np.sin(x + offset)
ax.plot(x, yi, label=f'Series {idx+1}')
ax.set_title('Triadic Color Scheme Example')
ax.legend()
plt.show()
```
#### 四角配色方案
最后,四角配色方案提供了更为复杂的多维度表达可能性。它既可以是由两个成对出现的互补色构成,也可以是四个均匀分布于色环上的颜色形成的正方形布局。
```python
from itertools import cycle
colors_tetradic = ['#d95f02', '#1b9e77', '#7570b3', '#e7298a']
line_styles = ["-", "--", "-.", ":"]
fig, ax = plt.subplots(figsize=(8, 6))
style_cycler = cycle(line_styles)
for c, ls in zip(colors_tetradic, style_cycler):
ax.plot(x, np.random.rand(len(x)), linestyle=ls, linewidth=2, color=c)
ax.set_title('Tetradic Color Scheme Example')
plt.show()
```