AyumuOgasawara / receipt-scanner

レシートの写真から家計簿を生成してくれるアプリ
0 stars 0 forks source link

ダッシュボード下部のy軸のメモリが見切れるバグ #50

Closed AyumuOgasawara closed 1 month ago

AyumuOgasawara commented 1 month ago

概要

予算が10万以上になった際に、メモリが見切れる

バグ画像

スクリーンショット 2024-09-29 11 53 03
AyumuOgasawara commented 1 month ago

Matplotlibの話ならあった。

https://qiita.com/78910jqk/items/e8bce993081c384afdba

AyumuOgasawara commented 1 month ago

結構あるあるらしい。

AyumuOgasawara commented 1 month ago

これは、数字が増えていくにつれて変更し続けなければならなくなる。

例えば、現在100,000で見えなくなるが、これを修正しても、1,000,00の際には新たに修正しなければならない。

AyumuOgasawara commented 1 month ago

そのため、表示方法を変えるようにした。

100,000以上のものは10万と表示するようにする1000万まで、この表示で、1億からまた変更する。 まずは、10万の対応のみ行う。

AyumuOgasawara commented 1 month ago

yAxis を以下のように指定

yAxis={[{valueFormatter: (v) => v >= 100000 ?${formatCurrency(v/10000)}万: formatCurrency(v)}]}

AyumuOgasawara commented 1 month ago

formatCurrenctは以下のようにすることで、¥マークをつけるかどうか決めれるようにした

// 日本円の表記にフォーマット (useCurrencyがture:1000 -> ¥1,000, useCurrencyがfalse:1000 -> 1,000)
export const formatCurrency = (
  amount: number,
  useCurrency: boolean = false
): string => {
  return new Intl.NumberFormat("ja-JP", {
    style: useCurrency ? "currency" : "decimal",
    currency: useCurrency ? "JPY" : undefined,
  }).format(amount);
};