あ最近のウィッシュリスト アイテム10 の累乗を表すコンピューターの "e" セパレーターの代わりに、上付き指数を使用する科学的表記法のバージョンである数値形式を求めました。 つまり、3.4e+5 ではなく 3.4 × 10⁵ です。 上付き数字は Unicode 文字として使用できるため、明示的な上付き文字を必要とせずに、そのような数字を通常のテキストとして記述することができます。 これは、カスタム ラベル形式を使用して、軸上でそのような数値を取得できることを意味します。
グラフ軸は、任意の軸ラベルを生成できる JSL 式であるカスタム ラベル形式を長い間サポートしてきました。 これは、y 軸のラベルに「°F」を追加する例です。

Axis Settings ダイアログで Format として Custom を選択して作成しました。

次に、[カスタム形式] をクリックして、この単純な数式を作成するためのバージョンの数式エディターを表示します。

Scientific の式はより複雑ですが、それでもフレームワーク内に収まります。 私はこの式を作成しました。これは、JMP の通常の科学的表記法で始まり、指数の数字を対応する上付き文字に置き換えたものです。
Local( {supers = "⁰¹²³⁴⁵⁶⁷⁸⁹", d, parts},
parts = Words( Format( value, "Scientific", width, dec ), "e" ); // split on e
Substitute Into( parts[2], "+", "", "-", "⁻" ); // ignore +, superscript -
For( d = 0, d <= 9, d++, // superscript each digit
Substitute Into( parts[2], Char( d ), Substr( supers, d + 1, 1 ))
);
if (value == 0, "0", parts[1] || " × 10" || parts[2]); // add x10 unless 0
)
これは、その形式を使用したグラフです。

最後に、グラフのスクリプト全体を示します。カスタム形式は軸のカスタマイズの一部として使用され、データ フィルターは最上位の状態のみを表示します。
Open( "$SAMPLE_DATA/Corn Wheat Soybean Production.jmp" );
Graph Builder(
Transform Column(
"Maximum[Commodity Acres Planted][State,Commodity]",
Formula( Col Maximum( :Commodity Acres Planted, :State, :Commodity ) )
),
Size( 658, 487 ),
Show Control Panel( 0 ),
Variables(
X( :Year ),
Y( :Commodity Acres Planted ),
Group X( :Commodity ),
Overlay( :State )
),
Elements( Points( X, Y, Legend( 35 ) ), Smoother( X, Y, Legend( 36 ) ) ),
Local Data Filter(
Add Filter(
columns( :"Maximum[Commodity Acres Planted][State,Commodity]"n ),
Where(
:"Maximum[Commodity Acres Planted][State,Commodity]"n >= 4658000
)
)
),
SendToReport(
Dispatch( {}, "Year", ScaleBox,
{Min( 1999.5 ), Max( 2017.5 ), Inc( 10 ), Minor Ticks( 1 )}
),
Dispatch( {}, "Commodity Acres Planted", ScaleBox,
{Format( "Custom",
Formula(
Local( {supers = "⁰¹²³⁴⁵⁶⁷⁸⁹", d, parts},
parts = Words( Format( value, "Scientific", width, dec ), "e" );
Substitute Into( parts[2], "+", "", "-", "⁻" );
For( d = 0, d <= 9, d++,
Substitute Into( parts[2], Char( d ), Substr( supers, d + 1, 1 ))
);
if (value == 0, "0", parts[1] || " × 10" || parts[2]);
)
)
), Min( 0 ), Max( 15.5e6 ), Inc( 5e6 ), Minor Ticks( 4 )}
))
);