Bug report – colour-mapped markers on a date x-axis reset axis to 1970
还没有人认领这个 Issue。
- 主要语言
- R
- 星标
- 2.7k
- 派生
- 641
- PR 合并指标
- 30 天内没有已合并 PR
描述
Hi
thank you for the great work on plotly for R. While building a simple time-series chart I noticed that mapping a numeric column to color inside a marker trace shifts the x-axis limits to the Unix epoch (1970-01-01). The same variable works fine when mapped to size. The reproducible examples below illustrate the behaviour. Any guidance or fix would be highly appreciated.
Reprex
library(plotly)
library(data.table)
# dummy data -------------------------------------------------------------
set.seed(1)
dt <- data.table(
y = cumsum(rnorm(200)),
rank = sample(1:100, 200, TRUE),
size_metric = rpois(200, 10),
datetime = seq(as.Date("2022-01-01"), by = "day", length.out = 200)
)
# -------- WORKS (no colour mapping) -------------------------------------
plot_ly(dt, type = "scatter", mode = "markers") |>
add_trace(x = ~datetime, y = ~y,
name = "points", size = ~size_metric) |>
add_trace(x = ~datetime, y = ~y,
name = "line", mode = "lines",
line = list(color = "black"))
# x-axis shows correct 2022-20xx window
# -------- WORKS (size mapped to same field) -----------------------------
plot_ly(dt, type = "scatter", mode = "markers") |>
add_trace(x = ~datetime, y = ~y,
name = "points", size = ~rank) |>
add_trace(x = ~datetime, y = ~y,
name = "line", mode = "lines",
line = list(color = "black"))
# ✓ still correct axis
# -------- FAILS (colour mapping) ----------------------------------------
plot_ly(dt, type = "scatter", mode = "markers") |>
add_trace(x = ~datetime, y = ~y,
name = "points", colour = ~rank) |>
add_trace(x = ~datetime, y = ~y,
name = "line", mode = "lines",
line = list(color = "black"))
# ✗ x-axis resets to 1970-01-01
Expected
Axis limits stay within the data’s date range (2022-01-01 … 2022-07-20).
Actual
When colour = ~rank is used, the x-axis jumps to epoch 1970-01-01.
Tested with
packageVersion("plotly") # 4.10.4
R.version.string # R 4.3.2 (MacOS Darwing)
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先使用 plotly 4.10.4 运行提供的 R reprex,并将正常工作的大小映射与失败的 colour 映射进行比较。追踪 colour 映射标记和 Date x 值的准备过程;使用 colour = ~rank 时,如果 x 轴保持在 2022-01-01 至 2022-07-20 范围内,则表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- r
- 领域
- data-visualization
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100