私は、プロット内に動的な数のドロップダウンメニューを作って、さまざまな数の曲線をプロットしようとしています。 私はpreviouslyがこのデータをプロットするのに必要なヘルプを持っており、うまくいきました。 (彼らはwaaay長すぎるとしてではなく、実際の数値)Mathematica:メニューの動的数
まず最初にここで
Needs["PlotLegends`"]
はデータの一例です。
data={{year, H, He, Li, C, O, Si, S},
{0, .5, .1, .01, 0.01, 0.01, 0.001, 0.001},
{100, .45, .1, .01, 0.01, 0.01, 0.001, 0.001},
{200, .40, .1, .01, 0.01, 0.01, 0.001, 0.001},
{300, .35, .1, .01, 0.01, 0.01, 0.001, 0.001}}
変数は、私のコードはこの1つ
Manipulate[
ListLogLogPlot[
{data[[All, {1, i}]],
data[[All, {1, j}]],
data[[All, {1, k}]]},
PlotLegend -> {data[[1, i]],
data[[1, j]],
data[[1, k]]}
],
{{i, 2, "Compound 1"},Thread[Range[2, compounds] -> Drop[data[[1]], 1]]},
{{j, 3, "Compound 2"},Thread[Range[2, compounds] -> Drop[data[[1]], 1]]},
{{k, 4, "Compound 2"},Thread[Range[2, compounds] -> Drop[data[[1]], 1]]},
ContinuousAction -> False
]
あなたが見ることができるように多くの化合物+今のところ1
compounds=8
です化合物、私は簡単に複製を追加することができます3つの行(データ、凡例、およびメニュー記述子)のそれぞれを指定しますが、それは不十分で非効率です。プロットには約20秒かかりますので、ここでは約1分です(かなり効率的なクラスターを使用しています)。
プロットする化合物の数を追加できる小さなメニューやフィールドを追加するソリューションがありますか?そのため、適切な数のメニューが表示されますか?私は7つ以上のプロットを必要としませんが、効率は...
数字2、4、16はプロットのデフォルト値です。私は、デフォルト値のリストを作ることができます(2、14、16、および他のいくつかは、私が選ぶ場合があります)、またはそれらはすべてが2
おかげ
コードが実行されず、完全ではありません。 「データ」とは何ですか?実際に実行される小さな完全な例を投稿する方がよいでしょう。 – Nasser
私が使用するデータの一部を追加しました。 –