Для аналогичного проекта, чтобы получить новый ключ, я создаю функцию-обертку вокруг генератора случайных строк , который вызывает генератор, пока я не получу строку, которая еще не была использована в моей хэш-таблице , Этот метод будет замедляться, как только ваше пространство имен начнет заполняться, но, как вы уже сказали, даже с 6 символами, у вас есть много пространства имен для работы.
Ссылаясь на , эта ссылка :
facet_grid
разбивает данные на грани на одну или две переменные, которые изменяются в горизонтальном и / или вертикальном направлениях, тогда как facet_wrap
помещает грани рядом друг с другом, обертывая определенным количеством столбцов или строк. Другими словами, facet_wrap
имеет только горизонтальный размер.
Поэтому, используя пример из этой ссылки, sp + facet_grid(. ~ sex)
будет вести себя так же, как sp + facet_grid( ~ sex)
. В вашем случае facet_grid(. ~ referencia)
и facet_wrap( ~ referencia)
должны отображать один и тот же график.
Для двух или более фазовых граней facet_grid
создает сетку графиков на основе параметра (vertical ~ horizontal)
. facet_wrap
, с другой стороны, будет просто складывать графики по горизонтали. Затем пользователь может установить макет, указав количество столбцов или строк.
Теперь, когда добавлен аргумент scales = "free"
, грани в facet_grid
все равно будут ограничены сеткой, поэтому графики на одна и та же строка не может иметь другую ось y. Аналогично, для каждого столбца может быть только одна ось x. Однако, используя facet_wrap
, каждый график отображается независимо, поэтому он может «освобождать» ось x и ось y.
На мой взгляд, facet_grid
полезна, когда вы хотите относительно сравнить графики в пределах категории, что может быть достигнуто путем установки одинаковых осей. Между тем, facet_wrap
более полезен для участков, которые более независимы друг от друга.