Skip to main content

铁路列车运行数据可视化工具

Project description

RunningTrainsPlot

为研究人员与工程技术人员提供的可扩展、可交互的铁路可视化工具。

注意: 本项目之前名为"RailwayTrainsVisualization",现已更名为"RunningTrainsPlot"以提供更简洁的名称。如果您之前使用的是旧版本,请使用新名称重新安装。

功能特点

  • 列流图 (Column Flow Chart):铁路线路流量可视化
  • 速度曲线 (Speed Curve):列车速度-距离/时间曲线可视化
  • 循环运行图 (Cyclic Diagram):列车循环运行图可视化
  • 股道占用图 (Track Occupation):列车股道占用可视化
  • 客流OD图 (Passenger Flow OD Chart):站点间客流可视化
  • 工具函数:数据加载、预处理和可视化工具

安装与更新

初次安装

pip install RunningTrainsPlot

更新到最新版本

pip install --upgrade RunningTrainsPlot

注意:只有在发布新版本后才需要使用--upgrade选项更新。可以通过from RunningTrainsPlot import __version__; print(__version__)检查当前版本。

验证安装

安装完成后可运行以下简单测试验证功能:

import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime, timedelta

# 检查版本
from RunningTrainsPlot import __version__
print(f"当前版本: {__version__}")

# 导入所有模块
from RunningTrainsPlot import passenger_flow, column_flow, speed_curve
from RunningTrainsPlot import cyclic_diagram, track_occupation

# 测试股道占用图
base_time = datetime(2023, 1, 1, 8, 0)
data = pd.DataFrame({
    'train_id': ['G201', 'D101', 'K105'],
    'track': ['1股道', '2股道', '3股道'],
    'arrival_time': [
        base_time,
        base_time + timedelta(hours=1),
        base_time + timedelta(hours=2)
    ],
    'departure_time': [
        base_time + timedelta(hours=0.5),
        base_time + timedelta(hours=2),
        base_time + timedelta(hours=3)
    ]
})

# 创建股道占用图
fig, ax = track_occupation.plot_track_occupation(
    data,
    title='股道占用图测试',
    figsize=(10, 6)
)
plt.show()

使用指南

列流图

from RunningTrainsPlot import column_flow

# 加载数据
stations, flows = column_flow.load_flow_data("stations.csv", "flows.csv")

# 绘制图表
column_flow.plot_column_flow(stations, flows)

速度曲线

from RunningTrainsPlot import speed_curve

# 加载数据
data = speed_curve.load_speed_data("speed_data.csv")

# 绘制速度-距离曲线
speed_curve.plot_speed_curve(data, x_col='distance', y_col='speed')

# 绘制速度-时间曲线
speed_curve.plot_speed_curve(data, x_col='time', y_col='speed')

# 同时绘制两种曲线
speed_curve.plot_speed_distance_time(data)

循环运行图

from RunningTrainsPlot import cyclic_diagram

# 加载数据
data = cyclic_diagram.load_data("cycle_data.csv")

# 绘制图表
cyclic_diagram.plot_cyclic_diagram(data)

股道占用图

from RunningTrainsPlot import track_occupation

# 加载数据
data = track_occupation.load_track_data("track_data.csv")

# 绘制股道占用图
track_occupation.plot_track_occupation(data)

客流OD图表

from RunningTrainsPlot import passenger_flow

# 加载数据
data = passenger_flow.load_data("passenger_data.csv")

# 绘制图表
passenger_flow.plot_passenger_flow(data)

数据工具

from RunningTrainsPlot import utils

# 加载数据
data = utils.load_data("data.csv")

# 预处理数据
processed_data = utils.preprocess_data(data)

版本历史

  • 1.0.0 - 初始版本,从RailwayTrainsVisualization更名而来
  • 1.0.1 - 新增原生循环运行图(cyclic_diagram)实现,不再依赖外部包

作者

许可证

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

runningtrainsplot-1.0.6.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

runningtrainsplot-1.0.6-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file runningtrainsplot-1.0.6.tar.gz.

File metadata

  • Download URL: runningtrainsplot-1.0.6.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for runningtrainsplot-1.0.6.tar.gz
Algorithm Hash digest
SHA256 8b81afab8fac325aa334c165545188d970ff07825f2b859c54112afdc321a6d9
MD5 33f919ca385de01a794f38fbe92db3ab
BLAKE2b-256 8aff9d5c15e2a14ed095ac5a787801154321b13caecf837ce924cc951c58bd0e

See more details on using hashes here.

File details

Details for the file runningtrainsplot-1.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for runningtrainsplot-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 484fd0712b6d4622db55ffb9223c59ab4f445c833dd7d20362773f85cb943e89
MD5 b73d48dcd7536313656ff687af25be37
BLAKE2b-256 a502821fe6a2b6bcf4cbc42d2248ba11bc7077850905c7aab4743a1d867a7692

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page