纵坐标的取值:depth = np.linspace(5344, 5454, 100) 横坐标的取值:每条线np.random.uniform(0, 10, size=100),0和10可调 所有子图共享Y轴,用python编程生成折线图
时间: 2024-10-23 11:11:15 浏览: 23
在Python中,你可以使用matplotlib库来创建这样的折线图。首先,你需要导入必要的库并设置随机数种子以便于复现结果。以下是一个简单的示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 设置随机数种子
np.random.seed(0)
# 纵坐标取值范围
depth = np.linspace(5344, 5454, 100)
# 横坐标取值,每次随机生成100个介于0到10之间的数值
lines_data = [np.random.uniform(0, 10, size=100) for _ in range(len(depth))]
# 创建一个新的图形
fig, ax = plt.subplots()
# 使用zip函数将深度和对应的线数据结合
for depth_val, line_data in zip(depth, lines_data):
# 绘制折线
ax.plot(line_data, depth_val, label=f'Depth {int(depth_val)}')
# 共享y轴
ax.set_yticks(depth)
ax.yaxis.tick_left() # 取消右边的y轴刻度
ax.yaxis.grid(True) # 显示网格线
# 添加标题和标签
ax.set_title('Depth vs Random Line Data')
ax.set_xlabel('Random Line Values (0-10)')
ax.set_ylabel('Depth')
# 显示图例
ax.legend()
# 显示图表
plt.show()
```
在这个例子中,我们创建了100条折线,每条线对应一个深度值,横坐标是随机生成的线数值。所有子图共享相同的Y轴(深度)。最后显示了生成的折线图。
阅读全文