如何在ggplot2的同一图表中为不同的分位数添加不同的图例?

时间:2017-06-06 07:07:32

标签: r ggplot2

               taus <-c(0.05  , 0.25, 0.50 , 0.75, 0.90 , 0.95)

                m <- ggplotRegression( lm(formula = BMI ~   height_in_m 
                  +weight_in_kg+ Highest_Education_level + 
                   wealth_index + age_in_year_groups, data = dat_new))

             m+geom_quantile(quantiles=taus, lwd=1.5 , col="green4", 
             fill=taus)

}

static void Main(string[] args)
        {
            // Set some variables...
            string rgName = "numbers1102rg";
            string appName = SdkContext.RandomResourceName("WebApp", 20);

            // Authenticate
            var credentials = SdkContext.AzureCredentialsFactory
                .FromFile(Environment.GetEnvironmentVariable("AZURE_AUTH_LOCATION"));

            var azure = Azure
                .Configure()
                .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
                .Authenticate(credentials)
                .WithDefaultSubscription();

            // Create the web app
            Console.WriteLine("Creating Web App...");
            var app = azure.WebApps.Define(appName)
                .WithRegion(Region.USEast)
                .WithNewResourceGroup(rgName)
                .WithNewFreeAppServicePlan()
                .DefineSourceControl()
                .WithPublicGitRepository("https://github.com/Azure-Samples/app-service-web-dotnet-get-started")
                .WithBranch("master")
                .Attach()
                .Create();
            Console.WriteLine("Your web app is live at: https://{0}", app.HostNames.First());

            // Wait for the user
            Console.WriteLine("Press enter to continue...");
            Console.ReadLine();
        }

enter image description here

现在我想为每个分位数添加特定颜色,并为每个分位数添加特定的图例。

1 个答案:

答案 0 :(得分:2)

许多ggplot统计信息允许您使用..中附带的计算结果,例如geom_density ..count..aes可以使用geom_quantile

使用..quantile..,您可以使用df <- data_frame(x = rnorm(100), y = rnorm(100)) ggplot(df, aes(x, y)) + geom_point() + geom_quantile(aes(colour = as.factor(..quantile..)))

geom_quantile

诀窍是找出调用这些变量的内容。需要计算统计信息的地理位置(例如geom_densityggproto)具有关联的StatQuantile对象,例如StatDensitycompute_group,其中包含计算代码在一个名为StatQuantile$compute_group的元素中。

plyr::ldply(quantiles, quant_pred, data = data, method = method, formula = formula, weight = weight, grid = grid, method.args = method.args) 的最后一个命令是

quant_pred

此处的函数ggplot2:::quant_pred - 您可以使用quantile查看,返回一个列表。此列表的组件(包括aes)可以在<FrameLayout android:id="@+id/seeMoreContainer" android:layout_width="match_parent" android:layout_height="match_parent"> </FrameLayout> 中使用。