반응형

프로그래밍 215

matplotlib으로 막대차트 그리기

이전에 matplotlib의 기본적인 내용을 설명했었다. matplotlib을 사용해서 다양한 방법으로 시각화하는 방법을 오늘부터 하나하나씩 정리하려 한다. 사용되는 코드는 완벽하게 효율적이지 않을 수 있다. 우선 다양한 시각화에 대한 설명을 한 후 여건이 되면 코드의 효율성을 논하되 생략할 수도 있다. 중간에 끊기는 내용이 있다면 다음 포스팅으로 이어진다. ... bar 함수를 사용하면 막대차트를 그릴 수 있다. 이전 포스팅에서 plot 함수로 그래프를 그렸는데 그냥 plot 대신 bar를 쓰면 된다. 표현방식만 바뀌었기 때문에 나머지 코드는 동일하다.plot 함수로 그래프 그리기range(len(data)) : data의 원소의 개수만큼의 범위(0, 1, 2, 3)를 가진 range 객체를 생성 ( ..

데이터 시각화를 위한 파이썬 matplotlib

데이터를 시각화하는 도구로는 matlab이 유명하지만 유료라는 점이.. 그리고 가격도 개인이 사용하기에는 너무 비싸다. 무료를 찾는 다면 당연히 파이썬의 matplotlib를 고려할 것이다. 파이썬은 거의 모든 분야에서 활용이 가능한 범용언어라는 이점이 있고 쉬운 문법과 정말 셀수 없이 수많은 라이브러리의 빵빵한 지원이 있다. 파이썬 문법만 익혀놓으면 다양한 분야(인공지능, 빅데이터, 웹, 수학, 과학 등..)와 데이터 분석을 점목시키기에 안성맞춤인 셈이다. 데이터 시각화를 위한 라이브러리 matplotlib를 사용하려면 아나콘다를 설치하기를 추천한다. 아나콘다는 기존의 파이썬 + matplotlib + 수학,과학을 위한 라이브러리들을 묶어 배포하는 파이썬이다. 파이썬과 matplotlib 등의 라이브러..

[html/css] 상속, 부모, 자식 용어정리?

css를 공부하면서 몇가지 정리되지 않은 용어들이 있어서 정리하려 한다. html 엘리먼트(element) - html 요소라고도 하며 태그를 의미한다. 나중에 다루게 될 박스모델에 대해서 간단히 언급하면, html 요소는 각각 박스(box)로 둘러쌓여져 있음을 말하며 박스의 크기를 결정하는 속성들을 css를 사용해 설정, 변경할 수도 있다. 각 html 요소의 박스 크기에 따라 다른 html 요소와의 상호작용을 통해 문서에 배치되는 모습이 결정된다. 예를들어 html 태그, body 태그, p 태그, div 태그들은 박스로 이루어져 있으며 다른 요소들의 내부에 배치될 수도 있고 다른 요소과 나란히 배치될 수도 있다. 부모, 자식 - html 요소들간에는 부모, 자식관계가 형성되는데 이런 관계는 상대적이..

[html/css] 레이아웃 속성(display, inline, block)

html문서에 문자나 이미지 등의 컨텐츠가 위치될 때 다양한 태그들로 둘러싸인다. 이런 태그들은 display 속성이 갖는 속성값(inline, block)에 따라서 컨텐츠의 표시되는 방식에 차이가 생기게 된다. inline 속성값을 디폴트로 갖는 태그는 a태그가 있고 block 속성값을 디폴트로 갖는 태그는 div, p 등의 태그가 있다. 설명에 앞서 이 태그들을 사용한 간단한 예제를 보자. 코드와 결과를 보면 div 태그로 둘러쌓인 내용(block) 앞뒤로 줄바꿈이 되어 있다. block 속성을 가진 태그는 욕심쟁이라서 한 라인 전체를 혼자서 다 쓰는 성질을 갖기 때문이다. 반면에 a 태그는 한 라인 내에서 다른 컨텐츠들과 어울어져 있다. 이런 기본적인 성질 외에도 inline 속성과 block 속성..

파이썬 아나콘다(anaconda) 설치와 파이썬 버전 바꾸기

파이썬을 어느 정도 활용하고 싶다는 생각이 들면 파이썬 아나콘다를 설치하길 권한다. 공식 파이썬 사이트에서 배포하는 파이썬과 아나콘다(anaconda)의 차이점은 튜닝 전 차와 튜닝 후 차로 비유할 수 있다. 아나콘다는 수학, 과학 분야의 패키지로 튜닝한 파이썬으로 수학, 과학 분야에서 필요한 거의 모든 패키지들(Numpy, SciPy, IPython, Matplotlib, 등)이 포함되어 있다. 정식 파이썬을 설치한 후 일일이 필요한 라이브러리를 추가로 설치하는 것은 의존성 문제나 설치의 번거로움 등으로 짜증날 수 있기 때문에 용량은 조금 더 크지만 아나콘다를 설치하는 것이 정신건강상 이롭다. 최근에는 인공지능이나 데이터 분석을 위해 파이썬을 많이 사용하는데 베이스로 아나콘다(anaconda)를 설치하..

[html/css]가상 클래스 선택자(link, visited, active, hover, focus, nth-child)

선택자란 태그, id, class 등과 같이 html 문서에 존재하는 것들을 지정하는 것이다. 반면에 가상 클래스 선택자는 어떤 상태를 지정한다. 이런 상태는 태그, id, class 처럼 html문서 상에 있는 것이 아니다. 따라서 가상 선택자라고 한다. 예를들어 상태를 지정하는 가상 선택자에는 마우스를 올려 놓은 상태를 의미하는 hover 선택자, 방문하지 않은 링크를 나타내는 link 선택자, 이미 방문했던 링크를 선택하는 visited 선택자 등이 있다. 가상 클래스 선택자를 사용해서 상태에 따른 스타일을 지정하는 것이 오늘 공부할 내용이다. 하나씩 살펴보자. link, visited 가상 선택자 웹페이지에 있는 링크들은 기본적으로 파란색이다. 사용자가 링크를 클릭을 하면 오른쪽과 같이 보라색으로..

파이썬으로 바이너리(binary) 파일을 텍스트(text) 파일로 바꾸는 방법

텍스트(Text) 파일(아스키(ascii 파일이라고도 함)과 바이너리(Binary) 파일에 대한 내용은 C언어 포인터와 같이 진부한 주제 중에 하나라고 생각한다. 그럼에도 일반적으로 그다지 중요하지 않게 다루는 것 같은 느낌이 든다. 바이너리와 텍스트의 차이점을 설명하는 많은 글들이 있음에도 그 내용을 명확하게 이해하기 힘들 수 있다. 사실 대단히 단순한 사실인데 말이다. 사실 바이너리(Binary)라고 하면 실행파일을 말할 때가 많다. 텍스트(Text)라고 하면 문서파일이다. 그러나 리눅스에서는 텍스트 파일이라는 개념이 바이너리와 다른 것이 아니다. 그렇다면 윈도우에서는 서로 다른가? 어디서 부터 잘못된 것일까?윈도우에서는 텍스트 파일과 바이너리 파일이 분명히 구분된다. 어떤 차이냐면 저장방식의 차이다..

파이썬 openpyxl로 엑셀 파일 읽기, 쓰기

VBA(Visual Basic for Application)이라고 들어봤을 것이다. 마이크로 소프트사의 오피스제품군의 응용프로그램을 개발하기 위해 보통 VBA를 많이 사용하는데 파이썬으로도 가능하다. 파이썬으로 엑셀을 다루는 대표적인 방법은 win32com과 openpyxl이다. 어떤게 좋을까 비교하다가 결국 openpyxl로 기울어 졌다. 이유는 Tutorial.. win32com은 자세한 Tutorial을 찾을 수 없었다. 반면에 openpyxl은 다음 사이트 https://openpyxl.readthedocs.io/en/default/index.html 에 아주 잘 정리되어 있다. 설치 방법도 나와있는데 귀찮다면 공식 파이썬 대신 아나콘다(Anaconda)를 설치하면 된다. 아나콘다는 win32co..

파이썬(python) 네임드튜플(namedtuple)을 사용해 보자

파이썬의 자료형 중에 네임드튜플(namedtuple)이란 녀석이 있다. 말 그대로 튜플의 성질을 가졌지만 항목에 이름으로 접근이 가능하다. 튜플은 항목에 인덱스(index)로 접근하므로 직관적이지 않다. 튜플의 방식 mytule[0], mytuple[1], .. 이렇게 하면 0번째, 1번째 항목에 대한 정보를 구체적으로 알 수 없다. 하지만 네임드튜플은 mytuple.age, mytuple.birth, 와 같이 사용자가 항목에 이름을 붙여 사용할 수 있다. (물론 인덱스(index)로도 항목에 접근 가능하다.) 그럼 네임드 튜플을 어떻게 사용하는지 살펴보자. from collections import namedtuple네이드 튜플은 기본 자료형이 아니다. collections 이 제공해주는 namedtu..

[html/css] 폰트(font) 속성 정리

css 폰트(font)에 관련된 주요 속성은 다음과 같은 것들이 있다. font-family, font-size, font-style, font-variant, font-weight 다음 역시 폰트에 관련된 속성이다. letter-spacing, word-spacing, line-height 속성이 이름만 봐도 대략 느낌이 온다. 이제 하나씩 알아보도록 하겠다. font-familiy 폰트 테스트, font Test, 1234567890 속성 이름 font-family에서 family는 집합을 의미한다. 코드를 보면 폰트(글꼴)이 여러개가 지정되어 있음을 알 수 있다. font-familiy의 속성 값들은 왼쪽에 있는 것이 우선순위를 갖는다. 위에서는 Nofont라는 폰트가 최 우선순위지만, 이런 폰트가..

반응형