對於Smoother線,是否可以通過數據的體積/密度來調整Smoother線的粗細?我經常使用 Smoother+Overlay 來檢查獨立分類變量如何影響時間趨勢圖中的相關連續變量。 但是我經常遇到的一個問題是當不同的類別有不同的數據量時,即使一個類別有 200 個數據點而另一個類別有 4 個數據點,更平滑的線也一樣大。 這會創建難以區分重要信號的繁忙圖。 (如果我在 Overlay 角色中檢查大量不同的獨立變量,則為每個變量排除小數據量組是很乏味的。)
有什麼方法可以做類似的事情:如果數據量大,則使平滑線變粗,如果數據量少,則使線變細? (如果線根據兩點之間的 deltaX 動態改變粗細會更好:例如,如果一個類別有兩個點相隔 1 天而另一個類別有兩個點相隔 2 天,第一個類別的平滑線將是〜兩倍厚。)
這是我正在處理的“繁忙圖表”類型:可變粗細線可以幫助我一眼就確定哪些信號很重要,哪些信號不重要。

Re: 對於平滑線,數據的體積/密度可以用來調整平滑線的粗細嗎?@馬克施瓦布,
我建議您只使用分類變量並選擇顯示選項:複選框和按計數排序
請注意,您將獲得 N,您可以輕鬆選擇多個組。 這

Graph Builder(
Size( 526, 474 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 22 ) ), Smoother( X, Y, Legend( 23 ) ) ),
Local Data Filter(
Add Filter(
columns( :sex ),
Display( :sex, "Check Box Display" ),
Order By Count( :sex )
)
)
);
希望有所幫助。
Re: 對於平滑線,數據的體積/密度可以用來調整平滑線的粗細嗎?謝謝你的方法,太棒了! 當列的數據類型 = 字符時,有什麼辦法讓它工作嗎? 當數據類型為數字時,我已經讓你的方法起作用,但是當我右鍵單擊數據類型為字符的列時,我沒有看到聚合選項。
Re: 對於平滑線,數據的體積/密度可以用來調整平滑線的粗細嗎?@馬克施瓦布,
本地數據過濾器,尤其是列轉換對您的任務非常有用。 請看下面的屏幕截圖。 您可以手動執行此操作
- 創建您的 GraphBuilder 圖
- 添加本地數據過濾器
- 選擇您的類別/覆蓋/GroupBy 列,在此示例中年齡. 右鍵單擊並選擇通過...分組
- 再次右鍵單擊並選擇聚合 > 計數. 如果您有缺失數據,請選擇您的是變量並選擇聚合>計數
- 點擊加號,添加此過濾器。
見第二張截圖圖片。 您可以滑動條形以獲得所需的相對大小。 或者甚至單獨查看低密度數據。


作為@txnelson ,吉姆,提到這很容易編寫腳本。 見下文。也就是說,“N”或計數不是最好的過濾器。您的數據可能包含 200 個 12 歲兒童的體重與身高值,而 180 個值全部針對 50< 身高 < 53。 換句話說,沒有代表高個子的孩子。
這不是您想要的,但是在“混亂”的圖表上尋找信息塊時,像這樣的數據過濾器可能非常有用。 請注意,您還可以製作上下文過濾器,其中過濾器適用於多個圖形。祝您搜索現在可以使用的東西好運。
Graph Builder(
Size( 615, 481 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :age ) ),
Elements( Points( X, Y, Legend( 50 ) ), Smoother( X, Y, Legend( 51 ) ) ),
Local Data Filter(
Add Filter(
columns(
Transform Column(
"Count[weight][age]",
Formula( Col Number( :weight, :age ) )
)
),
)
)
);
Re: 對於平滑線,數據的體積/密度可以用來調整平滑線的粗細嗎?除了手動更改線寬外,一旦顯示圖形,就必須編寫腳本來執行此操作。如果你是編劇,做這件事應該不是什麼大事。下面是一個示例硬連線腳本,可讓您了解如何處理任務。它使用 Big Class 樣本數據表作為數據源

Graph Builder(
Variables( X( :weight ), Y( :height ), Overlay( :age ) ),
Elements( Points( X, Y, Legend( 9 ) ), Smoother( X, Y, Legend( 10 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
10,
Properties( 0, {Line Width( 4 )}, Item ID( "12", 1 ) ),
Properties( 1, {Line Width( 12 )}, Item ID( "13", 1 ) )
)}
)
)
);