Adding legend to a single line chart using ggplot

☆樱花仙子☆ 提交于 2019-12-22 06:39:35

问题


I just try to make a line chart and add a legend to it using ggplot in R. The following is my code.

ggplot(mtcars, aes(x=mpg, y=wt)) + geom_line(stat = "identity") + scale_fill_identity(name = "", guide = "legend", labels = c("myLegend"))

and I got the following:

The legend is not shown in the plot and what I want is the following:

which I plot using Matlab. Could anyone tell me how to do it in R? Thank you so much!!


回答1:


You plot is not showing a legend, because there are no aesthetics mapped to the line. Basically, ggplot sees no reason to add a legend as there's only one line.

A simple way to get a legend is to map the line type to a character string:

ggplot(mtcars, aes(x=mpg, y=wt, lty = 'MyLegend')) + geom_line()

You can have a look at ?scale_linetype for information on how to modify tthat legend.

For example, use + scale_linetype('MyLegendTitle') to change the legend title.



来源:https://stackoverflow.com/questions/39328023/adding-legend-to-a-single-line-chart-using-ggplot

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!