LoginSignup
0
0

More than 1 year has passed since last update.

自作matplotlib拡張をmpl-third-paryに登録する

Last updated at Posted at 2022-01-17

mpl-third-paryへの登録

僕は基本matplotlibを使って論文等のFigureを作るのだが、たまに、目的の図を描くための既存ライブラリがなく、自分用にツールを作る羽目になることがある。最近、これらのツールが他人の役に立つこともあるかなと思い、2つのツール(patchworklibpyCircos)をmpl-third-party に登録してみたので、その手順をメモしておく。  
ついでに、登録するとmatplotlib公式がTwitterで宣伝してくれる。実際に今回登録したpatchworklibpyCircosのmaplotlib公式による宣伝tweetが以下のものである。
patchworklibの宣伝Tweet

pycircosの宣伝Tweet

登録の手順

登録の手順は全てgithubのweb上で完結できる。
1. GitHub - matplotlib/mpl-third-party: Webpage のrepositoryをForkする。
2. Forkしたレポジトリで、./packagesに ”[追加したいpackageの名前].yml” を追加する。ymlの中身は最低限の以下の4項目が記述されていればいいっぽい。

repo: ponnhide/patchworklib #githubのrepository path([user_name]/[repository_name])
site: https://github.com/ponnhide/patchworklib #DocumentのURL。特別にDocumentを用意していないのであれば、githubのrepositoryのURLで問題なし。
section: plotting utilities #section名。利用可能なsection名は、https://github.com/matplotlib/mpl-third-party/blob/main/section_names.yml から確認できる。
description: A subplot manager for intuitive layouts #短い説明分。多分長すぎると短くさせられる。

3. ymlを追加したら、commitする。フォークしてあるのでmain branchにcommitしてしまって、特に問題はない。
4. フォークしたレポジトリのページからからpull requestを選択。以下のように、fork元であるmatplotlib/mpl-third-partyに対してpull requestを行うこと。
iTerm2.WeROAQ.2022-01-17-11-27-37-image.png
5. 追加したいpackageについての簡単な説明を求められるので、説明を書く。私の場合は https://github.com/matplotlib/mpl-third-party/pull/104 のように、簡単なsample codeと結果の図を載せたのだが、他の人の例をみるともっとsimpleで良かったらしい。
6. Create Pull Requestしておしまい。

正直なところ、今回登録してみたpatchworklibpyCircosはgithubのスター数が100にも達していないショボいものだったので、pull requestがrejectされるのではないかと危惧していた。しかし、ものの数時間でmergeされたばかりか、twitterでも宣伝してくれるという親切対応であった。

maptlotlibは色々な図が作れるものも、コードが煩雑に成りがちであり、自作パッケージを作って対処している人も多いのではないだろうか。僕自身、これまでは、そうしたパッケージを作っては眠らせてしまっていた。しかし、公開してみると、意外と反応があり、似たようなことで困ってる人は世界にそこそこいたんだなぁ知ることができた。もし、論文や学会で発表するほどではないが、便利な描画ツールを作れた!という人は登録してみると良いかもしれない。きっと、数人の不毛な時間を減らす一助になるだろう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0