2016-03-17 5 views
1

Я использую qplot в библиотеке ggplot2 для создания линейного графика. Я пытаюсь изменить цвет и ширину линии. Проблема состоит в том, что ширина линии, по-видимому, ограничена, независимо от значений, которые я даю параметру. В функции qplot я также попытался использовать «размер» вместо «lwd», но это не имеет значения.Увеличение максимальной ширины линии в линейном графике

В качестве примера, эти значения приводят на первом графике:

line.x <- c(1,2,3,4,5) 
line.y <- c(1,2,3,4,5) 
line.width <- c(1,2,3,4,5) 
line.color <- c(1,2,3,4,5) 
qplot(line.x, line.y, geom = 'line', lwd = line.width, colour = line.color) + 
    scale_color_gradientn(colours=rainbow(50)) + 
    theme(legend.position="none") 

enter image description here

Если я меняю 4-е значение в line.width до 40, он просто делает другие части относительно тоньше:

line.width <- c(1,2,3,40,5) 

enter image description here

снова Увеличение до 400 имеет такой же эффект, где четвёртый сегмент может быть расширен только до максимальной ширины:

line.width <- c(1,2,3,400,5) 

enter image description here

Как примечание, мой фактический набор данных будет иметь сотни значений, и больше похоже на следующее: enter image description here

Есть ли способ увеличить максимальную толщину линии?

ответ

4

вы можете использовать scale_size():

qplot(line.x, line.y, geom = 'line', lwd = line.width, colour = line.color ) + 
    scale_size(range = c(1, 20)) + 
    scale_color_gradientn(colours=rainbow(50)) + 
    theme(legend.position="none") 

enter image description here

+0

Спасибо! Можете ли вы объяснить, как работает функция scale_size()? Я прочитал документацию, но не понимаю. –

Смежные вопросы