Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Chart.jsで長い項目を表示するときのハマりどころ
Search
yumechi(Motoki Hirao)
November 11, 2025
Programming
0
88
Chart.jsで長い項目を表示するときのハマりどころ
ウェイブ×ゆめみ ふなよいJS/TS LT会2025/11/12
https://yumemi.connpass.com/event/368987/
で話した内容のまとめ直しです
yumechi(Motoki Hirao)
November 11, 2025
Tweet
Share
More Decks by yumechi(Motoki Hirao)
See All by yumechi(Motoki Hirao)
異夢同船 読んできました!
yumechi
0
230
地方カンファレンスのスタッフしてて思うこと
yumechi
0
130
2025年半忘年会ふりかえり
yumechi
0
33
業務で使える一歩進んだPython使いになるために / To become an advanced user of Python that can be used at work
yumechi
13
14k
LTの裏技
yumechi
2
1.5k
やがてカンファレンス登壇者になる
yumechi
1
320
形式スクラムの功罪
yumechi
3
1.5k
プロポーザルを出してみよう考えてみよう
yumechi
1
790
PHPをasdfで動かしてみたんです
yumechi
2
1.3k
Other Decks in Programming
See All in Programming
アーキテクチャと考える迷子にならない開発者テスト
irof
7
2.3k
CloudflareのSandbox SDKを試してみた
syumai
0
130
Rails Girls Sapporo 2ndの裏側―準備の日々から見えた、私が得たもの / SAPPORO ENGINEER BASE #11
lemonade_37
2
120
Tangible Code
chobishiba
3
530
Honoを技術選定したAI要件定義プラットフォームAcsimでの意思決定
codenote
0
150
Temporal Knowledge Graphで作る! 時間変化するナレッジを扱うAI Agentの世界
po3rin
5
1.3k
JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497
mackey0225
2
200
JJUG CCC 2025 Fall: Virtual Thread Deep Dive
ternbusty
3
210
SUZURIの規約違反チェックにおけるクリエイタフィードバックの試⾏錯誤/Trial and Error in Creator Feedback for SUZURI's Terms of Service Violation Checks
ae14watanabe
1
140
Core MIDI を勉強して作曲用の電子ピアノ作ってみた!
hypebeans
0
110
ドメイン駆動設計のエッセンス
masuda220
PRO
15
7.8k
ビルドプロセスをデバッグしよう!
yt8492
0
300
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Done Done
chrislema
186
16k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Speed Design
sergeychernyshev
32
1.2k
GitHub's CSS Performance
jonrohan
1032
470k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
What's in a price? How to price your products and services
michaelherold
246
12k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Designing for humans not robots
tammielis
254
26k
Transcript
Chart.jsで長い項目を表示 するときのハマりどころ ウェイブ×ゆめみ ふなよいJS/TS LT会 2025/11/12 @__yumechi
当日スライドが 間に合わなかったので 作り直したバージョンです
X: @__yumechi misskey: @
[email protected]
自己紹介 • Motoki Hirao (X: __yumechi)
• 普段はバックエンドエンジニア • JavaScript の話でLTするのは10年ぶり…? ◦ キャリアの最初はフロントエンドエンジニアをやっていたため • 普段はゲームしてるか、読書してるか、カンファレンスにいるか、カ ンファレンスのスタッフをしています ◦ PyCon mini Shizuoka にもぜひ来てね ◦ https://shizuoka.pycon.jp/2026
X: @__yumechi misskey: @
[email protected]
概要 • Chart.js で表示を良くするためには色々大変! ◦ 実演を交えて紹介します
◦ 特に長いデータを入れた時の挙動が結構微妙だな… と思っています • ちょっと前にやったものをClaude Codeで再現して、実現しているも のになります ◦ なのでコード自体はほぼ Claude Code に書かせていて、細かめのチューニングだ け行っています
X: @__yumechi misskey: @
[email protected]
Chart.js って何? • データをグラフに変換できるライブラリ ◦ https://www.chartjs.org/
• canvas 機能を使って描画する • 棒グラフ以外にも円グラフ、チャートなどを作ることができる • 今回取り上げている通り、ちょっと癖があるので日本語環境で使う場 合は気を付けるポイントあり
コード見たい方は リポジトリへ https://github.com/yumech i/my-playground-chartjs
実例見たい方は ページを見てください https://www.yumechi. work/my-playground-c hartjs/
そのまま入れてみる
None
X: @__yumechi misskey: @
[email protected]
気になる点 • 項目名がめっちゃ切れてる ◦ 見た目としてはかなりひどい ◦
左揃えにしてある程度のところで文字列を切る戦略にすればよさそう ◦ まずはここを何とかしたい
None
None
X: @__yumechi misskey: @
[email protected]
気になる点 • だいぶもったりして見える ◦ 縦幅に対し、フォントが小さいためすごくスカスカな印象を受ける ◦
バー、カテゴリのサイズを調整する ◦ CSSでも高さを制限する ▪ 本来は項目数分でうまく計算して出せるとよいのですが、今回はデモで html, javascript というシンプルな構成なので固定値です
None
None
X: @__yumechi misskey: @
[email protected]
気になる点 • 項目名が横にすごく伸びてしまっている ◦ 読みづらさがある ◦
システムとしてみた時のだらしなさも感じる ◦ CSS による width の調整 ◦ 細かめのレイアウト調整
None
None
X: @__yumechi misskey: @
[email protected]
気になる点 • width を調整したことで左に寄りすぎて見えている ◦ html
タグで調整する(AIに聞くと Chart.js の機能でできるよ!って言ってくる が、なんかうまくできませんでした(解決策募集)) • これまで見せていなかったが、環境によってはツールチップが非常に 見ずらい ◦ ツールチップも折り返そう
None
None
None
これでかなり 一般的な基準で見ても 違和感がないレベルに なった… かも?
X: @__yumechi misskey: @
[email protected]
まとめると • Chart.js で項目をグラフ化するのはかんたんにできる • 一方で、長い項目については割と作り込みが必要
◦ 商品名 ◦ 所属名 • 表示に関しても Chart.js で提供されている機能だけでなく、CSSな どの機能を使って補助したほうが良い • どちらにしろ落とし所としては業務要件とか満たしたいものに合わせ ること
X: @__yumechi misskey: @
[email protected]
宣伝 • https://x.com/oyakata2438/status/1986061495785152711 • こちらの『ワンストップ食』に寄稿しております ◦
いろいろ合間を縫って書きました、意外とチャレンジしたことがないものを取り 上げたと思うので、興味を持っていただけると幸いです • 11/16(日) 技術書典19 『え11』にて頒布予定!
X: @__yumechi misskey: @
[email protected]
利用情報 • スライド作成: Google Slide https://www.google.com/slides/about/
• フォント: BIZ UDGothic https://fonts.google.com/specimen/BIZ+UDGothic