我有一个大型数据集,我有多个图。我知道建议使用facet,但我的观众更喜欢同一绘图区域中的多个范围。我在同一个图中有多达7个不同的变量/范围 - 由下面的代码片段中的type
表示。
我有一些参数在所有图中保持不变(在初始ggplot语句ggplot(dat, aes(x = loc_time, y = <variable_name>)
之后:
geom_point(aes(shape = type, color = type, fill = type)) +
scale_shape_manual(values = c(21,22,23,25,15,17,16)) +
scale_fill_manual(values = c('#e41a1c','#377eb8','#4daf4a','#984ea3', '#ff7f00','#a65628','#f781bf','black')) +
scale_color_manual(values = c('#e41a1c','#377eb8','#4daf4a','#984ea3', '#ff7f00','#a65628','#f781bf','black')) +
scale_size_manual(values = c(1,2,2,1,2,2,1)) +
geom_line(aes(color = type))
xlab("Local Time")
我可以复制粘贴此信息。所有的情节陈述,但想知道是否有办法宣布这一次。
我发现这篇文章Reset the graphical parameters back to default values without use of dev.off(),但它并没有完全回答我的问题。
答案 0 :(得分:2)
您可以这样做:
定义你的功能:
<console>:143: error: overloaded method value filter with alternatives:
(func: org.apache.spark.api.java.function.FilterFunction[org.apache.spark.sql.Row])org.apache.spark.sql.Dataset[org.apache.spark.sql.Row] <and>
(func: org.apache.spark.sql.Row => Boolean)org.apache.spark.sql.Dataset[org.apache.spark.sql.Row] <and>
(conditionExpr: String)org.apache.spark.sql.Dataset[org.apache.spark.sql.Row] <and>
(condition: org.apache.spark.sql.Column)org.apache.spark.sql.Dataset[org.apache.spark.sql.Row]
cannot be applied to (Boolean)
inputDF.filter(inputDF("connState") == "BALANCED").show()
然后应用它:
format_cust <- function(.x) {
.x +
geom_point(aes(shape = type, color = type, fill = type)) +
scale_shape_manual(values = c(21,22,23,25,15,17,16)) +
scale_fill_manual(values = c('#e41a1c','#377eb8','#4daf4a','#984ea3', '#ff7f00','#a65628','#f781bf','black')) +
scale_color_manual(values = c('#e41a1c','#377eb8','#4daf4a','#984ea3', '#ff7f00','#a65628','#f781bf','black')) +
scale_size_manual(values = c(1,2,2,1,2,2,1)) +
geom_line(aes(color = type)) +
xlab("Local Time")
}