Commit d3bbae41 authored by Reinhold Kainhofer's avatar Reinhold Kainhofer

plotMortalityTAbleComparisons: Add ages, legend.justification arguments;...

plotMortalityTAbleComparisons: Add ages, legend.justification arguments; disable x-axis breaks (i.e. let R choose the proper labels)
parent 3300c30f
......@@ -9,10 +9,12 @@
#' @export
plotMortalityTableComparisons = function(
data, ...,
ages = NULL,
xlim = NULL, ylim = NULL,
xlab = NULL, ylab = NULL,
title = "",
legend.position = c(0.9,0.1), legend.key.width = unit(25, "mm"),
legend.position = c(0.9,0.1), legend.justification = c(1, 0),
legend.key.width = unit(25, "mm"),
reference = NULL)
{
# If no reference mortality table is given, use the first table (data if its a mortality table)
......@@ -24,7 +26,10 @@ plotMortalityTableComparisons = function(
}
}
if (!is.data.frame(data)) {
data = makeQxDataFrame(data, ..., reference=reference);
data = makeQxDataFrame(data, ..., reference = reference);
}
if (!is.null(ages)) {
data = data[data$x %in% ages,]
}
if (missing(xlab)) xlab = "Alter";
if (missing(ylab)) {
......@@ -39,7 +44,7 @@ plotMortalityTableComparisons = function(
plot.title = element_text(size=18, face="bold"),
legend.title = element_text(size=14, face="bold.italic"),
# legend in bottom right corner of the plot
legend.justification=c(1,0), legend.position=legend.position,
legend.justification = legend.justification, legend.position=legend.position,
# No box around legend entries
legend.key = element_blank(),
legend.key.width = legend.key.width,
......@@ -57,7 +62,7 @@ plotMortalityTableComparisons = function(
scale_x_continuous(
name = xlab,
#breaks = function (limits) scales::trans_breaks('', function(x) 10^x),
breaks = function (limits) seq(max(min(limits),0),max(limits),5),
# breaks = function (limits) seq(max(min(limits),0),max(limits),5),
minor_breaks = function (limits) seq(max(round(min(limits)),0),round(max(limits)),1)#,
#labels = scales::trans_format('log10', scales::math_format(10^.x))
......
......@@ -10,12 +10,15 @@
#' @param ylab Y-axis label (default: "Sterbewahrscheinlichkeit q_x relativ zu ....")
#' @param title The plot title
#' @param legend.position The position of the legend (default is \code{c(0.9,0.1)})
#' @param legend.justification The justification of the legend (default is \code{c(1,)})
#' @param legend.key.width The keywith of the lines in the legend (default is \code{unit(25,"mm")})
#' @param ages Plot only the given ages
#'
#' @import scales
#' @export
plotMortalityTables = function(
data, ...,
ages = NULL,
legend.title = "Sterbetafel",
xlim=NULL, ylim=NULL,
xlab=NULL, ylab=NULL,
......@@ -29,7 +32,11 @@ plotMortalityTables = function(
if (missing(xlab)) xlab = "Alter";
if (missing(ylab)) ylab = expression(paste("Sterbewahrscheinlichkeit ", q[x]));
pl = ggplot(subset(data, y > 0), aes(x = x, y = y, colour = group, shape = group)) +
data = subset(data, y > 0)
if (!is.null(ages)) {
data = data[data$x %in% ages,]
}
pl = ggplot(subset(data, y > 0), aes(x = x, y = y, colour = group, shape = group)) +
theme_bw() +
theme(
plot.title = element_text(size = 18, face = "bold"),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment