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
200
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)
2026年 エンジニアリング自己学習法
yumechi
0
170
PyCon mini Shizuoka 2026 ご紹介
yumechi
0
45
異夢同船 読んできました!
yumechi
0
300
地方カンファレンスのスタッフしてて思うこと
yumechi
0
190
2025年半忘年会ふりかえり
yumechi
0
62
業務で使える一歩進んだPython使いになるために / To become an advanced user of Python that can be used at work
yumechi
13
14k
LTの裏技
yumechi
2
1.5k
やがてカンファレンス登壇者になる
yumechi
1
340
形式スクラムの功罪
yumechi
3
1.6k
Other Decks in Programming
See All in Programming
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
160
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
1.8k
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
260
CSC307 Lecture 14
javiergs
PRO
0
480
モダンOBSプラグイン開発
umireon
0
160
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
400
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
150
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
120
CSC307 Lecture 15
javiergs
PRO
0
260
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
410
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
1.1k
OTP を自動で入力する裏技
megabitsenmzq
0
120
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
What's in a price? How to price your products and services
michaelherold
247
13k
Designing for humans not robots
tammielis
254
26k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Side Projects
sachag
455
43k
First, design no harm
axbom
PRO
2
1.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How to train your dragon (web standard)
notwaldorf
97
6.6k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
130
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
120
The Language of Interfaces
destraynor
162
26k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
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