Posted on Leave a comment

Планировка 6 на 6: особенности, руководство по выбору с фото

Содержание

Комфортная планировка дома 6 на 6 и 9 на 9 м.кв.

Папа мастер! > Строительство > Комфортная планировка дома 6 на 6 и 9 на 9 м.кв.

Планирование пространства – отнюдь не лёгкое занятие. На плечи специалиста ложится огромная ответственность, потому что он не имеет права оставить без внимания даже самую незначительную мелочь. И, если забыть о какой-нибудь комнате практически нереально, то сделать ошибку в разводке коммуникаций очень даже возможно. Вопреки сложившимся мнениям, грамотно выполнить планировку дома 6 на 6 может человек без специального образования, то есть хозяин новостроя, но не всегда. Поэтому, чтобы не винить себя в допущенных ошибках, лучше доверить все работы профессионалам. Себе оставьте предварительное планирование будущего строения и дачные постройки. Общие же представления в этой области никому не повредят.

Дом 6 на 6 – планировка мини коттеджа

Несмотря на миниатюрный размер, такой домик способен обладать не меньшей функциональностью, чем огромный коттедж. Чтобы увеличить полезную площадь, достаточно достроить второй этаж. Таким образом, места для проживания станет в два раза больше.

Теперь же, главной задачей является всё грамотно спроектировать. Начнём со второго этажа. Здесь будет достаточно двух комнат. Наилучшим вариантом для верха будет спальня и кабинет. Эти помещения будут полностью изолированы от посторонних глаз, и даже приход гостей не помешает вам в случае необходимости уединиться. При таком размещении у вас нет необходимости проводить на второй этаж воду, что даст возможность немного сэкономить.

На первом этаже дома 6 на 6 планировка также традиционная. Здесь вы делаете гостиную, спальню, кухню, ванную комнату и коридор. Учитывая наличие спальни наверху, эту можете сделать поменьше, чтобы со временем трансформировать её в детскую. Наибольше пространства выделяется для гостиной, которая должна стать лицом всего дома. Не стоит урезать в пространстве и кухню, на которой помимо готовки, можно отвести место для приёма пищи.

Чуть поменьше можно сделать ванную комнату. Расширить её функциональные возможности можно, совместив её с туалетом. В последних двух комнатах нужно как следует продумать коммуникации, не забыв о вентиляции. Она может быть естественной или принудительной, но её наличие обязательно.

планировка дома 6 на 6
планировка дома 6 на 6
планировка дома 9 на 9
дом 9 на 9 кв. м.

Наименьшая площадь отводится под коридор. Он служит пристанищем для обуви, верхней одежды, и прочих вещей, которым нет места внутри дома. Выполнив таким образом планировку дома 6 на 6, вы получите максимально функциональное пространство.

Планировка дома 9 на 9 — широкие возможности

Планирование пространства в доме 9 на 9 практически ничем не отличается от предыдущего описания, с той лишь разницей, что перед вами открываются гораздо более широкие возможности.

В двухэтажном варианте вы можете добавить ещё одну спальню на втором этаже. Таким образом, наверху у вас будет три полноценные комнаты. В расширении гостиной нет необходимости, поэтому дополнительную площадь можно использовать по-другому. Например, разграничить ванную с туалетом, сделав два отдельных помещения. Причём, коммуникации можно выполнить таким образом, чтобы в туалете находились котёл и бойлер, что скроет их от посторонних глаз.

Занимаясь планировкой дома 9 на 9, уделите внимание кухне. К ней тоже можно добавить пару квадратных метров, что в конечном итоге позволит более рационально использовать кухонное пространство. Не поленитесь и хорошо продумайте расположение предметов на кухне. Не забывайте, что холодильнику не место рядом с газовой плитой. Увеличив площадь помещения, у вас появится место для обеденного стола, что позволит объединить процесс приготовления пищи с её дегустацией.

Проект планировки дома 9 на 9 даёт возможность увеличить площадь детской комнаты. Со временем, она сможет трансформироваться в полноценную комнату для подростка.

Таким образом, вы получите 4 или 7 жилых комнат, при одно или двухэтажной постройке соответственно. Согласитесь, данный вариант полностью учитывает современные тенденции, и позволяет сполна реализовать функциональный потенциал строения. А главное, вам по силам сделать предварительный план дома вашей мечты самостоятельно. Далее специалистам будет уже легче ориентироваться в ваших желаниях. И кто знает, может, у вас с первой попытки получится идеальный вариант, не требующий доработки.

Похожие записи

Виды конструкций различных полов на железобетонных плитах, их составные слои. Оптимальные варианты

Железобетонное основание полов обладает замечательной прочностью, не…

Дом из поризованных керамических блоков теплее кирпичного!

Наряду с современными строительными материалами, практикуется изготовление…

Технология кладки стен из газобетонных блоков

По эксплуатационным характеристикам газоблоки в разы лучше кирпича. Процесс их…

Монолитное перекрытие в доме из газобетона: зачем, когда и как строить

Полностью состоящие из газобетонных блоков многоэтажные дома практически не. ..

Интересное на сайте

  • Технология кладки стен из газобетонных блоков

    По эксплуатационным характеристикам газоблоки в разы лучше кирпича. Процесс их кладки настолько прост, что с ним справится даже полностью далёкий от стройки человек. Не являются …далее… »

  • Преображение за неделю или можно ли использовать гипсокартон в ванной

    Несмотря на заявления производителей гипсокартонных листов о прекрасных влагостойких свойствах, большинство всё же не решается использовать их в местах повышенного риска, то бишь в кухне …далее… »

  • Преимущества домов из СИП-панелей

    Дома, построенный по канадской технологии, удобны для проживания зимой и летом. Они теплые, практичные и подходят даже для сурового климата. Это обусловлено особенностями технологии. При …далее… »

  • Альтернатива блокам питания для шуруповерта 12в и 18в. Замена своими руками

    Шуроповерт считается незаменимым аппаратом для специалистов, работающих им постоянно и для любителя, выполняющего отдельные виды работ. Этот инструмент стал лучшей альтернативой для отвертки, которая очень …далее… »

  • Станок для блоков своими руками – простое оборудование для изготовления керамоблоков, шлакоблоков, арболитовых, газосиликатных и других строительных блоков

    В наше стремительное время на рынке стройматериалов появляется все новая продукция, преуспевающая по многим показателям своих предшественников. Интересным фактом является то, что некоторые стройматериалы можно …далее… »

планировка и проект помещения, мансарда

Стоимость квартир зачастую ставит людей в тупик. Приобретение новой квартиры может влететь в копеечку, а коммунальные платежи регулярно растут. Поэтому для тех, кто хочет сэкономить деньги, лучшим вариантом будет постройка собственного дома 6 на 6. Кроме экономии денег, еще появится возможность оставить дом будущим поколениям.

  • Двухэтажный дом: планировка
  • Особенности размещения комнат
  • Первый этаж в классическом варианте
  • Второй ярус дома
  • Выбор материала для строительства
    • Камень или бетон
    • Преимущества и недостатки деревянного дома
  • Основные этапы строительства

Двухэтажный дом: планировка

В домах с размерами 6 на 6 легко можно организовать пространство, на котором позже комфортно разместится вся семья. Благодаря правильной и грамотной внутренней разбивке, можно легко добиться площади полезного пространства около 70 кв. м. А двухэтажный вариант даст возможность разместить там еще больше комнат различного назначения.

Планировка двухэтажного дома 6 на 6 поможет сэкономить деньги. Если площадь дома больше, то и затраты соответственно больше, а такой формат — самый выгодный по соотношению цены и получаемой площади.

Особенности размещения комнат

Этот формат жилья подразумевает под собой практически полное отсутствие коридоров. Большинство места будет выделено под жилые комнаты, к тому же не нужно будет проводить длинные коммуникации. Функциональные зоны можно с легкостью отделить стенами и перегородками, а благодаря двум этажам, можно выделить активную и пассивную часть.

Кухня и гостиная обычно являются активной частью, в то время как спальня, ванная и другие личные помещения являются пассивной частью.

На первом этаже располагают комнаты, которыми часто пользуются, такие как гостиная, столовая, кухня. Здесь принимают гостей, проводят семейные праздники или деловые встречи, второй этаж в это время полностью является личным пространством. Если в доме будет жить лишь двое человек, то можно обустроить одну большую спальню, для проживания большой семьи придется обустраивать несколько комнат.

Первый этаж в классическом варианте

На первом этаже располагается прихожая, в которой должен быть доступ к санузлу и проход к лестнице, ведущей на второй этаж. Кухню, гостиную и столовую следует расположить за перегородкой или стеной.

Лучше всего разделить эти помещения мебелью, так создастся ощущение простора, иллюзия пространства. Кухню следует размещать ближе к прихожей, чтобы не следовать к ней через весь этаж. Лестница размещается возле прихожей, и ее следует отделить перегородкой. Благодаря ей, в гостиной будет создавать атмосфера уединения и уюта.

Сложность планировки дома заключается в том, что на первом этаже располагается большое количество комнат. И также следует учесть размещение котельной.

На первом этаже можно разместить кладовку, тамбур, обустроить спальню и, если потребуется, использовать ее как гостевую комнату или же детскую.

А также следует учитывать расположение окон в комнатах. В спальне они должны выходить на солнечную сторону, это позволит не только экономить электроэнергию, но и придаст комнате уюта.

Второй ярус дома

Со второго этажа, пожалуй, стоит начать планировку всего дома. Для этого следует разбить этаж на три условные части. Первая — коридор, который расположен при подъёме по лестнице. Коридор должен быть расположен так, чтобы доступ во все комнаты был свободным. Коридор может располагаться в двух вариантах:

  • для того чтобы комнаты были одного размера, коридор располагается точно по центру;
  • если комнаты будут разной площади, коридор следует расположить немного в стороне от центра.

Второй этаж является пассивной зоной. Здесь расположены спальни, одна из которой используется как детская. Если в доме проживает один или два человека, другая комната может быть оборудована как кабинет. Благодаря его размещению на втором этаже, он будет изолирован от шума перекрытием и коридором, это своего рода звукоизоляция, которая позволит спокойно заниматься работой или отдыхать.

К тому же не следует переживать о том, что кто-то вторгнется в ваше личное пространство, так как пассивная зона ограничена от посторонних лиц.

Вместо широкого коридора или холла на втором этаже, при планировке можно обустроить второй санузел. Если расположить санузел над тем, что расположен на первом этаже, то не потребуется вести длинные коммуникации. Размещение второго санузла имеет свои плюсы, например, не нужно будет спускаться в активную зону, также создастся возможность раздельного использования санузла гостями и хозяевами дома. Но есть и минус — это стоимость. Покупка второго комплекта сантехники и прокладка коммуникаций обходятся достаточно дорого, так что стоит подумать, необходим ли второй санузел.

Выбор материала для строительства

Сейчас строительные рынки имеют множество материалов. Выбор материалов зависит от предпочтений человека и его финансовых возможностей. Функциональное назначение постройки тоже имеет значение.

Для проживания в доме весь год следует использовать массивные конструкции, которые обеспечат теплоизоляцию, будут стойко переносить перепады температур, изменения влажности, другие природные факторы.

Из легких и дешевых материалов следует строить только летние домики. Если в доме не проживать в холодное время, то отопление и некоторые другие коммуникации будут абсолютно не нужны.

Камень или бетон

Для постройки жилища, которое будет использоваться во все времена года, следует использовать бетонные пеноблоки. Преимущества пенобетона заключаются в следующем:

  • шумоизоляция высшего уровня — благодаря толстым стенам звуки с улицы не мешают занятию своими делами;
  • теплоизоляция — стены не пропускают холод и удерживают тепло внутри помещения, что позволяет экономить на отоплении;
  • пожаробезопасность — уровень пожарной безопасности высокий благодаря тому, что бетон не горит;
  • устойчивость к перепадам температур и коррозии — блоки не расширяются и не сжимаются при изменении температуры, к тому же не нуждаются в дополнительном уходе после окончания стройки.

Постройка из бетонных или каменных блоков возводится быстрее, к тому же для этого нужны сравнительно небольшие средства. А также этот материал не нуждается в массивном фундаменте, что является плюсом. Следует учитывать и минусы этого материала, например, один из них заключается в том, что бетонные стены требуют дополнительной отделки, так как без облицовки они смотрятся серо и неказисто.

Но использование современных отделочных материалов позволяет быстро решить эту проблему. Каменные блоки неплохо смотрятся и без отделки, поэтому если дом должен по виду быть неприступным и массивным, то внешние стены следует делать из натурального камня.

Преимущества и недостатки деревянного дома

Дерево считается экологически чистым и дешевым материалом, поэтому сейчас популярно строить частные дома из него. Но, как и у всех материалов, у него тоже имеются недостатки. Повышенная пожароопасность — первый из них. Строения из бревен и досок легко воспламеняются и хорошо горят, поэтому, чтобы избежать возгорания, следует выполнить специальную пропитку материала, которая сделает его менее восприимчивым к воздействию огня. Но также следует использовать пропитку, которая поможет защитить от гниения и паразитов. Группы деревянных стройматериалов для постройки дома:

  • клееный или целый брус;
  • оцилиндрованные бревна;
  • сэндвич-панели.

Дом из деревянного бруса является самым экономичным в плане денежных затрат и времени.

Основные этапы строительства

Для создания качественного проекта нужно выполнить следующие действия:

  1. Создание подробного чертежа на листе бумаги. При этом нужно соблюдать все пропорции. И к тому же нужно схематично обозначить расположение мебели.
  2. Определить количество и функциональные назначения помещения. Благодаря этому этапу будет понятно, какие комнаты лучше совместить, уменьшить или увеличить.
  3. Нужно указать размеры комнат с учетом толщины стен и расположения коммуникаций.
  4. Обозначить конструкцию крыши, наличие внешних пристроек, террасы, планировку дома 6 на 6 с мансардой, расположение окон и дверей.

Проект можно создать самостоятельно или же воспользоваться помощью профессионалов. Первый вариант поможет создать планировку, которая будет вам по душе, а второй будет гарантировать высокий уровень качества.

Sprint Layout 6.0, МАГАЗИН ЭЛЕКТРОННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Библиотека компонентов
Библиотека компонентов уже заполнена многими часто используемыми компонентами, как в SMD, так и в традиционной технологии сквозных отверстий. Библиотека отображается в хорошо отсортированном древовидном представлении, поэтому вам не придется тратить много времени на поиск компонента. Если какого-то специального компонента не хватает, вы легко можете нарисовать его самостоятельно прямо на своем макете. После этого вы можете добавить этот компонент в библиотеку. Так что этот новый компонент всегда доступен. Чтобы использовать компонент из библиотеки, просто перетащите его на макет. После этого вы можете перемещать, вращать или маркировать компонент по своему усмотрению.

Сглаживание
Качество изображения на экране значительно улучшено благодаря технологии сглаживания. Края сглажены, а макет выглядит намного реалистичнее даже в режимах небольшого увеличения.

Сетка с автоматическим режимом захвата
Режим автоматического захвата упрощает размещение контактных площадок или дорожек. Всякий раз, когда сетка приближается к точке захвата, она будет захвачена в эту точку и поможет вам точно подключиться. Это особенно полезно, если некоторые соединения лежат вне сети. Сетка также имеет числовое отображение текущих координат. Таким образом, вам не нужно блуждать глазами по другому положению, и вы всегда будете иметь представление о своем макете.

Компоненты и списки компонентов
Sprint-Layout может отображать и управлять компонентами, включая идентификатор и значение. Конечно, есть также возможность показать список компонентов. Каждый компонент может управлять некоторыми дополнительными данными, так называемыми данными «Pick+Place». С помощью этих дополнительных данных Sprint-Layout может экспортировать файлы Pick+Place, которые необходимы для автоматического размещения компонентов SMD на плате.

Свободное вращение
Все компоненты или элементы можно вращать под любым углом. Это позволяет разместить компоненты наилучшим образом.

Автоматическая плоскость заземления
Эта функция автоматически заполняет медью неиспользуемые области макета. Это ускоряет процесс коррозии и экономит корродирующий материал. Вы также можете использовать эту функцию для создания экрана для ВЧ-плат. Вы также можете определить термопрокладки на автоматической заземляющей плоскости.

Фотопросмотр
Фотопросмотр позволяет вам взглянуть на вашу плату так, как если бы она была уже изготовлена, с отверстиями, шелкографией и т. д. Это поможет вам найти типичные ошибки, такие как неправильное зеркальное отображение компонентов или текста. Вы можете выбрать, какую сторону доски вы хотите просмотреть и отобразить или скрыть шелкографию. С помощью функции «рентген» вы можете сделать плату прозрачной, чтобы вы могли видеть, как просвечивает другая сторона платы.

Функция проверки
Эта функция очень полезна для проверки макета. Вы можете нажать на любую позицию вашего макета, и Sprint-Layout найдет все связанные элементы макета и подсветит их. Это позволяет очень легко проверить поток сигналов макета.

Соединения (резинки)
С помощью соединений можно упростить процесс маршрутизации. Прямые круглые линии используются для обозначения еще не проложенных соединений. Это может помочь вам не забыть ни одного трека. Резиновые линии также помогают найти подходящее положение для компонентов. Вы можете использовать их, чтобы избежать пересечения дорожек при размещении компонентов на плате.

Автотрассировщик
В Sprint-Layout встроен простой двухточечный автотрассировщик. Этот автотрассировщик может соединить две точки вашего макета. Эти две точки определяются соединением (резинкой). Автотрассировщик не предназначен для одновременной генерации целых плат. Обычно это невозможно. Чтобы создать правильный макет, вы должны разработать его в основном самостоятельно. Автотрассировщик в Sprint-Layout разработан как простой в использовании автотрассировщик. Вам не нужно делать неясные спецификации и опции. Автотрассировщик так же прост, как и все программное обеспечение.

Высокое разрешение и точность
Разрешение и точность Sprint-Layout значительно увеличены. Это касается также настроек сетки и максимального коэффициента масштабирования. Теперь можно определить значение сетки до 1 мкм. Так что спроектировать даже очень тонкую компоновочную структуру не проблема. Кроме того, выбор специального значения сетки с помощью меню сетки очень прост. Просто выберите нужное значение из всплывающего меню, которое заполнено всеми значениями сетки по умолчанию, либо в дюймах, либо в метрических единицах. Конечно, вы можете легко расширить это меню-сетку с помощью собственных значений сетки. Вы также можете изменить текущую сетку с помощью цифровых клавиш 1-9. на вашей клавиатуре. Эти клавиши работают как горячие клавиши с предопределенными значениями сетки.

Управление слоями
Sprint Layout предлагает — для обеих сторон платы — медный слой и слой шелкографии. Дополнительно доступны 2 внутренних слоя (для многослойных печатных плат) и слой контура (для контура вашей платы). Слои можно включать и выключать при необходимости.

Несколько досок
Файл Sprint-Layout может содержать несколько досок. Таким образом, вы можете добавить все доски проекта в один файл. В один клик вы получаете доступ к любой доске вашего проекта.

Мастер посадочных мест
Мастер посадочных мест помогает создавать специальные посадочные места для компонентов. Вы можете указать тип посадочного места и параметры, и мастер автоматически создаст посадочное место. Каждый тип посадочного места имеет разные параметры. Эти параметры отображаются и поясняются на маленьком рисунке в мастере посадочных мест. Все внесенные вами изменения сразу же отобразятся в предварительном просмотре. Если вы установили все параметры, мастер посадочных мест создаст посадочное место, и вы сможете разместить его на макете.

Панель свойств
Панель свойств позволяет редактировать все важные свойства элементов макета без вызова специальных диалогов. Кроме того, вы можете редактировать здесь специальные свойства, такие как позиции и т. Д. Панель свойств реагирует на текущий выбор на вашем макете. Просто выберите нужный элемент и отредактируйте его свойства прямо в этой панели. Все изменения, которые вы делаете на этой панели, будут немедленно отображаться на вашем макете, поэтому вы всегда можете увидеть результат своих изменений. С помощью возможности множественного выбора вы даже можете изменить свойства любого количества элементов за один раз.

Селектор
Селектор — мощный инструмент. Вы можете использовать его для поиска и выбора специальных элементов на вашем макете. Таким образом, можно искать и выбирать все колодки особой формы или размера. Если выбраны нужные элементы, их можно изменить вместе с панелью свойств. Селектор также может помочь проанализировать ваш макет. Таким образом, вы можете перечислить, например. все треки отсортированы по ширине. Такие списки могут помочь вам найти нежелательные элементы.

Проверка правил проектирования (DRC)
Из-за небольших неточностей при производстве печатной платы необходимо соблюдать некоторые допуски и ограничения, чтобы получить пригодную к использованию плату. Эти значения называются «правилами проектирования». Sprint-Layout может проверять некоторые важные правила дизайна, например. минимальное расстояние между 2 медными дорожками и т. д. После завершения DRC все обнаруженные проблемы будут перечислены в виде открытого текста, а проблемные области будут отмечены белой штриховкой. Теперь вы можете рассматривать проблемы одну за другой и исправлять их.

Сканированные копии
Вы можете загрузить растровое изображение в качестве фона макета. Это растровое изображение может быть отсканированной копией существующего макета. Вы можете использовать это растровое изображение в качестве оригинала для отслеживания макета. Растровое изображение должно быть доступно в виде файла растрового изображения (BMP или JPG). Разрешение должно быть в пределах 300-600 dpi. Чистая черно-белая глубина цвета рекомендуется, но не является абсолютно необходимой.

Печать
Доступны различные варианты печати макетов, паяльных масок, планов монтажа компонентов, трафаретной печати или планов сверления на бумажных листах или прозрачной пленке. Позиция распечатки регулируется, а опция «Мозаика» позволяет повторять распечатку небольших рисунков в направлениях x и y для экономии пленки и материала. Распечатку можно масштабировать. Все внесенные вами изменения будут немедленно отображаться в предварительном просмотре.

Экспорт Gerber/Excellon
Sprint Layout создает файлы GERBER (RS-274X), которые используются для обмена данными компоновки с производителями печатных плат. Файлы Gerber поддерживаются (почти) всеми производителями. Таким образом, вам не нужны пленки или что-то еще для производства плат. Сверления можно экспортировать в распространенный формат EXCELLON. С помощью этой функции вы можете автоматически сверлить доску. Многие производители печатных плат принимают файлы Sprint-Layout (*.LAY) напрямую, поэтому вам не нужно самостоятельно создавать файлы Gerber или Excellon.

Фрезерование изоляции
Sprint-Layout поддерживает также фрезерование изоляции. В этом случае печатная плата будет производиться на фрезерном станке с ЧПУ. Sprint-layout умеет просчитывать все необходимые изоляции-каналы. Выходной файл будет экспортирован в формате HPGL. Вы можете использовать эти файлы, чтобы загрузить их в ваше фрезерное приложение и изготовить плату. Дополнительные функции, такие как вывод детализации, зеркальное отображение или возможность определять тексты как однострочные или контурные, дают вам множество возможностей.

Средство просмотра Sprint-Layout-Viewer
С помощью этого средства просмотра любой пользователь может просматривать и распечатывать файлы Sprint-Layout. Средство просмотра является бесплатным программным обеспечением.

Макет главы 6, темы, HTML

6.1 Введение

В этой главе вы откроете несколько новых инструментов для управления внешним видом вашего приложения. Мы начнем с разговора о макетах страниц (как одиночных, так и «множественных»), которые позволяют организовать ввод и вывод. Затем вы узнаете о Bootstrap, наборе инструментов CSS, который использует Shiny, и о том, как настроить общий внешний вид с помощью тем. Мы закончим кратким обсуждением того, что происходит под капотом, чтобы, если вы знаете HTML и CSS, вы могли еще больше настроить приложения Shiny.

 библиотека (блестящая) 

6.2 Одностраничные макеты

В главе 2 вы узнали о входных и выходных данных, формирующих интерактивные компоненты приложения. Но я не говорил о том, как разместить их на странице, а вместо этого просто использовал FluidPage() , чтобы собрать их вместе как можно быстрее. Хотя это хорошо для изучения Shiny, оно не создает удобных или визуально привлекательных приложений, поэтому теперь пришло время изучить некоторые дополнительные функции макета.

Функции макета обеспечивают высокоуровневую визуальную структуру приложения. Макеты создаются с помощью иерархии вызовов функций, где иерархия в R соответствует иерархии в сгенерированном HTML. Это поможет вам понять код макета. Например, когда вы смотрите на такой код макета:

 жидкостьСтраница(
  titlePanel("Привет, Блестящий!"),
  макет боковой панели(
    боковая панель(
      sliderInput("obs", "Наблюдения:", минимум = 0, максимум = 1000, значение = 500)
    ),
    основная панель(
      plotOutput("расстояние")
    )
  )
) 

Обратите внимание на иерархию вызовов функций:

 FluidPage(
  Панель заголовков(),
  макет боковой панели(
    боковая панель(),
    основная панель()
  )
) 

Даже если вы еще не изучили эти функции, вы можете догадаться, что происходит, прочитав их названия. Вы можете себе представить, что этот код сгенерирует классический дизайн приложения: панель заголовка вверху, за которой следует боковая панель (содержащая ползунок) и основная панель (содержащая график). Возможность легко видеть иерархию через отступы — одна из причин, по которой рекомендуется использовать единый стиль.

В оставшейся части этого раздела я расскажу о функциях, помогающих разрабатывать одностраничные приложения, а затем перейду к многостраничным приложениям в следующем разделе. Я также рекомендую ознакомиться с руководством по макету приложения Shiny; он немного устарел, но содержит несколько полезных драгоценных камней.

6.2.1 Функции страницы

Самая важная, но наименее интересная функция компоновки — это fluidPage() , которую вы уже видели почти во всех примерах. Но что он делает и что происходит, если вы используете его сам по себе? На рис. 6.1 показаны результаты: приложение выглядит очень скучным, но многое остается за кадром, потому что FluidPage() настраивает все необходимые для Shiny HTML, CSS и JavaScript.

Рисунок 6.1: Пользовательский интерфейс, состоящий только из FluidPage()

В дополнение к FluidPage() , Shiny предоставляет пару других функций страницы, которые могут пригодиться в более специализированных ситуациях: fixedPage() и fillPage() . fixedPage() работает так же, как FluidPage() , но имеет фиксированную максимальную ширину, которая не позволяет вашим приложениям становиться чрезмерно широкими на больших экранах. fillPage() заполняет всю высоту браузера и полезна, если вы хотите сделать график, занимающий весь экран. Вы можете найти подробности в их документации.

6.2.2 Страница с боковой панелью

Для создания более сложных макетов вам понадобятся функции макета вызова внутри FluidPage() . Например, чтобы сделать двухколоночный макет с входами слева и выходами справа, вы можете использовать sidebarLayout() (вместе с его друзьями titlePanel() , sidebarPanel() и mainPanel() ). Следующий код показывает базовую структуру для создания рис. 6.2.

 жидкая страница(
  панель заголовков(
    # название/описание приложения
  ),
  макет боковой панели(
    боковая панель(
      # входы
    ),
    основная панель(
      # выходы
    )
  )
) 

Рисунок 6. 2: Структура базового приложения с боковой панелью

Чтобы сделать его более реалистичным, давайте добавим ввод и вывод, чтобы создать очень простое приложение, демонстрирующее центральную предельную теорему, как показано на рис. 6.3. Если вы запустите это приложение самостоятельно, вы можете увеличить количество образцов, чтобы распределение стало более нормальным.

 пользовательский интерфейс <- флюидная страница(
  titlePanel("Центральная предельная теорема"),
  макет боковой панели(
    боковая панель(
      numericInput("m", "Количество выборок:", 2, минимум = 1, максимум = 100)
    ),
    основная панель(
      plotOutput("История")
    )
  )
)
сервер <- функция (ввод, вывод, сеанс) {
  output$hist <- renderPlot({
    означает <- повторить (1e4, означает (runif (input $ m)))
    hist (значит, перерывы = 20)
  }, разрешение = 96)
} 

Рисунок 6.3: Обычный дизайн приложения заключается в размещении элементов управления на боковой панели и отображении результатов на главной панели.

6.2.3 Многорядный

Под капотом sidebarLayout() построен на основе гибкого многострочного макета, который можно использовать непосредственно для создания более визуально сложных приложений. Как обычно, вы начинаете с fluidPage() . Затем вы создаете строки с помощью FluidRow() и столбцы с помощью column() . Следующий шаблон создает структуру, показанную на рис. 6.4.

 жидкая страница(
  флюидРоу(
    столбец(4,
      ...
    ),
    столбец(8,
      ...
    )
  ),
  флюидРоу(
    столбец(6,
      ...
    ),
    столбец(6,
      ...
    )
  )
) 

Рисунок 6.4: Структура, лежащая в основе простого многострочного приложения

Каждая строка состоит из 12 столбцов, и первый аргумент функции column() указывает, сколько из этих столбцов нужно занять. Макет с 12 столбцами обеспечивает значительную гибкость, поскольку вы можете легко создавать макеты с 2, 3 или 4 столбцами или использовать узкие столбцы для создания разделителей. Вы можете увидеть пример этого макета в Разделе 4.4.

Если вы хотите узнать больше о проектировании с использованием системы сеток, я настоятельно рекомендую классический текст на эту тему: «Системы сеток в графическом дизайне» Йозефа Мюллера-Брокмана.

6.2.4 Упражнения

  1. Прочтите документацию по sidebarLayout() , чтобы определить ширину (в столбцах) боковой панели и основной панели. Можете ли вы воссоздать его внешний вид, используя FluidRow() и column() ? Что вам не хватает?

  2. Измените приложение Центральной предельной теоремы, чтобы боковая панель располагалась справа, а не слева.

  3. Создайте приложение, содержащее два графика, каждый из которых занимает половину ширины. Поместите элементы управления в контейнер полной ширины под графиками.

6.3 Многостраничные макеты

По мере усложнения вашего приложения может оказаться невозможным уместить все на одной странице. В этом разделе вы узнаете о различных способах использования tabPanel() , которые создают иллюзию нескольких страниц. Это иллюзия, потому что у вас по-прежнему будет одно приложение с одним базовым HTML-файлом, но теперь оно разбито на части, и в каждый момент времени видна только одна часть.

Многостраничные приложения особенно хорошо сочетаются с модулями, о которых вы узнаете в главе 19.. Модули позволяют вам разделить серверную функцию так же, как вы разделяете пользовательский интерфейс, создавая независимые компоненты, которые взаимодействуют только через четко определенные соединения.

6.3.1 Наборы вкладок

Простой способ разбить страницу на части — использовать tabsetPanel() и его близкого друга tabPanel() . Как видно из приведенного ниже кода, tabsetPanel() создает контейнер для любого количества tabPanels() , который, в свою очередь, может содержать любые другие компоненты HTML. На рис. 6.5 показан простой пример.

 пользовательский интерфейс <- флюидная страница(
  tabsetPanel(
    tabPanel("Импорт данных",
      fileInput("Файл", "Данные", buttonLabel = "Загрузить..."),
      textInput("разделитель", "Разделитель (оставьте пустым, чтобы угадать)", ""),
      numericInput("пропустить", "Строки для пропуска", 0, мин = 0),
      numericInput("строки", "Строки для предварительного просмотра", 10, мин. = 1)
    ),
    tabPanel("Установить параметры"),
    tabPanel("Визуализировать результаты")
  )
) 

Рисунок 6.5: tabsetPanel() позволяет пользователю выбрать одну tabPanel() для просмотра

Если вы хотите знать, какую вкладку выбрал пользователь, вы можете указать аргумент id для tabsetPanel() , и он станет входом. На рис. 6.6 это показано в действии.

 пользовательский интерфейс <- флюидная страница(
  макет боковой панели(
    боковая панель(
      textOutput("панель")
    ),
    основная панель(
      tabsetPanel(
        идентификатор = "набор вкладок",
        tabPanel("панель 1", "один"),
        tabPanel("панель 2", "два"),
        tabPanel("панель 3", "три")
      )
    )
  )
)
сервер <- функция (ввод, вывод, сеанс) {
  панель вывода $ <- renderText ({
    paste("Текущая панель: ", input$tabset)
  })
} 

Рисунок 6. 6: Набор вкладок становится входом, когда вы используете аргумент id . Это позволяет вам заставить ваше приложение вести себя по-разному в зависимости от того, какая вкладка видна в данный момент.

Примечание tabsetPanel() можно использовать в любом месте вашего приложения; совершенно нормально вкладывать наборы вкладок в другие компоненты (включая наборы вкладок!), если это необходимо.

6.3.2 Навлисты и панели навигации

Поскольку вкладки отображаются горизонтально, существует фундаментальное ограничение на количество вкладок, которые вы можете использовать, особенно если они имеют длинные заголовки. navbarPage() и navbarMenu() предоставляют два альтернативных макета, которые позволяют использовать больше вкладок с более длинными заголовками.

navlistPanel() похож на tabsetPanel() , но вместо горизонтального отображения заголовков вкладок он показывает их вертикально на боковой панели. Он также позволяет вам добавлять заголовки с помощью простых строк, как показано в приведенном ниже коде, который генерирует рис. 6.7.

 пользовательский интерфейс <- флюидная страница(
  навигационная панель(
    идентификатор = "набор вкладок",
    «Заголовок 1»,
    tabPanel("Панель 1", "Содержимое первой панели"),
    «Заголовок 2»,
    tabPanel("Панель 2", "Панель два содержимого"),
    tabPanel("панель 3", "Содержимое панели 3")
  )
) 

Рисунок 6.7: navlistPanel() отображает заголовки вкладок вертикально, а не горизонтально.

Другой подход — использовать navbarPage() : он по-прежнему запускает заголовки вкладок горизонтально, но вы можете использовать navbarMenu() для добавления раскрывающихся меню для дополнительного уровня иерархии. На рис. 6.8 показан простой пример.

 пользовательский интерфейс <- navbarPage(
  "Заголовок страницы",
  tabPanel("панель 1", "один"),
  tabPanel("панель 2", "два"),
  tabPanel("панель 3", "три"),
  navbarMenu("подпанели",
    tabPanel("панель 4а", "четыре-а"),
    tabPanel("панель 4б", "четыре-б"),
    tabPanel("панель 4с", "четыре-с")
  )
) 

Рисунок 6. 8: navbarPage() устанавливает горизонтальную панель навигации в верхней части страницы.

Эти макеты предоставляют широкие возможности для создания насыщенных и удобных приложений. Чтобы пойти дальше, вам нужно больше узнать о базовой дизайн-системе.

6.4 Начальная загрузка

Чтобы продолжить настройку приложения, вам необходимо узнать немного больше о платформе Bootstrap, используемой Shiny. Bootstrap — это набор соглашений HTML, стилей CSS и фрагментов JS, объединенных в удобную форму. Bootstrap вырос из фреймворка, первоначально разработанного для Twitter, и за последние 10 лет стал одним из самых популярных фреймворков CSS, используемых в Интернете. Bootstrap также популярен в R — вы, несомненно, видели много документов, созданных rmarkdown::html_document() и использовал множество веб-сайтов пакетов, созданных pkgdown, оба из которых также используют Bootstrap.

Будучи разработчиком Shiny, вам не нужно слишком много думать о Bootstrap, потому что функции Shiny автоматически генерируют HTML-код, совместимый с начальной загрузкой. Но хорошо знать, что Bootstrap существует, потому что тогда:

  • Вы можете использовать bslib::bs_theme() для настройки внешнего вида вашего кода, раздел 6.5.

  • Вы можете использовать аргумент класса для настройки некоторых макетов, входных и выходных данных с использованием имен классов Bootstrap, как вы видели в Разделе 2.2.7.

  • Вы можете создать свои собственные функции для создания компонентов Bootstrap, которые не предоставляет Shiny, как описано в разделе «Классы утилит».

Также можно использовать совершенно другую структуру CSS. Ряд существующих пакетов R упрощают это, оборачивая популярные альтернативы Bootstrap:

  • Shiny.semantic от Appsilon основан на формантическом пользовательском интерфейсе.

  • ShinyMobile от RInterface построен на базе Framework 7 и специально разработан для мобильных приложений.

  • блестящий материал, созданный Эриком Андерсоном, создан на основе платформы материального дизайна Google.

  • Shinydashboard, также от RStudio, предоставляет систему компоновки, предназначенную для создания информационных панелей.

Более полный и активно поддерживаемый список можно найти по адресу https://github.com/nanxstats/awesome-shiny-extensions.

6.5 Темы

Bootstrap настолько вездесущ в сообществе R, что легко устать от стиля: через некоторое время все приложения Shiny и Rmd начинают выглядеть одинаково. Решением является тема с пакетом bslib. bslib — это относительно новый пакет, который позволяет вам переопределить многие настройки Bootstrap по умолчанию, чтобы создать уникальный внешний вид. Пока я пишу это, bslib в основном применима только к Shiny, но ведется работа по переносу расширенных возможностей тем в RMarkdown, pkgdown и другие.

Если вы создаете приложения для своей компании, я настоятельно рекомендую уделить немного времени тематике — оформление вашего приложения в соответствии с руководством по корпоративному стилю — это простой способ хорошо выглядеть.

6.5.1 Начало работы

Создайте тему с помощью bslib::bs_theme() , затем примените ее к приложению с аргументом темы функции макета страницы:

 FluidPage(
  тема = bslib::bs_theme(...)
) 

Если не указано иное, Shiny будет использовать классическую тему Bootstrap v3, которую он использовал в основном с момента создания. По умолчанию bslib::bs_theme() будет использовать Bootstrap v4. Использование Bootstrap v4 вместо v3 не вызовет проблем, если вы используете только встроенные компоненты. Есть вероятность, что это может вызвать проблемы, если вы использовали пользовательский HTML, поэтому вы можете заставить его остаться с v3 с version = 3 .

6.5.2 Блестящие темы

Самый простой способ изменить общий вид вашего приложения — выбрать готовую тему «bootswatch», используя аргумент bootswatch для bslib::bs_theme() . На рис. 6.9 показаны результаты следующего кода, переключающего «темно» на другие темы.

 пользовательский интерфейс <- флюидная страница(
  тема = bslib::bs_theme(bootswatch = "темно"),
  макет боковой панели(
    боковая панель(
      textInput("txt", "Ввод текста:", "текст здесь"),
      sliderInput("слайдер", "Ввод слайдера:", 1, 100, 30)
    ),
    основная панель(
      h2(paste0("Тема: темно")),
      h3("Заголовок 2"),
      р("Некоторый текст")
    )
  )
) 

Рисунок 6.9: То же приложение, оформленное с использованием четырех тем Bootwatch: darkly, flat, sandstone и United.

Кроме того, вы можете создать свою собственную тему, используя другие аргументы bs_theme() , такие как bg (цвет фона), fg (цвет переднего плана) и base_font 20 :

 тема ::bs_theme(
  бг = "# 0b3d91",
  фг = "белый",
  base_font = "Исходный шрифт Pro"
) 

Простым способом предварительного просмотра и настройки темы является использование bslib::bs_theme_preview(theme) . Это откроет приложение Shiny, которое покажет, как выглядит тема при применении многих стандартных элементов управления, а также предоставит вам интерактивные элементы управления для настройки наиболее важных параметров.

6.5.3 Сюжетные темы

Если вы сильно изменили стиль своего приложения, вы можете также настроить свои графики, чтобы они соответствовали. К счастью, это действительно легко благодаря тематическому пакету, который автоматически настраивает темы для ggplot2, решетки и базовых графиков. Просто вызовите thematic_shiny() в вашей серверной функции. Это автоматически определит все настройки темы вашего приложения, как показано на рис. 6.10.

 библиотека (ggplot2)
пользовательский интерфейс <- флюидная страница(
  тема = bslib::bs_theme(bootswatch = "темно"),
  titlePanel("Тематический сюжет"),
  сюжетВывод("сюжет"),
)
сервер <- функция (ввод, вывод, сеанс) {
  тематический::thematic_shiny()
  
  output$plot <- renderPlot({
    ggplot (mtcars, aes (вес, мили на галлон)) +
      геометрическая_точка() +
      geom_smooth()
  }, разрешение = 96)
} 

Рисунок 6. 10: Использование thematic::thematic_shiny() гарантирует, что ggplot2 автоматически соответствует теме приложения

6.5.4 Упражнения

  1. Используйте bslib::bs_theme_preview() , чтобы сделать самую уродливую тему, какую только сможете.

6.6 Под капотом

Shiny разработан таким образом, что вам, как пользователю R, не нужно изучать подробности HTML. Однако, если вы немного знаете HTML и CSS, Shiny можно дополнительно настроить. К сожалению, изучение HTML и CSS выходит за рамки этой книги, но хорошей отправной точкой являются учебники по основам HTML и CSS от MDN.

Самое важное, что нужно знать, это то, что за всеми функциями ввода, вывода и макета нет никакой магии: они просто генерируют HTML 21 . Вы можете увидеть этот HTML-код, выполнив функции пользовательского интерфейса непосредственно в консоли:

 FluidPage(
  textInput("Имя", "Как вас зовут?")
) 
 <дел>
  <дел>
    
    <тип ввода="текст" значение=""/>