styles/ggplot.Style.ps1
# ggplot2 default gray style # https://github.com/tidyverse/ggplot2/blob/master/R/theme-defaults.r Set-StrictMode -Version 3 $baseSize = 11.0 $baseLineSize = $baseSize / 22 $baseRectSize = $baseSize / 22 $halfLine = $baseSize / 2 $config = @{ # Default "PlotModel.DefaultFontSize" = $baseSize, "pt" # PlotArea "PlotModel.PlotAreaBackground" = "#E5E5E5" "PlotModel.PlotAreaBorderThickness" = 0 "PlotModel.TitleFontSize" = ($baseSize * 1.2), "pt" "PlotModel.SubtitleFontSize" = ($baseSize * 0.9), "pt" # Legend "PlotModel.LegendPosition" = "RightMiddle" "PlotModel.LegendPlacement" = "Outside" "PlotModel.LegendBorder" = "gray" "PlotModel.LegendBorderThickness" = "1px" "PlotModel.LegendTitleFontSize" = $baseSize, "pt" "PlotModel.LegendTitleFontWeight" = 800 "PlotModel.LegendFontSize" = $baseSize, "pt" "PlotModel.LegendLineSpacing" = $baseLineSize, "pt" # *Axis: Tick "*Axis.TickStyle" = "Outside" "*Axis.TicklineColor" = "#4D4D4D" "*Axis.TextColor" = "#4D4D4D" "*Axis.FontSize" = ($baseSize * 0.8), "pt" # *Axis: MinorTick "*Axis.MinorTickSize" = 0 # *Axis: MajorGridline "*Axis.MajorGridlineStyle" = "Solid" "*Axis.MajorGridlineColor" = "White" "*Axis.MajorGridlineThickness" = "1px" # *Axis: MinorGridline "*Axis.MinorGridlineStyle" = "Solid" "*Axis.MinorGridlineColor" = "#F0F0F0" "*Axis.MinorGridlineThickness" = "1px" # *Axis: Title "*Axis.TitleFontSize" = ($baseSize * 1.2), "pt" "*Axis.TitleColor" = "#4D4D4D" "*Axis.AxisTitleDistance" = ($baseSize * 2), "pt" # CategoryAxis: FontSize "CategoryAxis.FontSize" = $baseSize, "pt" # *Series "*Series.StrokeThickness" = "1px" "*Series.StrokeColor" = "Automatic" "*Series.FillColor" = "Automatic" "*Series.FontSize" = $baseSize, "pt" # Scatter*Series "Scatter*Series.MarkerType" = "Diamond" "Scatter*Series.MarkerSize" = "3px" # BoxPlotSeries "BoxPlotSeries.Fill" = "White" "BoxPlotSeries.StrokeThickNess" = "2pt" "BoxPlotSeries.WhiskerWidth" = 0 "BoxPlotSeries.OutlierSize" = "3pt" # PieSeries "PieSeries.StartAngle" = -90 "PieSeries.Diameter" = 0.9 "PieSeries.InnerDiameter" = 0.4 "PieSeries.AreInsideLabelsAngled" = $true # Event hook "[BeforeRendering]" = { param($m) if ($m.DefaultColors.Count -eq 0 -or $m.Series.Count -gt 0) { $n = $m.Series.Count if ($n -eq 1) { if ($m.Series[0] -is [OxyPlot.Series.PieSeries]) { $m.DefaultColors = Get-OxyHuePalette -N $m.Series[0].Slices.Count } else { $m.DefaultColors = [OxyPlot.OxyColor[]]@(New-OxyColor black) } } else { $m.DefaultColors = Get-OxyHuePalette -N $n } } } } Add-OxyStyle ggplot $config |