본문 바로가기

카테고리 없음

NPG color (Nature publishing group color)

728x90
반응형
def npg_color():
	'''
    This function returns 10 hexa color codes.
    ref : https://nanx.me/ggsci/reference/pal_npg.html
    '''
    color_codes={
    	'orange':'#E64B35FF',
        'skyblue':'#4DBBD5FF',
        'green':'#00A087FF',
        'darkblue':'#3C5488FF',
        'pink':'#F39B7FFF',
        'greyblue':'#8491B4FF',
        'whitegreen':'#91D1C2FF',
        'red':'#DC0000FF',
        'darkoat':'#7E6148FF',
        'whiteoat':'#B09C85FF'   
    }
    return color_codes
    
import matplotlib.pyplot as plt
import numpy as np
def draw_npg_color(nrow=2):
    plt.plot()
    plt.xlim([0,1]);plt.ylim([0,1])
    colors=npg_color()
    ncol=len(colors)/nrow
    if int(ncol)<ncol:
        ncol=int(ncol)+1
    ncol=int(ncol)
    x_coord=np.linspace(0.25,0.75,ncol)
    y_coord=np.linspace(0.25,0.75,nrow)
    y_idx=0
    for idx,key in enumerate(colors):
        #print(x_coord[idx%ncol],y_coord[y_idx])
        if idx==ncol:
            y_idx+=1
        plt.scatter(x_coord[idx%ncol],y_coord[y_idx],s=1000,c=colors[key])
        plt.text(x_coord[idx%ncol],y_coord[y_idx]-0.2,s=colors[key],rotation=-45,ha='left')
        
    plt.show()
    
draw_npg_color()

728x90
반응형