グラフ ビルダー > グラフィックス スクリプトの追加 >形状、アイコン、または画像のカスタマイズを追加しますか?JMP コミュニティの皆様、こんにちは。
Graphics Script コマンドの Circle、Oval、および Rectangle と同様に、カスタマイズされた形状、アイコン、または画像を FrameBox に挿入することはできますか?
ちなみに私はいいえカスタマイズされたデータ ポイント マーカーを探しています。
これは、私が作業しているタイプのグラフィック スクリプトのスニペットです (gb はグラフ ビルダーのヒート マップです)。円をカスタマイズされた形状に置き換えたいと考えています。
gbr = report (gb);
fb = gbr [FrameBox (1)];
fb << add graphics script (
Fill color (black);
For (i = 0, i <= 24, i++,
For (j = 0.5, j <= 7, j = j+2,
r = (i*8) + (j+0.5);
s = column (dt,"SIZE FDR") [r] / 8;
if (s < 0.02, s = 0.02);
circle ({i,j}, s, "FILL")
)
);
);
ご協力ありがとうございました。
一番、
TS
グラフィックスクリプティングRe: グラフ ビルダー > グラフィックス スクリプトの追加 >形状、アイコン、または画像のカスタマイズを追加しますか?また、 PixelPath()関数。 おそらく数千のポイントでパフォーマンスの問題が発生した場合、PixelPath を使用すると、既存のパスを再配置、サイズ変更、および回転できます。 (私はそれを行う方法がわかりません道() .) 星を一度事前に作成してから、PixelPath でそれらを再利用できます。
グラフを拡大すると、Path() と PixelPath() の動作が異なります。Path はユーザー座標で描画され、描画は現在の軸に合わせて拡大されます。 PixelPath はピクセル単位で描画し、シンボルのサイズは変わりません。
スクリプト インデックスには、PixelPath の例があります。 PixelOrigin(x,y) を使用し、h,v を 0,0 のままにします。
Re: グラフ ビルダー > グラフィックス スクリプトの追加 >形状、アイコン、または画像のカスタマイズを追加しますか?
N-pointed starsN-pointed starsN 先の尖った星
makestar = Function( {x, y, npoints, inside, outside},
{p = J( 2 * npoints, 3, . ), angle, i, move = 1, draw = 2},
For( i = 1, i < N Rows( p ), 0,
angle = 2 * Pi() * i / N Rows( p );
p[i, 1] = x + Sin( angle ) * inside; // sin and cos are reversed here to
p[i, 2] = y + Cos( angle ) * inside; // make the point be at the top.
p[i, 3] = If( i == 1, move, draw ); // swap sin/cos for point at left.
i += 1;
angle = 2 * Pi() * i / N Rows( p );
p[i, 1] = x + Sin( angle ) * outside; // ditto
p[i, 2] = y + Cos( angle ) * outside;
p[i, 3] = If( i == N Rows( p ), -draw, draw );
i += 1;
);
p; // return
);
New Window( "Example",
gb = Graph Box(
xaxis( Show Major Grid( 1 ) ),
yaxis( Show Major Grid( 1 ) ),
framesize( 500, 500 ),
Pen Color( "red" );
Pen Size( 3 );
Fill Color( "blue" );
npoints = 3; // each star gets more points below
For( xx = 20, xx <= 80, xx += 20,
For( yy = 20, yy <= 80, yy += 20,
// the inside/outside ratio needs to change with more points...
p = makestar( xx, yy, npoints, 2 + npoints / 4, 8 );
Path( p, 1 ); // blue solid fill
Path( p, 0 ); // red outline
npoints += 1;
)
);
)
);
// move the grid lines above the stars
grid = gb[framebox( 1 )] << find seg( SegPlaceholder( 1 ) );
// grid is the original, below the stars
gb[framebox( 1 )] << appendseg( grid ); // makes a copy above
// probably not needed...they are on top of each other...
grid << delete; // delete the original from below
Re: グラフ ビルダー > グラフィックス スクリプトの追加 >形状、アイコン、または画像のカスタマイズを追加しますか?クレイジ様
ご提案ありがとうございます、この方法を検討します。 ただし、特に探しているフィードバックを得るのに十分な詳細を提供していない可能性があります.
私が取り組んでいる特定のケースでは、セル全体のヒートマップに形状を追加して、これらの間のコントラストの重要性を示しています。 これまでのところ、円を使用してすべてが計画どおりに機能していますが、星や別のカスタム形状などの別の形状で同じことを行うことを探しています.
よろしくお願いします、
TSRe: グラフ ビルダー > グラフィックス スクリプトの追加 >形状、アイコン、または画像のカスタマイズを追加しますか?パス()関数?
ベジェ補間とPath() を使用したベジエ ツリー(そして、スクリプト インデックスには、おそらくより単純な非ベジエ例)
また、列プロパティ UseForMarker は画像列で機能しますが、各マーカーのデータ ポイントがないように思えます。
UseForMarker を使用せずに画像やアイコンを取得する唯一の方法は、マーカーごとに個別の画像セグメントを作成することだと思います。 セグメントごとに配置できます。