3fbe6c9be5
- 添加 vnpy_v4.4.0/ 目录到版本控制 - 删除嵌入的 .git 目录避免嵌套仓库 - 添加 README_SANGUO.md 说明来源和用途 - 更新 .gitignore 移除 vnpy_v4.4.0/ 忽略规则 上游代码信息: - 项目: VeighNa 量化交易平台 - 版本: 4.4.0 - 来源: https://github.com/vnpy/vnpy 用途: 版本参考、代码学习、差异对比、离线开发 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
from datetime import datetime
|
|
from typing import Any
|
|
|
|
import pyqtgraph as pg # type: ignore
|
|
|
|
from .manager import BarManager
|
|
from .base import AXIS_WIDTH, NORMAL_FONT, QtGui
|
|
|
|
|
|
class DatetimeAxis(pg.AxisItem):
|
|
""""""
|
|
|
|
def __init__(self, manager: BarManager, *args: Any, **kwargs: Any) -> None:
|
|
""""""
|
|
super().__init__(*args, **kwargs)
|
|
|
|
self._manager: BarManager = manager
|
|
|
|
self.setPen(width=AXIS_WIDTH)
|
|
self.tickFont: QtGui.QFont = NORMAL_FONT
|
|
|
|
def tickStrings(self, values: list[int], scale: float, spacing: int) -> list:
|
|
"""
|
|
Convert original index to datetime string.
|
|
"""
|
|
# Show no axis string if spacing smaller than 1
|
|
if spacing < 1:
|
|
return ["" for i in values]
|
|
|
|
strings: list = []
|
|
|
|
for ix in values:
|
|
dt: datetime | None = self._manager.get_datetime(ix)
|
|
|
|
if not dt:
|
|
s: str = ""
|
|
elif dt.hour:
|
|
s = dt.strftime("%Y-%m-%d\n%H:%M:%S")
|
|
else:
|
|
s = dt.strftime("%Y-%m-%d")
|
|
|
|
strings.append(s)
|
|
|
|
return strings
|