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
220
0
Share
Chart.jsで長い項目を表示するときのハマりどころ
ウェイブ×ゆめみ ふなよいJS/TS LT会2025/11/12
https://yumemi.connpass.com/event/368987/
で話した内容のまとめ直しです
yumechi(Motoki Hirao)
November 11, 2025
More Decks by yumechi(Motoki Hirao)
See All by yumechi(Motoki Hirao)
おれおれサービスをいっぱいつくろう
yumechi
0
83
ブログ用の記事投稿数 可視化の仕組みを作る
yumechi
0
65
2026年 エンジニアリング自己学習法
yumechi
0
210
PyCon mini Shizuoka 2026 ご紹介
yumechi
0
62
異夢同船 読んできました!
yumechi
0
320
地方カンファレンスのスタッフしてて思うこと
yumechi
0
220
2025年半忘年会ふりかえり
yumechi
0
90
業務で使える一歩進んだPython使いになるために / To become an advanced user of Python that can be used at work
yumechi
13
14k
LTの裏技
yumechi
2
1.5k
Other Decks in Programming
See All in Programming
[BalkanRuby 2026] Drop your app/services!
palkan
3
690
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
220
AI時代になぜ書くのか
mutsumix
0
460
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
150
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
360
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
670
色即是空、空即是色、データサイエンス
kamoneggi
1
200
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
120
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
240
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
2.6k
Skillは並べた。動かなかった。契約で繋いだ。— 65個のSkillから、自走する開発サイクルへ
junholee
0
760
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
4
280
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
Evolving SEO for Evolving Search Engines
ryanjones
0
200
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Why Our Code Smells
bkeepers
PRO
340
58k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
460
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
380
We Are The Robots
honzajavorek
0
230
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
580
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
190
So, you think you're a good person
axbom
PRO
2
2k
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