我目前正在使用条形图和折线图绘制一个双轴图,并想在图表底部添加一个图例,以显示蓝色条形图代表新建筑,橙子线表示平均租金价格。然而,我无法在ggplot中这样做。通常我们使用aes(color=[variable]),但在这种情况下,我只想显示不同的图代表条形图和折线。
目前我只是想添加aes(),有没有办法改变我的代码,使aes()可以读取一个单一的变量,给予我一个传奇,或者我可以简单地添加一个传奇没有aes()在我的代码?
ggplot(new_construction, aes(year, total_new_constructions)) +
geom_col(aes(color=total_new_constructions), color="blue", fill="blue", legend.text = "Amount of new construction") +
geom_line(aes(y = a + average_rental_prices*b, color=total_new_constructions), color = "orange", lwd=1.5, legend.text = "Average rental price") +
scale_y_continuous(
name = "Total New Constructions", breaks=seq(0, 30000, by=10000),
sec.axis = sec_axis(~ (. - a)/b, name = "Average Rental Prices", breaks=seq(0,4000, by=1000))) +
scale_x_continuous("Year", seq(2000, 2018)) +
labs(title="Total New Constructions and Average Rental Prices (2000-2018)", subtitle = "Data Source: TidyTuesday R") +
theme(legend.position="bottom") +
theme_minimal()
字符串
1条答案
按热度按时间hc2pp10m1#
您可以在
color
和/或fill
aes上Map一个常量值,然后通过scale_color/fill_manual
设置颜色和标签。使用一些虚假的示例数据:
字符串