Height of plot is 0 until resize after changing layout input
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 38/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- angular, typescript
- 領域
- frontend
調査の方向性
Angular テンプレートの コンポーネントと、テーマシグナルによって更新される layout input から始めます。テーマの切り替えを再現し、ウィンドウのサイズを変更せずに、更新前後のチャートコンテナの高さを比較します。layout の変更直後に responsive チャートが実際のコンテナの高さを維持すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Hello,
I'm having a bit of trouble with my charts in a dashboard. I've implemented theme switching in my application using system variables and Angular Material. I'm able to change my chart's look and feel according to the colors of my theme. However, the container will collapse when I switch to a new theme because the plotly-plot element has a height of 0 until I resize the window.
Injectable
import { DOCUMENT } from '@angular/common';
import {
computed,
effect,
inject,
InjectionToken,
signal,
} from '@angular/core';
import { WA_WINDOW } from '@ng-web-apis/common';
export const THEME = new InjectionToken('Theme', {
factory: () => {
const w = inject(WA_WINDOW);
const d = inject(DOCUMENT);
const darkMode = signal(true);
const setDarkMode = effect(() =>
d.documentElement.classList.toggle('light', !darkMode())
);
return {
darkMode,
textColor: computed(() => {
darkMode();
return getComputedStyle(d.documentElement).getPropertyValue(
'--mat-app-text-color'
);
}),
};
},
});
Component
...
readonly #theme = inject(THEME);
readonly ageGenderChartLayout = computed<Partial<Plotly.Layout>>(() => ({
barmode: 'stack',
autosize: true,
margin: {
l: 60,
r: 50,
b: 100,
t: 50,
pad: 4,
},
title: 'People by Age',
paper_bgcolor: 'rgba(255,255,255,0)',
plot_bgcolor: 'rgba(255,255,255,0)',
font: {
color: this.#theme.textColor(),
},
}));
...
Template
<mat-card>
<mat-card-content>
@if (mapData$ | async; as mapData) {
<plotly-plot [data]="mapData"
[layout]="mapLayout()"
[config]="{responsive: true, mapboxAccessToken: mapboxToken, displaylogo: false, modeBarButtonsToRemove: ['toImage']}" />
} @else {
<mat-spinner style="margin: auto;"></mat-spinner>
}
</mat-card-content>
</mat-card>
Before switching themes:
After switching themes (which updates the layout input of the plotly-plot component):
How can I have responsive charts while still have their containers "see" their actual height? is this a Plotly chart issue?
- 主要言語
- TypeScript
- スター
- 242
- フォーク
- 81
- 平均マージ
- 23時間 52分
- マージ済み PR(30日)
- 5
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
plotly/angular-plotly.js のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
plotly/angular-plotly.js#373 ·
メンテナーはふだん 1 日以内に返信
-
Feature request: please add migration guide対応中かも @andrefarzat が 21 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
plotly/angular-plotly.js#285 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
event handlers are not typed対応中かも @andrefarzat が 21 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 38/100
plotly/angular-plotly.js#283 ·
メンテナーはふだん 1 日以内に返信
-
Angular 20 standalone application対応中かも @andrefarzat が 21 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
plotly/angular-plotly.js#281 · コメント 8 件 · リアクション 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 25/100
plotly/angular-plotly.js#278 · コメント 2 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
plotly/angular-plotly.js の issue をすべて見る
似ている issue
-
Phone app shows Unknown for a remote machine whose key changed対応中かも @janicduplessis が今日担当しました。 オープンarea: mobile priority: P3 type: bug
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
appandflow/stim#5006 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Area - Local to Cloud Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
microsoft/vscode-mssql#23209 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
code-yeongyu/senpi#5713 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
A-linter
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
oxc-project/oxc#28783 ·
メンテナーはふだん 1 日以内に返信
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
難易度 1/5 1時間未満 初心者へのやさしさ 84/100
lingdojo/kana-dojo#33553 · コメント 1 件 · リアクション 5 件 ·
メンテナーはふだん 1 日以内に返信