我是 JSL 的新手。 我的問題是如何將行狀態標記更改為與列相同的值。 我有一列包含 1,2,3,4....350。 我想在圖形產生器中顯示數字作為標記,而不是鑽石、* 或圓圈。 有什麼方法可以引用標記狀態中的列值嗎?
例如,
對於每一行( 行狀態( Row() ) = 標記狀態( :M) ) ); -> 這會將所有資料的標記變更為 M
對於每一行( 行狀態( Row() ) = 標記狀態( :Column("Die") ) ); -> 這不起作用。
我沒有使用過腳本。 我只是好奇它是如何工作的。 我真的很感謝你的時間和精力。
謝謝您的幫忙。
人們可以互動地將每個標籤拖曳到新位置,但該解決方案是不可接受的。 一些標籤的手動重新定位可以在腳本中捕獲,然後擴展到所有標記,但我還沒有研究過。 我相信該腳本需要確定每個標籤的大小(以像素為單位)並將笛卡爾座標轉換為像素。
非常感謝馬克。 這正是我想要的。 我是否可以將標籤放置在點的頂部而不是側面?
要用作標記標籤的值必須是指定用作標籤的資料列中的值。 在此使用 Big Class 資料表的範例中,姓名列被指定為標籤列。 你必須進一步選擇所有要標記的行然後選擇排>標籤應用標籤。 在本例中,我選擇了所有行。 圖形產生器中的結果如下所示:

這個結果是你想要的嗎?
我建議你去閱讀幫助>圖書> 基本繪圖以獲取更多資訊和範例。
抱歉之前說了我的目標。 我的目標是用資料值製作我的圖形產生器標記。 想像它是一個數字數組中的一個數組。 我使用圖表的軸來顯示它們的物理位置,並且數據點應顯示其對應的骰子的值。
如果你檢查附圖,數字 274 應該代表突出顯示的標記。
誰能幫我這個?
太感謝了。
你之前沒有提到標籤。 除了標記(形狀)之外,各個標記還可以用一個或多個資料列中的資料值來標記。 您指定將哪些列用作標籤。 選擇帶有標籤資料的列,然後選擇“列”>“標籤”。 設定標籤後,現在選擇所有行。 選定的行將在圖形產生器中標記。
很抱歉,我們一次只採取這一步驟,但您的整體目標尚不清楚。
謝謝你的回复,馬克。 那麼,有沒有一種方法可以將標籤永久地標記在圖表的值上呢?
行狀態與觀察值(行)相關聯,而不是與變數(列)相關聯。 如果您想為每列使用不同的標記,則可以在圖形產生器中變更標記。 下面是一個簡單範例的腳本,根據第 1 列繪製第 2-4 列。
Graph Builder(
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X( :Name( "1" ) ),
Y( :Name( "2" ) ),
Y( :Name( "3" ), Position( 1 ) ),
Y( :Name( "4" ), Position( 1 ) )
),
Elements(
Points( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 5 ) ),
Smoother( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 6 ) )
),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
5,
Base( 0, 0, 0 ),
Base( 1, 0, 1 ),
Base( 2, 0, 2 ),
Properties( 0, {Marker( "Diamond" ), Fill Color( 0 )} ),
Properties( 1, {Marker( "Triangle" ), Fill Color( 0 )} ),
Properties( 2, {Marker( "Square" ), Fill Color( 0 )} )
)}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {5, [3, 4, 5], 6, [0, 1, 2]} ),
Position( {3, 4, 5, 0, 1, 2} )}
)
)
);
我建議您首先以互動方式嘗試這種更改。 像往常一樣在 Y 角色中設定幾列。 然後右鍵單擊繪圖並選擇自訂。 您將看到一個對話框,其中包含可自訂物件的列表,包括目前標記。 現在,一次在清單中選擇一個標記,然後點擊右側的當前標記並選擇另一個標記。
腳本可以設定圖形產生器,然後循環瀏覽每一列並更改標記。
順便說一句,您可以使用任何 Unicode 字元作為標記。 請注意,標記只能是一個字元。