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
SVG完全に理解してグラフ書いてみた
Search
ak2ie
October 03, 2024
Technology
67
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SVG完全に理解してグラフ書いてみた
スカラLT vol.1での発表内容です
ak2ie
October 03, 2024
More Decks by ak2ie
See All by ak2ie
DDDのエッセンスを取り入れたAIでの開発
ak2ie
0
160
Claude Codeはレガシー移行でどこまで使えるのか?
ak2ie
1
1.6k
Go言語CLIツールで生産効率UPした話
ak2ie
0
130
Goではじめるバックエンド開発
ak2ie
0
86
Notion APIと学ぶNext.js
ak2ie
0
590
NestJSのはじめ方
ak2ie
0
170
フロントエンドでDDDやってみた
ak2ie
0
89
初心者がシビックテックに参加してみた
ak2ie
0
130
Firebase についてとことん語りたい
ak2ie
0
130
Other Decks in Technology
See All in Technology
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.7k
JavaScript 研修 (2026)
recruitengineers
PRO
2
660
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
Flutter × BLE Centralを自前Pluginで実装する設計パターン - MethodChannel / EventChannelで作る双方向ブリッジの実践 / Building Custom Flutter BLE Central Plugins: Bidirectional Bridging with Method & Event Channels
bitkey
PRO
0
170
コーチングの奥義 何もしないテクニック
jinwatanabe
0
130
私がブラウザを自作したくなった理由
supurazako
1
270
Digitization部 紹介資料
sansan33
PRO
2
7.7k
システム思考で問題に対処する
yussak
0
360
Oracle MCP Servers Explained
thatjeffsmith
0
200
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
130
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
0
360
事業価値と Engineering 2026年度版
recruitengineers
PRO
51
25k
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
390
Skip the Path - Find Your Career Trail
mkilby
1
190
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
800
Discover your Explorer Soul
emna__ayadi
2
1.3k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
390
Fireside Chat
paigeccino
42
4k
Utilizing Notion as your number one productivity tool
mfonobong
4
550
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
300
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
470
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
930
The SEO Collaboration Effect
kristinabergwall1
1
520
Transcript
SVG完全に理解して グラフ書いてみた スカラLT vol.1 2024年9月29日
あっきー エンジニア フロントエンド:Flutter バックエンド:TypeScript 趣味 お笑いYouTube見ること タイムマシーン3号 ラランド 自己紹介 @ak2ie_tech
グラフってよく使われてますよね
えっ、そんな簡単なこと? 😅 意外と難しかったんです... この夏アウトプットしたもの Y軸を固定表示して、横スクロールできるグラフを作りました!
グラフ Recharts フロントエンド React その他 SVG 使った技術
Rechartsとは? Reactで簡単にグラフをかけるライブラリ SVG 拡大縮小、アニメーション容易 スクロールなどは難しいことも シンプルな構文 折れ線グラフなら 👇️ カスタマイズが簡単 目盛りにアイコンを表示
100 ー 50 ー 0 ー スクロールするとY軸が消えてしまう 横スクロール
Y軸のSVG(画像)をコピーして 固定表示させよう!
100 ー 50 ー 0 ー 100 ー 50 ー
0 ー どうやってY軸を固定表示させるか Y軸をコピーして固定 ここだけ見える ー300 ー200 ー100 ー0 ー300 ー200 ー100 ー0
コピーする範囲を決める 座標系 SVGの座標系はY軸が下向き(左上原点) (0, 0) (50, 100) y x
コピー先での描画内容を決める viewBoxとは? どの範囲(左上座標)を どれくらいの大きさで表示させるのか viewBox=”0 0 200 200" viewBox=”25 25
50 50" ー300 ー200 ー100 ー0 (1000, 0) viewBox=”1000 0 ... ...." viewBox=”100 200 500 500" 100 100 中心:(50, 50) 半径:25
コピー先での描画 データURLとは? <img src=”URL” /> data:image/svg+xml.... SVG(画像) 小さなファイルをURLで表し 埋め込むことができる エンコード
埋め込み
デモ
まとめ 横スクロール時にY軸を固定表示したグラフ RechartsはReactで簡単にグラフをかけるライブラリ SVGはY軸が下向き viewBoxは表示範囲と大きさを決める データURLを使うことで画像を埋め込むことができる