Garbage collect pyplot figures generated from `gopen`/`gclose`
@sadielbartholomew がすでに取り組んでいます。
2025年3月24日 から。
評価
この issue はまだ評価されていません。
説明
Figures created using plotting functions wrapped with gopen and gclose functions to produce them on a single graphics file are not properly closed, such that they remain in memory and cause inefficiency. This is demonstrated by the warning produced when ~10-20 of these are opened from one script, for example as a quick contrived means to produce it through a loop such as:
>>> f = cf.read('cfplot_data/tas_A1.nc')[0]
>>> for _ in range(20):
... cfp.gopen()
... cfp.con(f.subspace(time=15))
... cfp.gclose()
...
/home/slb93/git-repos/cf-plot/cfplot/cfplot.py:6244: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`). Consider using `matplotlib.pyplot.close()`.
plotvars.master_plot = plot.figure(figsize=(figsize[0], figsize[1]))
We should apply proper garbage collection by closing any figures through matplotlib.pyplot.close() (as advised by the warning), or otherwise. We could consider a means to not close these until the user explicitly instructs to, in case they want to recover a previous plot, but since there doesn't appear to be any functionality in cf-plot to recover a plot once gclose is called anyway (i.e. the plot file saved to disk is the only product/remnant), this would first require further functionality to fetch a previous result.
- 主要言語
- Python
- スター
- 21
- フォーク
- 11
- 平均マージ
- 7時間 11分
- マージ済み PR(30日)
- 1
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
NCAS-CMS/cf-plot のほかの issue
-
testing
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
-
Add `AGENTS.md` fileオープンdocs enhancement
難易度 3/5 1〜2日 初心者へのやさしさ 64/100
-
Add animation hooks into cf-plot再び着手できるかも @bnlawrence が 96 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement
-
bug v35plus
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
NCAS-CMS/cf-plot の issue をすべて見る
似ている issue
-
bug llm translation
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
Arkansas 2025 tax is $1.70 high above $100,000 net taxable income ($3,809 + 3.9% rule)対応中かも @PavelMakarchuk が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
PolicyEngine/policyengine-us#9828 ·
メンテナーはふだん 2 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
jellyfin/jellyfin-mpv-shim#800 ·
メンテナーはふだん 1 日以内に返信
-
skillfs: one malformed chat-log line aborts the entire skill-usage analysis (skill_usage_from_chat_logs.py)対応中かも @zjncs が今日担当しました。 オープンcomponent:skillfs
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
agentic-os-org/ANOLISA#6116 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
P4: low query
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
jeffknupp/association#336 ·