Это для динамических # недель.
Полный пример здесь: SQL Dynamic Pivot
DECLARE @DynamicPivotQuery AS NVARCHAR(MAX)
DECLARE @ColumnName AS NVARCHAR(MAX)
--Get distinct values of the PIVOT Column
SELECT @ColumnName= ISNULL(@ColumnName + ',','') + QUOTENAME(Week)
FROM (SELECT DISTINCT Week FROM #StoreSales) AS Weeks
--Prepare the PIVOT query using the dynamic
SET @DynamicPivotQuery =
N'SELECT Store, ' + @ColumnName + '
FROM #StoreSales
PIVOT(SUM(xCount)
FOR Week IN (' + @ColumnName + ')) AS PVTTable'
--Execute the Dynamic Pivot Query
EXEC sp_executesql @DynamicPivotQuery
Начальный график:
library(ggplot2)
p <- ggplot(Golden_Egg_df, aes(x = month, y = egg_diameter)) +
geom_point() + geom_line() +
stat_QC(method = "XmR")
Вот один вариант, в котором мы используем ggplot_build
для извлечения данных из красных линий. Вы можете прочитать больше об объекте ggplot_build
здесь: https://rud.is/books/creating-ggplot2-extensions/demystifying-ggplot2.html#the-ggplot_built-object
thres
содержит значения у красных линий.
thres
#[1] 0.7319105 2.3820961
Если вы хотите выделить только точку выше (или ниже) этих значений, добавьте еще один точечный слой с подмножеством исходных данных
p + geom_point(
data = subset(Golden_Egg_df,
egg_diameter > max(thres) | egg_diameter < min(thres)),
shape = 21,
size = 4,
col = "red"
)