我的目標是根據數據縮放ggplot中geom_line的線寬。我已經閱讀了一些相關的帖子,但我仍然努力實現自己的目標。相關職位包括:使用ggplot和geom_line美學根據數據更改線寬度
這篇文章是我非常關注的問題,雖然我感到困惑的地方Freq
在實例初始化:Different size for lines in ggplot2's geom_line
這裏是我的代碼。請注意,我用發生變異初始化一個新的變量,line_size,我再在我的geom_line使用:
suppressWarnings(suppressMessages(library(dplyr)))
library(ggplot2)
exps <- mutate(exps, line_size = ifelse(var1 == 'foo', 2, 1))
# (this is in a function, so I'm using aes_string to interpret ind_var_arg, which is a function argument)
ggplot(exps, aes_string(x="ind_var_arg", y=dep_var)) +
geom_line(aes(size=line_size, linetype=major_version,
color=config), alpha=alpha_level)
所以,我想作出一些特別的線路(符合VAR1的那些==' foo')厚度爲2,其餘爲厚度1.因爲我希望大小根據數據而有所不同,所以我在geom_line中使用了aes。由此產生的圖像不是我所期待的 - 較粗的線條很大,其他線條比默認線條更粗。當我將line_size中的值更改爲較小的值(如0.1和0.05)時,線條粗細不會改變。我檢查了我正在繪製的數據框的內容(exps),並且line_size被初始化爲我所期望的(一排沒有NAs的雙打)。
很明顯,我在這裏沒有正確使用line_size。我究竟做錯了什麼?我想明確使用line_size的內容作爲該行的大小。
這裏的數據幀是我策劃的結構:
glimpse(exps)
$ dep_var <int> 1000000, 1000000, 1000000, 1000000...
$ config <chr> "config1", "config1", "config2", ...
$ ind_var_arg <dbl> 5198283352, 420183942, 125450482, ...
$ var1 <chr> "bar", "foo", "bar", "bar", "bar",...
$ major_version <chr> "ONE", "TWO", "ONE", "ONE", "ONE",...
$ line_size <dbl> 0.005, 20.000, 0.005, 0.005, 0.005...
顯示一些數據或沒有人可以幫你 –
發佈了一些數據 – Kulluk007
在這裏所做的回答得到你想要的是什麼? http://stackoverflow.com/questions/17996410/ggplot-specific-thick-line –