Blog

  • numpy 3d array, matplotlib

    2d array라면 matplotlib에서 plot이 잘 그려진다. 그런데 3d array라면 오류가 발생한다. 1차원 값으로 분리해줘야 한다. 여러 방법을 시도해 봤는데 numpy.nonzero를 이용한 방법이 간결하게 먹힌다. 색상 정보는 나에게 중요한게 아니라서 이 방법이 좋았다.

    dcm_x,dcm_y,dcm_z = blk.nonzero()
    dcm_color = numpy.random.rand(len(dcm_x))
    
    fig = plt.figure(figsize=(10, 10))
    
    ax = fig.add_subplot(projection='3d')
    ax.set_zlim3d(-600, 0)
    ax.view_init(30, 145)
    ax.scatter(dcm_x,dcm_y,-dcm_z,c=dcm_color)
    plt.savefig("/root/" + i +".png")
  • Cron

    /volume1/share/SCRIPT

    sudo -i
    vi /etc/crontab

    sudo synosystemctl restart crond.service

  • sed

    sed -i '/K/d;/L/d' /tmp/2018-01-PERSON.csv
    

    sed를 이용해서 K와 L이 포함된 라인을 삭제하고 그 내용을 저장하고자 할 때는 위와 같이 한다.

  • clear
    set multiplot
    set xrange [0:pi*4]
    set yrange [-1.1:1.1]
    set style line 1 line color rgb 'red'
    set style line 2 line color rgb 'green'
    set style line 3 line color rgb 'blue'
    plot sin(x) linestyle 1, \
     cos(x) linestyle 2, \
     tan(x) linestyle 3

    예전에 잠깐 사용해 보았던 gnuplot을 이용해서 삼각함수 그래프를 그려봤다. tan가 sin보다 크다는 것을 증명할 수 있을 것 같은데.. 이론적으로는 모르겠다. 기억이 안난다.