데이터 블로그 챌린지 Day 13

표로 이름 브랜딩하기

13-1.png

결론

재미도 있고 유익도 있으면 좋겠다 :)

만들기

3개의 라이브러리를 import 한다.

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns;
sns.set()

matplotlib.pyplot 를 사용해 text 를 넣고 이미지로 저장 후 해당 이미지를 데이터로 읽는 방식이다.

def make_name(name, N=1000, rseed=42):
  fig, ax = plt.subplots(figsize=(3, 1))
  fig.subplots_adjust(left=0, right=1, bottom=0, top=1)
  ax.axis('off')
  ax.text(0.5, 0.4, name, va='center', ha='center', weight='bold', size=85)
  fig.savefig('name.png')
  plt.close(fig)

  from matplotlib.image import imread
  data = imread('name.png')[::-1, :, 0].T
  rng = np.random.RandomState(rseed)
  X = rng.rand(3 * N, 2)
  i, j = (X * data.shape).astype(int).T
  mask = (data[i, j] < 1)
  X = X[mask]
  X[:, 0] *= (data.shape[0] / data.shape[1])
  X = X[:N]
  return X[np.argsort(X[:, 0])]

이름의 길이에 따라서 get_cmap 두 번째 파라미터는 수정해야한다.

X = make_name('APELTOP')
colorize = dict(c=X[:, 0], cmap=plt.cm.get_cmap('rainbow', 7))
plt.scatter(X[:, 0], X[:, 1], **colorize)
plt.axis('equal')

13-1.png

X = make_name('DATA X LEARN')
colorize = dict(c=X[:, 0], cmap=plt.cm.get_cmap('rainbow', 10))
plt.scatter(X[:, 0], X[:, 1], **colorize)
plt.axis('equal')

13-2.png

정보 출처 : 제이크 밴더플래스. 『파이썬 데이터 사이언스 핸드북』


데이터 블로그 챌린지 Day 12

맬서스 모델과 로지스틱 함수

데이터 블로그 챌린지 Day 14

챌린지를 마치며

NCloud LB & SourcePipeline 구축하기
tech collection 서비스 성능 개선하기
Selenium 복권 구매 자동화 만들어보기
디자인 패턴
책 리뷰
블로그 챌린지