に変更します.3つのパラメータx、y、zを持つfunction_3dがあるとします。 Iは、配列中xのggplot2を使用してこの機能をプロットしていggplot2の2番目のグループのタイトルをR
function_3d <- function(x, y, z) {
return(x + y * 10 + z * 100)
}
(0、10、1)YがC(1、3、5、7)の値を有している:関数は以下のように定義されているとzはc(2、4、6)からの値を有する。ここで
は私のアプローチです:
require('ggplot2')
require('dplyr')
function_3d <- function(x, y, z) {
return(x + y * 10 + z * 100)
}
x_vec <- seq(0, 10, 1)
y_vec <- c(1, 3, 5, 7)
z_vec <- c(2, 4, 6)
allframes <-
lapply(z_vec, function(inp.z.val) {
(lapply(y_vec, function(inp.y.val)
{
data.frame(
x = x_vec,
y = function_3d(x = x_vec,
y = inp.y.val,
z = inp.z.val),
group_y = inp.y.val,
group_z = inp.z.val
)
}))
})
# Bind all the frames
# Note: we can use dply::bind_rows instead of rbind
df.out <- do.call(rbind, do.call(rbind, allframes))
ggplot(df.out,
aes(
x = x,
y = y,
shape = factor(group_y),
colour = factor(group_z),
group = interaction(group_y, group_z)
)) +
geom_line(aes(linetype=factor(group_y)), alpha = .9, size = 1) +
scale_x_continuous(name = "X Label") +
scale_y_continuous(name = "Y Label") +
ggtitle("Plot Title") +
scale_colour_brewer(palette = "Set1") +
labs(aes(colour = "Label of each plot z")) +
theme(legend.key.width=unit(3, "line"))
、結果は次のとおりです。
今、私は2つの質問があります。
1)どのように私は、yのラベルを変更することができますグループ(私は変更係数(group_y)テキストを意味する)?
2)このプロットを作成するには、より良い方法がありますか?終わりに追加