4
我使用點大小可視化變量。 我的問題是,第一個(最小)點大小(在本例中爲「70」)顯着(不成比例)小於其餘部分。 (見CP傳說)geom_point最小點大小不成比例
這是我使用的代碼:
ggplot(data=testdata, aes(x=variable, y=value, group=ID, size=CP)) + geom_point()
在這樣的數據:
ID CP variable value
1 C1 70 A 76
2 C2 95 A 20
3 C3 100 A 30
4 C4 NA A 17
5 C1 70 B 36
6 C2 95 B 10
7 C3 100 B 51
8 C4 NA B 41
9 C1 70 C 89
10 C2 95 C 1
11 C3 100 C 94
12 C4 NA C 6
13 C1 70 D 100
14 C2 95 D 98
15 C3 100 D 16
16 C4 NA D 33
現在,當我試圖調整點大小R不喜歡:
> testplot = ggplot(data=testdata, aes(x=variable, y=value, group=ID, size=CP)) + geom_point()
> testplot = testplot + scale_size_discrete(range=c(3,5))
Warning message:
Using size for a discrete variable is not advised.
> testplot
Error: Continuous value supplied to discrete scale
而且沒有情節產生。同爲這樣:
> testplot = ggplot(data=testdata, aes(x=variable, y=value, group=ID, size=CP)) + geom_point()
> testplot = testplot + scale_size_continuous(to=c(3,5))
Error in scale_size_continuous(to = c(3, 5)) :
unused argument (to = c(3, 5))
> testplot
Error: Continuous value supplied to discrete scale
一種解決方法:'scale_size(極限= C(1,MAX(TESTDATA $ CP) ,break = unique(testdata $ CP))',但是我不確定爲什麼默認值不起作用。對於一個連續的'size'變量,你不能使用'discrete'大小刻度,這就是爲什麼你的'scale_size_discrete ''不能修復 – Gregor
你只是缺少'range'參數而不是'to'參數 - 'scale_size_continuous(range = c(3,5))' – aosmith
感謝@aosmith確實是'scale_size_continuous(range = (3,5 ))'按預期工作。我仍然想知道爲什麼第一個點的大小非常小,除非我指定的範圍等於圖例中的步驟。數據的分類性質是否會將其搞亂?我是否必須手動調整每個圖形的範圍? –