1

データを計算してプロットを作成するさまざまなプロット関数を備えた科学パッケージを作成しました。1つの図に複数の曲線をプロットしたいことがよくありますが、これを適切に処理する方法がわかりません。コードは次のようになります。

plot_temperature_graph_of_day(day='Monday')
plot_temperature_graph_day(day='Tuesday')
plot_week_mean_temperature()
plot_temperature_graph_of_several_days(('Wednesday','Thursday'))

重要なのは、これらのプロットのそれぞれに線種を設定したいということです。最初の3つの関数はそれぞれ1つのプロットを生成し、4番目の関数は2つのプロットを生成します。すべてが同じ図になります。スタイルを設定するために、私はできました

  • 各関数に引数'linestyle'を与えます。これは、pyplot.plot関数に与えます。
  • Line2Dオブジェクトを返し、を使用して線種を設定しますsetp
  • 関数をプロットに任せず、データを返すだけです
  • 実際のプロットを行うコールバック関数を提供します

戦略について何かアドバイスはありますか?

4

1 に答える 1

1

ユーザーの観点から言えば、私の個人的な好みは、賢明なデフォルトと、パッケージの内部へのアクセス権を持つことです。これにより、本当に必要な場合、または必要に応じて調整できるようになります。

この特定のケースでは、matplotlib の上にユーザー フレンドリーな機能を追加しています。したがって、ライン インスタンスへのアクセス権をユーザーに与えないことで、基本パッケージの一部の機能を隠してしまうことにもなり、私の意見では、これは (ほぼ) 常に悪いことです。matplotlib 自体が多数の便利な*argsおよびを提供する**kwargsため、機能でそれらを受け入れず、基礎となるプロット ルーチンに転送するだけの理由があるはずです。ユーザーが無意味な引数を提供した場合、それはユーザーの問題であり、あなたの問題ではありません --- 必要に応じて、プロット エンジンによって発生した例外をキャッチすることもできます。

さらに、行だけでなく完全なaxesインスタンスを返す場合は、上司からプロットにグリッドを追加するように命じられた、どこかの貧しい大学院生の多くの汗を節約できる可能性があります。

于 2013-02-19T17:52:31.067 に答える