Allow ticktext for minor ticks
オープン
まだ誰も着手していません。
feature
P3
- 主要言語
- Python
- スター
- 18.8k
- フォーク
- 2.8k
- 平均マージ
- 16時間 26分
- マージ済み PR(30日)
- 21
説明
Here is the baseline plot :
import plotly.express as px
import pandas as pd
from datetime import timedelta
# Example data
df = pd.DataFrame({
"Task": ["Task A", "Task B", "Task C"],
"Start": ["2023-01-01 08:00:00", "2023-01-02 09:30:00", "2023-01-04 11:00:00"],
"Finish": ["2023-01-01 15:00:00", "2023-01-02 20:00:00", "2023-01-04 19:00:00"],
})
# Create the timeline figure
fig = px.timeline(
df,
x_start="Start",
x_end="Finish",
y="Task",
title="Timeline with major and minor ticks on x axis",
)
df['Start'] = pd.to_datetime(df['Start'])
df['Finish'] = pd.to_datetime(df['Finish'])
# Define tick positions and labels
horizon_start = df['Start'].min().replace(hour=0, minute=0)
horizon_end = df['Finish'].max().replace(hour=0, minute=0) + timedelta(days=1)
minor_ticks = pd.date_range(horizon_start, horizon_end, freq="6h")
fig.update_xaxes(
showgrid=True,
gridcolor="lightgray",
gridwidth=2,
dtick="D1",
tickformat="%e %b",
tickangle=-45,
minor={
"ticklen": 3,
"tickcolor": "lightgray",
"tickmode": "array",
"showgrid": True,
"gridwidth": 0.5,
"tickvals": minor_ticks,
},
)
# Show the figure
fig.show()
I would like to have the possibility of displaying ticktext for minor ticks + ticktextcolor + ticktextfontsize, with something like :
minor_text = [t.strftime('%Hh').lstrip('0') if t.hour != 0 else "0h" for t in minor_ticks]
fig.update_xaxes(
(...)
minor={
"ticklen": 3,
"tickcolor": "lightgray",
"tickmode": "array",
"showgrid": True,
"gridwidth": 0.5,
"tickvals": minor_ticks,
"ticktext": minor_text,
"ticktextcolor": 'lightgray',
"ticktextfontsize": 5,
},
)
Ideally, for the ticks that are both in major and minor ticks, only the major tick text would be displayed.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
fig.update_xaxes のエントリーポイントと、issue に示されている副軸の設定から始めます。副目盛りのプロパティがどのように表現され、Python graph-object API を通じて渡されるかを追跡します。副目盛りが ticktext、ticktextcolor、ticktextfontsize を受け付け、位置が重なる場合に主目盛りのラベルが優先されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- data-visualization
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100