r - 使用长数据格式更改 ggplot2 图中的一种线型
问题描述
我有融化形式的数据
b <- data.table(q = seq(5),
A = rnorm(5, mean=1, sd=1),
B = rnorm(5, mean=1.5, sd=1),
C = rnorm(5, mean=2, sd=1))
longb <- melt.data.table(b, id.vars = 'q', measure.vars = c(names(b)[-1]))
绘制三条线必须做的:
ggplot(data = longb, aes(x = q, y = value, colour = variable)) +
geom_line()
如果可以将系列之一(例如 C)从线更改为虚线图(例如geom_point()
),我会徘徊吗?
解决方案
像这样的东西?
ggplot(data = longb, aes(x = q, y = value, colour = variable)) +
geom_line(aes(linetype = (variable == "C"))) +
guides(linetype = "none")
或更好:
ggplot(data = longb, aes(x = q, y = value, colour = variable)) +
geom_line(aes(linetype = variable)) +
scale_linetype_manual(values = c(1,1,3))
还是好?:
ggplot(data = longb[variable != "C"], aes(x = q, y = value, colour = variable)) +
geom_line() +
geom_point(data = longb[variable == "C"], aes(x = q, y = value))
推荐阅读
- python - 如何将多列转换为单列?
- angular - 如何从 Firestore 上的谷歌地图保存多个起点和终点/标记并列出它们
- .net-core - dotnet 还原失败并出现错误 MSB4062:无法加载“CheckForImplicitPackageReferenceOverrides”任务
- spring-boot - Springboot中的Birt
- python - 渲染具有不同预先计算的 bin 形状和频率的直方图
- reactjs - 如何使用 React.js 从模态发布动态表单数据
- vba - 如何计算一个值乘以另一个值?
- android - 如何在 Android 中的框架布局上显示可扩展布局?
- php - 按键值php的数组格式
- canvas - HTML Canvas - 使用 toDataURL 裁剪画布的旋转部分