Category: Python

  • Matplotlib에서 table형식의 legend를 나타내기

    Matplotlib에서 table형식의 legend를 나타내기

    최근 논문을 준비하면서 뭔가 여러조건에 대한 legend를 작성하면서 심심하다는 느낌을 많이 받았습니다. 다른 논문들을 보다보면 제법 예쁘게 legend를 표로 작성하여 삽입하곤 하는데, 그러한 부분들을 matplotlib내에서 자체적으로 해결하고자 ChatGPT 및 Copilot와 함께 작업했습니다. 생각해보면 AI의 발전 등을 통해서 원하는 바를 훨씬 손쉽게 작성할 수 있게 된 것 같습니다만, 그럼에도 불구하고 제법 이런저런 반복적으로 style을 정립하기까지 시간이…

  • Matplotlib figure의 몇 가지 스타일 정의 + 위아래로 합쳐진 그래프 그리기

    Matplotlib figure의 몇 가지 스타일 정의 + 위아래로 합쳐진 그래프 그리기

    주로 사용하는 설정들 중, 특히 자주 사용하는 옵션들은 다음과 같이 정의해두고 있습니다. 예로들어 tick은 inward로 해야 한다거나, 외곽선의 두께는 일정수준이 되어야 한다거나 등의 부분입니다. 무엇보다도 다음과 같이 설정해두면, 한 Jupyter Notebook내에서 figure 설정이 동일하게 적용되므로 일관성있게 그래프를 보여 줄 수 있습니다. 그렇다면 해당 설정을 바탕으로, 위아래로 합친 그래프는 다음과 같이 구성할 수 있습니다. 여기서 Fabio…

  • Jupyter nbconverter로 pdf로 변환할때 문제해결 (jupyter_contrib_nbextensions 패키지 삭제로 해결)

    상당히 오래 전 부터, Jupyter Notebook에서 pdf로의 변환 기능이 제대로 작동하지 않았습니다. 그 동안은, 어디서 패키지가 꼬여있었겠지 싶어서 그냥 두고 있었는데, 최근 작업하고 있던 파일을 pdf로 전환해야 할 일이 있다보니 ChatGPT와 함께 문제를 해결하였습니다. 몇 가지 패키지 재 설치 및, 파이썬의 virtual environment를 재설정하는 것들을 추천하였는데, 막상 해 보아도 문제가 해결되지 않아서 기존에 사용하던 확장…

  • Matplotlib-Python에서 Fabio Crameri의 Scientific colour maps 사용하기

    Matplotlib-Python에서 Fabio Crameri의 Scientific colour maps 사용하기

    연구실의 동료가 소개해준 색상에 대한 선택인데, 몇 번 사용해보고는 의외로 그 품질이 마음에 들어서 여전히 사용하고 있습니다. 다음 공식 홈페이지 (https://www.fabiocrameri.ch/colourmaps/ )에 언급되어 있듯이 해당 색상 지도는 다음과 같은 두가지를 주안점으로 만들어졌습니다. 자세한 사항과, 각종 설명 및 시청각 자료는 저자의 사이트에서 참조할 수 있습니다. 여기에서는, 해당 색상지도를 Python환경에서 어떻게 사용할것인가에 주안점을 두고 있습니다. 저는 cmcrameri…

  • H5py를 활용한 HDF5 포맷으로 된 데이터 추출.

    HDF5 파일포맷을 활용해본적은 없었습니다만, 최근 동료에게 주어진 실험 데이터가 해당 파일포맷을 활용해서 데이터 추출 작업을 할 필요가 생겼습니다. 그래서 동료는 Windows에서 대량의 파일들을 읽어들여 본인이 원하는 포맷으로 데이터를 저장하길 원했습니다. HDF5 포맷 자체는 여러 용도로 사용하고, 키, 그룹 등을 포함한 다양한 구조를 제공합니다만, 저의 경우에는 일단 데이터를 뽑아내서 활용하는게 목적입니다. 먼저 Silx로 확인해보니 구조가 다음과…

  • 생산성 증대를 위한 Mac의 작은 팁: 맥의 검색 시스템들을 사용하기 (Finder + Spotlight / Help Menu)

    생산성 증대를 위한 Mac의 작은 팁: 맥의 검색 시스템들을 사용하기 (Finder + Spotlight / Help Menu)

    늘 사용하고 있으면서도, 막상 이렇게 요약하려면 잘 생각안나는 생활속의 팁들이 있습니다. 가끔 어떤 기능들이 필요해서 열심히 구글을 검색해서, 내가 필요한 워크플로으로 승화시키는 경우가 있는데, 막상 만들어두고 난 다음에는 잊어버리는 것들이 많이 있지요. 다음에 필요하면, 그 전에 만들어뒀던 기능들을 그대로 가져와 쓰는 경우도 많이 있습니다. 시스템을 불문하고, 이러한 개인화 작업은 생산성 향상의 핵심적인 요소라고 생각합니다. 하다못해,…