Изменение размеров фасетов на основе количества элементов (вместо изменения размера самих элементов) [дубликат]

@Esteban, код, который вы указали, прав, спасибо, но неполный, я его протестировал. В классе «UserEmail» отсутствуют свойства:

    public UserTest UserTest { get; set; }
    public EmailTest EmailTest { get; set; }

Я отправляю код, который я тестировал, если кто-то заинтересован. С уважением

using System.Data.Entity;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;

#region example2
public class UserTest
{
    public int UserTestID { get; set; }
    public string UserTestname { get; set; }
    public string Password { get; set; }

    public ICollection<UserTestEmailTest> UserTestEmailTests { get; set; }

    public static void DoSomeTest(ApplicationDbContext context)
    {

        for (int i = 0; i < 5; i++)
        {
            var user = context.UserTest.Add(new UserTest() { UserTestname = "Test" + i });
            var address = context.EmailTest.Add(new EmailTest() { Address = "address@" + i });
        }
        context.SaveChanges();

        foreach (var user in context.UserTest.Include(t => t.UserTestEmailTests))
        {
            foreach (var address in context.EmailTest)
            {
                user.UserTestEmailTests.Add(new UserTestEmailTest() { UserTest = user, EmailTest = address, n1 = user.UserTestID, n2 = address.EmailTestID });
            }
        }
        context.SaveChanges();
    }
}

public class EmailTest
{
    public int EmailTestID { get; set; }
    public string Address { get; set; }

    public ICollection<UserTestEmailTest> UserTestEmailTests { get; set; }
}

public class UserTestEmailTest
{
    public int UserTestID { get; set; }
    public UserTest UserTest { get; set; }
    public int EmailTestID { get; set; }
    public EmailTest EmailTest { get; set; }
    public int n1 { get; set; }
    public int n2 { get; set; }


    //Call this code from ApplicationDbContext.ConfigureMapping
    //and add this lines as well:
    //public System.Data.Entity.DbSet<yournamespace.UserTest> UserTest { get; set; }
    //public System.Data.Entity.DbSet<yournamespace.EmailTest> EmailTest { get; set; }
    internal static void RelateFluent(System.Data.Entity.DbModelBuilder builder)
    {
        // Primary keys
        builder.Entity<UserTest>().HasKey(q => q.UserTestID);
        builder.Entity<EmailTest>().HasKey(q => q.EmailTestID);

        builder.Entity<UserTestEmailTest>().HasKey(q =>
            new
            {
                q.UserTestID,
                q.EmailTestID
            });

        // Relationships
        builder.Entity<UserTestEmailTest>()
            .HasRequired(t => t.EmailTest)
            .WithMany(t => t.UserTestEmailTests)
            .HasForeignKey(t => t.EmailTestID);

        builder.Entity<UserTestEmailTest>()
            .HasRequired(t => t.UserTest)
            .WithMany(t => t.UserTestEmailTests)
            .HasForeignKey(t => t.UserTestID);
    }
}
#endregion
26
задан jon 4 May 2012 в 20:12
поделиться

1 ответ

Если я правильно вас понимаю, space = "free_x" делает то, что вы хотите.

library(ggplot2)

ggplot(mydf, aes(X, Y)) + geom_point()+ 
facet_grid (.~ groups, scales = "free_x", space = "free_x")

enter image description here [/g0]

И если вам нужен тот же стиль маркировки на оси х:

ggplot(mydf, aes(X, Y)) + geom_point()+ 
 scale_x_continuous(breaks = seq(0,20,2)) +
 facet_grid (.~ groups, scales = "free_x", space = "free_x")

enter image description here [/g1]

40
ответ дан Sandy Muspratt 19 August 2018 в 03:35
поделиться
  • 1
    space поддерживается только для facet_grid. Что делать для facet_wrap? Какие-нибудь варианты? – Paul McMurdie 13 November 2017 в 02:55
  • 2
    Извините, удалил мой комментарий о space, потому что я обнаружил, что ошибка нераспознанного аргумента была специфичной для facet_wrap. – Paul McMurdie 13 November 2017 в 02:56
  • 3
    @PaulMcMurdie Насколько я знаю, facet-wrap никогда не поддерживал аргумент space, но многие команды facet_wrap могут быть представлены как команды facet-grid. Если у вас есть сюжет, где это невозможно, лучше спросить новый вопрос. – Sandy Muspratt 14 November 2017 в 08:18
Другие вопросы по тегам:

Похожие вопросы: