반응형

데이터분석 40

<D3.js> 가로막대 그래프 그리기(4) x축 눈금 표시

x축과 눈금을 그리기 위해서 알아야할 D3 메서드는 scaleLinear(), axisBottom() 입니다. scaleLinear()는 숫자로 표현된 선형으로 된 눈금을 생성합니다. .domain() 과 .range()로 출력 범위를 정해줍니다. var xScale = d3.scaleLinear() .domain([0,500]) .range([0,500]) 현재 가로막대그래프가 500이하의 값들로 이뤄져있기에 .domain([0,500])으로 0~500 사이의 값을 데이터의 범위로 설정합니다. range()는 domain을 표시하는 눈금의 범위입니다. 그리고 range([0,500])으로 1:1로 대응하게 출력합니다. axisBottom()은 그래프 아래에 축을 넣을 때 사용하는 메서드입니다. 축을 위..

<D3.js>1. 가로막대 그래프 그리기(3) 애니메이션 효과 추가

애니메이션 효과를 사용하기 위해 사용하는 메서드는 transition(), delay(), duration() 입니다. 기존에 사용했던 가로그래프를 애니메이션의 효과를 제대로 보기 위해 버튼을 누르면 랜덤으로 dataSet의 데이터가 변하게 작성하겠습니다. 가로형 막대그래프 업데이트 var dataSet = [400,200,90,190,240]; d3.select("#myGraph") //svg 요소 선택 .selectAll("rect") .data(dataSet) .enter() .append("rect") .attr("x",0) .attr("y",function(d,i){ return i * 25; }) .attr("width",function(d,i){ return d + "px"; }) .attr..

<D3.js> 1. 가로막대 그래프 그리기(2)색, 데이터 변경

검은 막대만 존재한다면 그 그래프는 별다른 의미를 가지지 못합니다. 색을 변경하는 방법과 버튼을 이용하여 데이터를 변경하는 방법에 대해 알아봅니다. 1. 막대그래프 스타일 지정 SVG의 rect 요소의 스타일을 지정하기 위한 스타일시트 속성 속성 설명 fill 도형의 색을 지정 stroke 도형 선색 지정 stroke-width 도형의 선 넓이 지정 가로형 막대그래프 2. 버튼을 이용한 데이터 변경 html에 id가 update인 버튼을 하나 svg태그 앞에 추가해줍니다. 가로형 막대그래프 업데이트 auto.js에 on(이벤트, 호출할 함수) 메서드를 추가하여 버튼을 누르면 데이터가 바뀌도록 코드를 작성합니다. var dataSet = [400,200,90,190,240]; d3.select("#myGr..

<d3.js> 가로막대 그래프 그리기 1. 데이터를 그래프로

가로막대 그래프를 그리면서 기본적인 프로세스를 익혀본다.1. 먼저 가로형 그래프가 표시될 HTML 파일(test.html)을 준비한다. 가로형 막대그래프 //svg 영역 지정  1) 준비된 HTML파일에 script 태그를 이용하여 d3.js를 호출한다. d3.js를 서버에서 직접 받아 사용함으로 d3객체를 모두 사용할 수 있다.2) body에 svg 태그를 사용해 그래프가 나타날 영역을 지정한다. 이후 사용할 d3 객체에서 인식을 위해 아이디를 지정해 준다. 2. 그래프를 그리기 위한 데이터 처리를 위한 자바스크립트 파일(manual.js)을 준비한다.var dataSet = [400,200,90,190,240];d3.select("#myGraph") //..

D3.js로 그래프 그리기 1. 기본 개념 (1) 들어가기 앞서

1. 들어가기에 앞서 1) D3.js는 자바스크립트로 작성된 라이브러리이기에 자바스크립트의 문법에 따라 작성됩니다. 2) D3.js는 d3 객체를 사용하여 구현합니다. D3.js의 모든 기능은 d3객체에 들어 있습니다. 3) D3.js는 데이터를 처리하여 그 데이터를 표출할 좌표와 크기,넓이 등을 지정하고 그에 따라 결과값을 반환하는 기능 뿐입니다. HTML의 DOM, SVG, Canvas 요소를 이용하여 그 요소들의 속성이나 좌표를 지정하여 그래프로 표시하는 라이브러리입니다. 그렇기에 그리는 사람의 창의력을 발휘하기는 좋지만 단순한 그래프를 표시하고 싶다면 굳이 D3.js를 사용하기보다는 Google Chart Api 등을 이용하는 편이 빠르고 편리합니다. 4) d3객체의 기능이 알고 싶다면 아래의 링..

<React> 공공데이터 API 불러오기(한국도로공사 OpenAPI)

목차 # 목표 자료 살펴보기 ##공공데이터 API키 발급 받는 방법 1. 환경설정 1-1 node.js 설치 1-2 리액트 설치 1-3 Axios 설치 2. 공공데이터 API 불러오기 2-1 App.js 2-2 Traffic.js #목표 자료 살펴보기 http://data.ex.co.kr/ 고속도로 공공데이터 포털 data.ex.co.kr 고속도로 공공데이터 포털에서 일자별 전국 교통량을 조회 및 리액트로 불러온다. 들어가보면 요청 변수와 출력 값에 대한 명세가 간략하게나마 나와있다. 더 자세하게 알고 싶다면 Help센터의 OpenAPI 가이드문서를 받아서 사용한다. 구분 코드들을 한 페이지에서 그 상세정보를 알수 있다면 좋겠지만 그 정보를 dataSet>교통데이터다운로드를 통해서 알 수 있다. http..

<Python> 람다 Lambda Expression

람다 함수는 기존의 함수를 정의하는 과정을 생략하고 함수를 사용하는 방식이다. 7x+1이라는 식을 파이썬으로 함수로 표현하면 아래와 같다. 1 2 3 4 def f(x): return 7x+1 cs 먼저 f라는 함수의 이름을 정의해주고 소괄호 안에 매개변수 x를 지정해준다. 그리고 함수 f와 매개변수 x의 값을 지정해주면 그 값을 계산할 수 있게 return 값으로 7x+1을 지정해준다. x의 값이 2라면 그 값은 15가 된다. 1 2 3 4 def f(x): return 7x+1 print("f(x) = 7x+1") print("f(2) : "+str(f(2))) cs [실행결과] 그렇다면 람다함수로는 어떻게 7x+1이 표현이 되는가는 아래와 같다. 1 lambda x: 7*x+1 cs 람다식을 사용하..

<matplotlib> 실시간 데이터 반영 그래프

1. 기본 구조 2. csv 파일 읽어들여 만들기 1. 기본 구조 사용한 라이브러리 random -> 무작위의 수를 생성하기 위해 사용합니다. intertools.count -> 1,2,3... 순차적인 수를 생성하기 위해 사용합니다. pandas matplotlib.pyplot matplotlib.animation -> animation 효과, 실시간 데이터 반영을 위해 사용합니다. 사용한 메서드 index = count() next(index) -> 순차적인 수를 생성해냅니다. random.randint(0,5) -> 0~5 사이의 랜덤한 정수를 생성합니다. plt.cla() -> 앞선 그래프를 삭제합니다. ani = FuncAnimation(plt.gcf(), animate, interval = 1..

<Matplotlib> 산점도 그리기

1. 기본적 산점도 그리기 2. 점 모양, x,y 축의 이름 지정 3. log - scale 4. 색과 다른 정보 추가 matplotlib을 통해서 산점도를 그리는 방법에 대해서 알아보겠습니다. *사용한 자료는 제 블로그의 adsense 한달 간의 노출RPM과 노출수의 상관관계를 파악해 보겠습니다. **그리고 추가로 노출가능한 active_view의 퍼센테이지 역시 어떤 상관관계를 가지고 있는지 알아보겠습니다. 1.기본적인 산점도 그리기 산점도는 plt.scatter(x,y)를 통해서 그릴 수 있습니다. 저의 x는 노출수, y는 노출rpm으로 지정했습니다. plt.scatter(노출수,노출rpm) 을 사용하면 바로 산점도가 나타납니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 import p..

<python> list 조작 함수 모음

[조작함수] 함수 설명 사용법 append() 리스트 제일 뒤에 항목을 추가한다. 리스트.append(값) pop() 리스트 제일 뒤의 항목을 빼내고 삭제한다. 리스트.pop() sort() 항목을 정렬한다. 리스트.sort() reverse() 역순 정렬 리스트.reverse() index() 지정한 값을 찾아 위치 반환 리스트.index(찾을값) insert() 지정한 위치에 값을 삽입 리스트.insert(위치,값) remove() 지정한 값을 제거한다. 리스트.remove(지울 값) extend() 리스트 위에 리스트를 추가한다. 리스트.extend(다른 리스트) count() 리스트에서 찾을 값의 개수를 센다 리스트.count(찾을 값) del() 리스트에서 해당 위치의 항목을 삭제한다 del 리..

반응형