在圖表上繪製線條和箭頭的問題我正在嘗試一些實驗,想弄清楚如何在 JSL 中在圖表上繪製線條和箭頭。腳本指南中沒有太多幫助我的內容,而且我在社群中也沒有看到任何之前發布的內容。我已將我的 JSL 腳本和資料表上傳到下方。
在資料表中,我計算了間隔 5 度的單位圓的座標。我用圖形生成器繪製了這些座標…

最初,我想做的是從原點到每個點編寫一個箭頭。這是我正在使用的腳本。運行它時沒有出現任何錯誤,但它始終無法繪製箭頭。我嘗試將 FOR 循環放在 Graph Builder 區塊內(如圖所示),也嘗試將其放在區塊外。但似乎都無法正常運作。
Names Default To Here (1);
dt = "Circle Arrow Data";
Graph Builder(
Size( 540, 540 ),
Graph Spacing( 10 ),
Spacing Borders( 1 ),
Variables( X( :x coord ), Y( :y coord ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
For( i=0, i<360, i+=5,
Arrow( {0,:x coord[i]}, {0, :y coord[i]})
)
);
最終,我的目標是只在選中一行或多行時才顯示箭頭,但顯然我需要先讓它正常工作。這實際上是在圖表上顯示風向,但我還在一點點學習如何在圖表上繪圖。
在此先感謝提供的任何指導。
自動化和腳本回覆:在圖表上繪製線條和箭頭的問題時機非常好:)
JMP19 中的新功能:
向量場圖表能幫助解釋上屆超級盃的表現嗎?

New Column( "x_0", Formula( 0 ));
New Column( "y_0", Formula( 0 ));
Graph Builder(
Variables( X( :x_0 ), X( :x coord, Position( 1 ) ), Y( :x_0 ), Y( :y coord, Position( 1 ) ) ),
Elements(
Line(
X( 1 ), X( 2 ),
Y( 1 ), Y( 2 ),
Ordering( "Within Row" ),
Connection( "Arrow" )
)
)
);
回覆:在圖表上繪製線條和箭頭的問題嘿@hogi,謝謝你的腳本。它運行得很好。
我正在嘗試去理解它...所以有幾個問題。
1)Position參數起什麼作用?
2)X 和 Y 參數中的 1 和 2 從何而來?
3)排序(「行內」)起什麼作用?
腳本幫助和腳本索引中關於這些功能的文件似乎非常不完整。
再次感謝。
回覆:在圖表上繪製線條和箭頭的問題我同意,腳本索引不如 Mathematica 或 Matlab 等其他程式中的索引,也不如 Python 和 C++ 的大量線上文件。有一些活動可以改善這種情況: 綜合腳本索引
另一方面,你可以透過實踐學到很多。只需開啟“圖形產生器”,使用拖放功能建立圖形即可。這只需要幾秒鐘——優化繪圖也需要幾秒鐘。然後“將腳本儲存到資料表”,並將你所做的與程式碼中的結果進行比較。
- 行順序是 JMP19 中的一項新功能。當 X 和 Y 使用多組座標時,可以使用此功能。
這是此案例的新預設選項
[注意:當我啟動該選項時,圖表不會改變]
- let's drag the coordinates into the plot, first x_0 and y_0
Variables( X( :x_0 ), Y( :y_0 ) ),
- then x_coord / y_coord
Variables( X( :x_0 ), X( :x coord, Position( 1 ) ), Y( :x_0 ), Y( :y coord, Position( 1 ) ) )
- now, we just have to activate the line plot. By default, it uses all available coordinated:
X(1) is x_0
X(2) is x_座標
Elements(
Line(
X( 1 ), X( 2 ),
Y( 1 ), Y( 2 ),
)
)
we can also deactivate variables via:
那麼程式碼將減少為:
Elements(
Line( X( 1 ), Y( 1 ),
用線和箭頭連接多個座標的圖:JMP19 的一大改進。
用線條和箭頭連接多個座標的繪圖。 JMP19 的重大改進!
試想一下,你想在同一個圖中繪製三組座標(點),而不是箭頭。然後,你必須在圖表中新增三個點圖,並停用「其他」座標三次。雖然可以,但很亂!

想像一下如果你想繪製十組座標!
合乎邏輯的下一步是將新的「行內」功能複製到點圖。
多個 x 和 y 資料集繪製為“對”,無需堆疊列
我真的希望這個功能能夠盡快實現!
回覆:在圖表上繪製線條和箭頭的問題那麼,X 和 Y 函數中的 1 和 2 個參數只是它們在變數函數中列出的順序嗎?我的理解正確嗎?
那麼 Position(1) 在 Variables 函數中扮演什麼角色呢?這似乎會使 :x 座標和 y: 座標變為 1,而不是 x_0 y_0。
抱歉。這讓我有點困惑。
回覆:在圖表上繪製線條和箭頭的問題啊…所以我把 position(1) 去掉,然後執行腳本。結果如下…

因此,添加變數的方式將導致四個獨立的圖表。 “位置”指令用於選擇顯示哪個圖表。
我認為那是對的...
我會再多試試這個。以後可以做個很棒的教學影片。
感謝您對此的所有幫助
回覆:在圖表上繪製線條和箭頭的問題: )
正如承諾的那樣,透過「實踐」從腳本中學習真的很容易!
除此之外,透過這種方式,學習效果很有可能會更好。:)
回覆:在圖表上繪製線條和箭頭的問題是的。我同意。但有時還是很難理解到底發生了什麼事。
例如,我把 Position(1) 替換成了 Position(2),以為這樣會顯示圖表的另一個像限。但是……它什麼事也沒發生。所以 Position(1) 中的 1 很可能是一個布林值。
我在網路上、腳本索引或線上幫助裡都找不到任何相關資訊。也許我找錯地方了。
無論如何,再次感謝。
回覆:在圖表上繪製線條和箭頭的問題而不是嘗試編寫程式碼並檢查其如何工作...
嘗試相反的方法:
在 Graph Builder 中建立複雜圖表後,檢查程式碼並得出結論:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Variables(
X( :height ),
Y( :name ),
Y( :weight ),
Y( :height, Position( 2 ) ),
Y( :age ),
Overlay( :sex )
),
Elements( Position( 1, 1 ), Points( X, Y ) ),
Elements(
Position( 1, 2 ),
Points( X, Y( 1 ), Y( 2 ), Legend( 1 ) ),
Smoother( X, Y( 1 ), Y( 2 ), Legend( 2 ) )
),
Elements( Position( 1, 3 ), Points( X, Y ) )
);
如果只有 2 個項目,則新增第二個條目和將第二個條目新增為第二個條目之間沒有差異。
Position(2) 適用於三個及以上項目的情況。預設情況下,第三個項目會被加為第三個。如果您想做其他事情,可以將其添加到 Position(2)。