在用Python绘制折线图时,若一幅图里有两条折线,分别对应着折射率和折射率梯度,请编写代码,使这两条折线的图例放在一起
时间: 2024-11-20 18:40:59 浏览: 24
在Python的`matplotlib`中,如果你想在一个图例中包含两条折线,可以使用`legend`函数并传入一个列表或字典,表示每条线对应的标签。以下是示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 示例数据
refractive_index = np.linspace(1.5, 1.7, 100)
heights = np.arange(0, 10, 0.1)
refractive_gradient = refractive_index / heights
# 绘制两条折线
fig, ax = plt.subplots()
ax.plot(heights, refractive_index, label='Refractive Index')
ax.plot(heights, refractive_gradient, label='Refraction Gradient')
# 创建图例,将两个标签放在一起
lines, labels = ax.get_legend_handles_labels() # 获取线和标签
combined_label = ['Refractive Index', 'Refraction Gradient'] # 合并到一个列表中
ax.legend(lines, combined_label, title='Combined Legends') # 使用合并后的标签
# 设置其他图形属性
ax.set_xlabel('Height')
ax.set_ylabel('Value')
ax.set_title('Refractive Properties vs Height')
# 显示图形
plt.show()
```
在这个代码中,我们首先绘制了两条折线,并保存了各自的数据标签。然后,我们获取了线条和原始标签,接着创建了一个新的标签列表,包含了两条线的共同描述。最后,我们用这个新列表更新了图例。
阅读全文