๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Web Application

Web Visualization Tools ์ฐพ๊ธฐ - d3.js

by ํ–‰๋ฑ 2021. 4. 24.

์›น์—์„œ ๊ทธ๋ž˜ํ”„/๋Œ€์‹œ๋ณด๋“œ ์–ด๋–ป๊ฒŒ ํŽธ๋ฆฌํ•˜๊ณ  ์˜ˆ์˜๊ฒŒ ๊ทธ๋ฆฌ์ง€??

๊ฐ„๋‹จํ•œ jsp, php๋งŒ ๊ฐ€์ง€๊ณ  ์›น ๊ฐœ๋ฐœ์„ ํ•ด๋ดค์ง€๋งŒ

๊ทธ๋ž˜ํ”„/๋Œ€์‹œ๋ณด๋“œ์„ฑ ์›น์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

 

Spring์ด ๋ญ”์ง€ ์ž˜ ๋ชจ๋ฅด์ง€๋งŒ ์›Œ๋‚™ ์œ ๋ช…ํ•˜๊ณ  ๋งŽ์ด ์“ฐ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋ผ

"spring framework dashboard"

๊ฐ™์€ ํ‚ค์›Œ๋“œ๋กœ ์—ด์‹ฌํžˆ ๊ฒ€์ƒ‰ํ•ด๋ดค์œผ๋‚˜ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋Š” ๋”ฑํžˆ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋‹ค Spring์— ๊ตญํ•œ๋ ๊ฒŒ ์•„๋‹ˆ๋ผ

๊ทผ๋ณธ์ ์œผ๋กœ ์›น์—์„œ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•œ ํˆด์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ฒŒ ๋๋‹ค. ๊ทธ๋ž˜์„œ

"web visualization framework"

๊ฐ™์€ ํ‚ค์›Œ๋“œ๋กœ ๊ฒ€์ƒ‰ํ•˜๋‹ˆ ๋ญ”๊ฐ€ ๋‚˜์˜ค๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋‹ค ์ฒ˜์Œ ์ฐพ์€๊ฒŒ Highcharts!

Demo: www.highcharts.com/demo

 

์ด๋Ÿฐ ์˜ˆ์œ ์ฐจํŠธ๋“ค์„ ์‚ฌ์šฉ์„ฑ ์ข‹๊ฒŒ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

๋‹จ์ ์ด๋ผ๋ฉด ์˜๋ฆฌ๋ฅผ ์œ„ํ•  ๊ฒฝ์šฐ ์œ ๋ฃŒ๋ผ๋Š” ๊ฒƒ๊ณผ ๋’ค์—์„œ ์–ธ๊ธ‰ํ•  d3.js ๋ณด๋‹ค ๋ฒ”์šฉ์ ์ด์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ.

๊ทผ๋ฐ ๋ฐ๋ชจ๊ฐ€ ๋„ˆ๋ฌด ์˜ˆ๋ป์„œ ๋ง˜์„ ๋นผ์•—๊ธธ ๋ป”ํ–ˆ๋‹ค..^^

 

d3.js

d3.js๋Š” ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์‹œ๊ฐํ™” ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ํ•˜๋‚˜๋ผ๊ณ  ํ•œ๋‹ค.

Examples: observablehq.com/@d3/gallery (official)

 

๋ฒ”์šฉ์ ์ด๋ฉฐ ์‹œ๊ฐํ™”์— ๊ตญํ•œ๋˜์ง€ ์•Š๊ณ  ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

(๋‚˜๋„ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์ด ๋ญ”์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์Œ...)

๋ฌผ๋ก  ์•„์ฃผ ๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”„๋„ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. (Highcharts๋ณด๋‹ค ๋งŽ์€ ๊ฒƒ ๊ฐ™๋‹ค - ์œ„์˜ ๋งํฌ ์ฐธ๊ณ ..)

 

์–ด๋””์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์•ผํ• ์ง€ ๋ง‰๋ง‰ํ–ˆ๋Š”๋ฐ ์•„๋ž˜ ๋ธ”๋กœ๊ทธ๋ฅผ ๋ณด๊ณ  ๋”ฐ๋ผํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋งˆ์šฐ์Šค์˜ค๋ฒ„ ๊ธฐ๋Šฅ๋„ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•ด ๋„ฃ์–ด๋ณด์•˜๋‹ค..^^

Skeleton: cyberx.tistory.com/211 (์ฒซ ์‹œ๋„๋กœ ์•„์ฃผ ์ข‹์•˜์Œ!!)

Mouseover ์ฐธ๊ณ : bl.ocks.org/WilliamQLiu/76ae20060e19bf42d774

 

์•„ ๊ทธ๋ฆฌ๊ณ  ๋”ฐ๋กœ d3js๋ฅผ ๋‹ค์šด๋ฐ›์„ ํ•„์š” ์—†์ด ์•„๋ž˜ ํ•œ์ค„๋กœ ๋š๋”ฑ ๊ฐ€๋Šฅํ•˜๋‹ค.

<script src=http://d3js.org/d3.v3.js"></script>

 

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <script src="http://d3js.org/d3.v3.js"></script>
        <title>D3_TEST</title>
    </head>
    <body>
        <svg width="500" height="500"></svg>
        <script>
            const data = [5, 10, 15, 20, 25];
            const svg = d3.select('svg')
            const color = ['#8dd3c7', '#ffffb3', '#bebada', '#fb8072', '#80b1d3']
            svg.selectAll('bar')
               .data(data)
               .enter().append('rect')
               .attr('fill', (d, i) => { return color[i] })
               .attr('height', (d, i) => { return d })
               .attr('width', 40)
               .attr('x', (d, i) => { return 50 * i })
               .attr('y', (d, i) => { return 100 - data[i] } )
               .on('mouseover', handleMouseOver)
               .on('mouseout', handleMouseOut);

            function handleMouseOver(d, i) {
                d3.select(this).attr({
                    fill: 'black'
                });
            }

            function handleMouseOut(d, i) {
                d3.select(this).attr({
                    fill: color[i]
                });
            }
        </script>
    </body>
</html>

 

D3 Graph Gallery ๋ผ๋Š” ํŽ˜์ด์ง€๋„ ์ฐพ์•˜๋Š”๋ฐ ์†Œ์Šค๋ฅผ ์ฐธ๊ณ ํ•˜๊ธฐ ๊ดœ์ฐฎ์„ ๊ฒƒ ๊ฐ™๋‹ค.

๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”„ ์˜ˆ์‹œ๊ฐ€ ๋‚˜์™€์žˆ๋‹ค. (๋ง ๊ทธ๋Œ€๋กœ ๊ทธ๋ž˜ํ”„ ๊ฐค๋Ÿฌ๋ฆฌ๋‹ค.)

www.d3-graph-gallery.com/index.html

 

๊ทธ๋ž˜ํ”„ ์ƒ‰๊น” ํŒ”๋ ˆํŠธ๋ฅผ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๋ชจ๋“ˆ๋„ ์ฐพ์•˜๋‹ค. ์‚ฌ์‹ค ํƒ๋‚˜์„œ ์‹œ๋„ํ•ด๋ดค๋Š”๋ฐ ์„ฑ๊ณต์€ ๋ชปํ–ˆ๋‹ค..^^

github.com/d3/d3-scale-chromatic

 

์•„ ๊ทธ๋ฆฌ๊ณ  ์ถ”๊ฐ€์ ์ธ ์žฅ์ ์€ OSS๋ผ๋Š” ๊ฒƒ! (์˜๋ฆฌ ์‚ฌ์šฉ๋„ ๋ฌด๋ฃŒ)

www.quora.com/Is-D3-js-free-to-use-for-commercial-web-services

 

๊ฐ€์žฅ ๋จผ์ € ์‹œ๋„ํ•ด๋ด์•ผ ํ•  ๊ฒƒ์€ PostgreSQL ์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ์ด๋‹ค.

ujink.tistory.com/9

์ด ๋ธ”๋กœ๊ทธ์— php๋ฅผ ํ™œ์šฉํ•ด ์—ฐ๊ฒฐํ•˜๋Š” ๊ณผ์ •์ด ๋‚˜์™€์žˆ๋‹ค.

php์˜ pg_connect() ๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ๋˜๋Š”๊ฐ€๋ณด๋‹ค.

 

 

 

ํ† ์šœ์— ๋„ˆ๋ฌด ๋ฌด๋ฆฌํ–ˆ๋‹ค..^^

์˜ค๋Š˜์€ ์—ฌ๊ธฐ๊นŒ์ง€..^^

'Web Application' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Java ๊ฐ์ฒด ์ง€ํ–ฅ  (0) 2021.08.29
Java ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ๋ฒจ ์ดํ•ด  (0) 2021.08.29
์›น์„œ๋น„์Šค Architecture (Web server, WAS, DB server)  (1) 2021.05.16
์†Œ์‹ค4 - HTML, CSS, JS, JSP  (0) 2021.05.02
Links  (0) 2021.04.24

๋Œ“๊ธ€