Использование графики в HTML
Использование графики в HTML
Возможность использования графики в HTML трудно переоценить. Правильно подобранная и размещенная на Web-странице графика делает её визуально привлекательной и, что самое главное, передаёт одну из основных идей документа. Для того чтобы вставить в Web-страницу изображение, необходимо либо нарисовать его, либо взять уже готовое. В любой программе рисования можно создать простое изображение и сохранить его в нужном формате. Самыми распространенными графическими форматами в Web являются GIF,JPG и JPEG.Теперь рассмотрим как вставить изображение в Web-страницу.
Для того чтобы вставить изображение в Web-страничку существует тег НТМL, который заставляет браузер выводить изображение,им является тег<IMG> с обязательным атрибутом SRC (SouRCe, источник). Имя источника представляет собой имя выводимого графического файла. Замыкающего тега не требуется.
Пример вставки изображения:
<IMG SRC=»image.
Применение графического файла вместо текстовой ссылки.
Любой графический файл можно сделать гиперссылкой , если он поддерживается Обозревателем. Для этого вместо названия ссылки нужно вставить графический элемент ,а чтобы при наведении на изображение всплывала подсказка куда приведет эта ссылка, вставляем необязательый атрибут alt и в значении указываем название инфармационного ресурса.(Параметр ALT должен быть только у рисунка):
Пример:
<A href=»URL»><img border=»5″ src=»volk.jpg» ALT=»Использование графики в HTML»></A>
Тег изображения <IMG> имеет один обязательный атрибут
и необязательные:
ALT, ALIGN, USEMAP, HSPACE, VSPACE, BORDER, WIDTH, HEIGHT.- Атрибут SRC
- Указывает файл изображения и путь к нему; изображение должно быть загружено в браузер и размещено в том месте документа, где расположен тег изображения.
- Атрибут ALT
- Позволяет указать текст, который будет выводиться вместо изображения браузерами, неспособными представлять графику. В некоторых случаях при недостаточной пропускной способности линий связи пользователи отключают отображение графики. Наличие названий вместо картинок облегчает восприятие Web-страниц в таком режиме.
- Атрибут АLIGN
- Определяет положение изображения относительно окружающего его текста.
Возможные значения атрибута ALIGN
ALIGN=»top» выравнивает верх изображения по верхнему краю самого высокого элемента в строке окружающего текста.ALIGN=»middle» выравнивает центр изображения по базовой линии строки окружающего текста.
ALIGN=»bottom» выравнивает нижний край изображения по базовой линии строки окружающего текста.
Кроме основных значений атрибута ALIGN=»значение»- существует еще ряд аргументов, которые расширяют возможности взаимного размещения графики и текста.
Рассмотрим их подробнее.
ALIGN=»left» определяет огибаемое текстом изображение. Изображение располагается вдоль левой границы документа, а последующие строки текста огибают его справа.
ALIGN=»right»определяет огибаемое текстом изображение. Изображение располагается вдоль правой границы документа, а последующие строки текста огибают его слева.
ALIGN=»textop» выравнивает верх изображения по верхнему краю самого высокого текстового символа в строке окружающего текста. Действие этого аргумента в большинстве случаев не всегда, подобно действию аргумента ALIGN=»top».
ALIGN=»baseline» выравнивает нижний край изображения по базисной линии строки окружающего текста, то есть производит такое же действие, как и ALIGN=»bottom».
ALIGN=»absbottom» выравнивает нижний край изображения по нижнему краю строки окружающего текста.
- Атрибут USEMAP
- Если присутствуют атрибут USEMAP и тег <MAP>, изображение становится чувствительной картой, или «графическим меню».
- Атрибут BORDER
- Численное значение аргумента определяет толщину рамки вокруг изображения. Если значение равно нулю, рамка отсутствует. Чтобы не вводить пользователей в заблуждение, не стоит задействовать BORDER=O в изображениях, которые представляют собой часть элемента якоря, поскольку рисунки, применяемые в качестве гиперссылок, обычно выделяются цветной рамкой.
- Атрибут НSРАСЕ
- Численное значение этого атрибута задает горизонтальное расстояние между вертикальной границей страницы и изображением, а также между изображением и огибающим его текстом.
- Атрибут VSPACE
- Численное значение этого атрибута задает вертикальное расстояние между строками текста и изображением.
- Атрибуты WIDTH и HEIGHT
- Оба атрибута задают Численные значения размеров изображения по горизонтали и по вертикали соответственно. Это позволяет уменьшить время загрузки страницы с графикой. Браузер сразу отводит рамку для изображения и продолжает загружать текст на страницу. Пока загружается графика, пользователь может начать читать текст. Определить размер изображения нетрудно, для этого достаточно воспользоваться любой программой просмотра графических файлов, например ACDSee или графическим редактором Corel PhotoPaint или Adobe Photoshop. Откройте файл в графическом редакторе и определите размер картинки в пикселах. В теге изображения следует указать ширину и высоту картинки.
<IMG SRC=»» ALT=»изображение» HSPACE=»10″ VSPACE=»10″ BORDER=»2″ >
Форматы графических файлов
Самыми распространенными графическими форматами в Web являются GIF,JPG и JPEG. — наиболее подходящие форматы для обмена изображениями между системами.
Однако для больших изображений фотографического качества больше подходит формат JPEG.
Формат JPEG отличается от других графических форматов прежде всего тем, что он использует метод сжатия «с потерями». JPEG частично идентифицирует и удаляет ту информацию, которая несущественна для восприятия изображения. В результате JPEG может достигать высокого уровня сжатия без заметных потерь в качестве изображения.
Метод сжатия «с потерями» имеет много реализаций. JPEG достигает существенного сжатия за счет отбрасывания той графической информации, которая обычно не проявляется в реальных изображениях. Однако при сжатии с помощью JPEG изображений с четкими контурами линии начинают заметно «дрожать». Так, например, если изображение содержит какие-либо подписи, подобный эффект может возникнуть вокруг символов. Этот эффект можно свести к минимуму, задав очень высокие значения параметра качества, однако при этом нельзя достичь приемлемых показателей сжатия.
Так как JPEG предполагает сжатие с потерями, при создании файлов необходимо быть внимательным. Большинство программ, создающих такие файлы, позволяют задавать значение параметра качества изображения. Обычно оно варьирует от нуля до ста. Нижние значения позволяют при сжатии JPEG отбрасывать больше информации, в результате чего получаются файлы меньшего размера. В свою очередь, высокие значения ограничивают количество информации, которой можно пренебречь во время сжатия.
Одна из наиболее распространенных ошибок заключается в интерпретации значения параметра качества от нуля до ста как процента сохраняемых данных. Чтобы развеять это заблуждение, некоторые современные программные продукты JPEG просто используют шкалу «лучшее сжатие» — «лучшее качество».
Хитрость заключается в том, чтобы при наименьшей величине параметра качества получить изображение без видимого его ухудшения. Лучше начинать со средних значений и внимательно оценивать результат. Если вы отмечаете некоторое ухудшение, попробуйте увеличить значение параметра, если нет — попытайтесь его уменьшить. При просмотре изображения обращайте внимание на следующие моменты: четкость очертаний и углов, например вокруг текста, или контур детали изображения, выделяющейся на общем фоне. Часто бывает заметно, что контур «смазан» или линия «дрожит».
Сжатие JPEG использует мозаику размером восемь на восемь пикселов. Если задаются слишком низкие значения качества, ее границы могут стать заметны. Если у вас уже есть изображения в GIF или другом восьмиразрядном формате, возможно, вы захотите попробовать конвертировать их в JPEG. Несмотря на то, что иногда это все же приводит к уменьшению необходимого для хранения файлов пространства, в большинстве случаев игра не стоит свеч. Если вы все же хотите попытаться, сначала выясните, сколько цветов использует изображение GIF. Если в нем только 64 цвета, то конверсия вряд ли себя оправдает, так как изображение с такой бедной цветовой палитрой не имеет тех плавных цветовых переходов, которые хорошо сжимает JPEG. В результате вы просто ухудшите качество изображения, не освободив места.
Активные изображения
Активные изображения (image map), или изображения, чувствительные к щелчкам мыши, позволяют создать на узле графические меню произвольной формы. Активное изображение — это изображение с так называемыми активными областями (hot spots), которые ссылаются на URL других страниц или узлов.
Есть два метода формирования активных изображений: на сервере и у клиента. Изображения первого типа используют сервер для того, чтобы найти соответствующий данной активной области URL и передать на браузер нужную страницу. Активные изображения, работающие на клиентской машине, задают информацию об активной области на НТМL-странице, так что браузер сам выясняет, какие области являются активными, и запрашивает с сервера соответствующую страницу.
Активные изображения, работающие у клиента, имеют несколько преимуществ. Во-первых, страницы с ними можно перенести на другой сервер. Во-вторых, серверу не приходится выполнять лишнюю работу (например, просматривать всю информацию об активных областях), то есть нагрузка на сервер уменьшается. При использовании работающих на сервере активных изображений в каталоге сgi-bin сервера должен быть соответствующий сценарий. Из соображений безопасности многие системные администраторы не записывают сценарии в каталог сgi-bin. Поэтому более подробно мы рассмотрим создание активных изображений у клиента.
Создание активного изображения. Процесс создания активного изображения состоит из двух этапов. Сначала необходимо определить на картинке области, которые нужно сделать активными, а потом соотнести их со ссылками на другие URL. Активные области задаются перечислением их координат (в пикселах). Все это можно сделать вручную, определив координаты углов активных областей, но гораздо проще воспользоваться какой-нибудь программой, например МарЕdit.
Определить карту легко. Нужно открыть в МарEdit HTML-файл, содержащий изображение, на котором требуется создать активные области, после чего выбранное изображение будет загружено в рабочее окно. Затем следует выбрать тип активной области (квадрат, треугольник и круг), щелкнуть и потянуть мышкой, обозначив границу области. Программа автоматически производит запись в HTML-файл, описывающий границы активной области. Затем этой области нужно приписать URL. В любых местах изображения можно нарисовать активные области и определить для каждой из них URL. Важно оставлять между областями немного места, чтобы при чтении быть уверенным, что активизируется правильная ссылка. Границы активных областей задаются координатами углов прямоугольника и многоугольника или центра и радиуса круга. Если вы решили делать активное изображение у клиента, Мар Edit поставляет данные только для тегов . Вам придется самим задать тег изображения с атрибутом USЕМАР и поместить его после тега МАР>. Не забудьте перед именем карты в атрибуте USЕМАР записать символ «#» следующим образом:
<IMG SRC=»mytemar.jpg» USЕМАР=»#mytemap»>
Активные изображения у клиента работают независимо от программного обеспечения сервера и не перестанут функционировать, даже если файлы будут перенесены на другой сервер. Таким изображениям требуются только две вещи: браузер, поддерживающий HTML 3.0, и информация о карте, записанная в HTML-файле. Приведем пример активных изображений.
<IMG SRC=»mytemar.jpg»ALT=»Изображения»USEMAP=»#imap»>
<MAP NAME=»imap»>
<AREA SHAPE=»rect» COORDS=»0,0,100,100″ HREF=»URL»>
<AREA SHAPE=»rect» COORDS=»100,0,200,100″ HREF=»URL»>
<AREA SHAPE=»default» nohref>
</MAP>
Изображения в миниатюре
Часто для иллюстрации какой-то темы требуются изображения большого размера, загружаться они будут достаточно долго. В том месте, где требуется разместить большой рисунок, можно поместить маленькую его копию и сделать ссылку на полномасштабное изображение. Те посетители, которым это действительно интересно, смогут посмотреть изображение полностью, а все остальные пролистнут страницу, не задерживаясь. Такая методика особенно хороша для обложек книг, фотографий, рекламных листков, которые не все читатели захотят изучить в деталях.
Далее мы рассмотрим что такое навигационные карты.
Рендеринг Java графики в HTML
У меня есть объект Swing Graphics2D, который я хотел бы передать HTML/JS/CSS. Есть ли библиотека или другой способ сделать это?
Я думаю о чем-то похожем на iText для экспорта Java в PDF, но для экспорта в HTML.
Заранее спасибо!
java html swingПоделиться Источник dxiao 14 июня 2011 в 01:01
2 ответа
- RGB субпиксельный рендеринг для графики?
Интересно, есть ли какая-нибудь графическая библиотека, которая поддерживает субпиксельный рендеринг RGB (например, ClearType) для общей графики, а не только для текста . Это позволило бы практически утроить горизонтальное разрешение и поставить графику на позиции третьего пикселя X. Хотя я думаю,…
- Синтаксический анализ рендеринга HTML с использованием Java
Я хочу напечатать полный рендеринг HTML с помощью Java. For это я много искал в Google, а также нашел некоторые вопросы по SO Like 1: Как вы визуализируете HTML, используя Java? 2: HTML разбора, используя java 3: рендеринг (потоковая передача) HTML в Панель Но, к сожалению, они мне не помогли….
7
Вы можете сохранить его как изображение (например, jpg
), а затем показать это изображение с помощью простого тега <img />
.
Поделиться Unknown 14 июня 2011 в 01:03
2
Если ваш графический рендеринг-это в основном пути, линии, полигоны и круги, это должно быть легко переведено в SVG (но я не знаю библиотеки). В противном случае bitmap-ваша самая безопасная ставка (PNG должен превзойти JPG по качеству и размеру файла для рендеринга графики).
edit: я не использовал его лично, но Apache Batik имеет подкласс Graphics2D , который может быть использован для создания файлов SVG.
Поделиться Jason S 14 июня 2011 в 01:39
Похожие вопросы:
Рендеринг графики в C#
Есть ли другой способ визуализации графики в C# за пределами GDI+ и XNA ? (Для разработки редактора плиточных карт.)
Рендеринг векторной графики в OpenGL?
Есть ли способ загрузить файл векторной графики, а затем визуализировать его с помощью OpenGL? Это неопределенный вопрос, так как я мало знаю о форматах файлов для векторной графики. Хотя я знаю о…
Почему рендеринг шрифтов Java Swing html выглядит так дерьмово?
Чтобы отобразить сложную многострочную метку с несколькими стилями, я использую возможности рендеринга Swing html и в итоге получаю действительно дерьмовый рендеринг шрифта. Я попытался явно…
RGB субпиксельный рендеринг для графики?
Интересно, есть ли какая-нибудь графическая библиотека, которая поддерживает субпиксельный рендеринг RGB (например, ClearType) для общей графики, а не только для текста . Это позволило бы…
Синтаксический анализ рендеринга HTML с использованием Java
Я хочу напечатать полный рендеринг HTML с помощью Java.For это я много искал в Google, а также нашел некоторые вопросы по SO Like 1: Как вы визуализируете HTML, используя Java? 2: HTML разбора,…
HTML рендеринг контента в JSF
У меня есть два поля: вход и выход. В input я пишу код html, нажимаю на кнопку и вижу визуализированный код в поле output. <h:form id=displayForm> <p:commandButton value=Execute…
Как визуализировать графики в java ?
Возможный Дубликат : Построение графиков в Java Я пытался создать графики для значений x и y в своем приложении java. К сожалению, при использовании библиотек в http://www.epic.noaa.gov/java/…
Symfony2 Twig отключить рендеринг HTML
как отключить рендеринг html ответов в twig? Я строю RESTful API и хочу полностью отключить рендеринг HTML. Например, если я запрошу /foo/bar без маркера доступа oAuth, symfony2 должен ответить. ..
Python графики: Latex математический рендеринг меток узлов
Я использую следующий код для создания графика pygraphviz . Но можно ли сделать так, чтобы он отображал latex математическое уравнение (см. рис. 1)? Если нет, то существует ли альтернативная…
Rmarkdown-HTML Файл выберите предварительно сгенерированные графики
У меня есть 10 местоположений, и для каждого местоположения я сгенерировал 4 интерактивных графика plotly, которые сохраняются в виде файлов HTML. Можно ли создать rmarkdown с выпадающим списком,…
основы векторной графики в HTML
SVG: основы векторной графики в HTML
Векторная графика широко используется в печатном деле. Но и для веб сайтов мы можем использовать её с помощью SVG (Scalable Vector Graphic — масштабируемая векторная графика). В соответствии со спецификацией W3.org SVG определяется как:
Язык для описания двумерной графики в XML. SVG допускает использование трех типов объектов: векторные графические формы (наппример, пути, состоящие из прямых линий и кривых), изображения и текст.
Несмотря на то, с августа 2011 года SVG включено в рекомендации W3C, данная технология практически не используется в веб проектах, хотя и имеет перед растровыми изображениями ряд преимуществ. В данной серии уроков мы представим, как работать с SVG элементами на веб страницах.
Преимущества SVG
Независимость разрешения
Растровые изображения зависят от разрешения. Графика приобретает непрезентабельный вид при изменении размеров до определенных масштабов. С векторной графикой такая ситуация невозможна в принципе, так как все представляется математическими выражениями, которые автоматически пересчитываются при измении масштаба, и качество сохраняется в любых условиях.
Уменьшение количества запросов HTTP
SVG может быть встроено непосредственно в документ HTML с помощью тега svg, поэтому браузер не нуждается в запросах для обслуживания графики. Такой подход хорошо влияет на характеристики загрузки веб сайта.
Стили и скрипты
Встраивание с помощью тега svg также позволяет легко определять стили для графики с помощью CSS. Можно изменять свойства объекта, такие как цвет фона, прозрачность, рамки и так далее. Подобным же образом можно манипулировать графикой с помощью JavaScript.
Легко редактировать и анимировать
Объекты SVG можно анимировать с помощью CSS или JavaScript. Также объекты SVG можно модифицировать с помощью текстового редактора.
Меньший размер файла
SVG имеет меньший размер файла по сравнению с растровой графикой.
Базовые формы SVG
В соответствии со спецификацией мы можем рисовать несколько базовых форм: линия, полилиния, прямоугольник, круг, эллипс. Все элементы должны быть вставлены в тег … . Рассмотрим базовые элементы подробно.
Линия
Для вывода линии в SVG используется элемент . Он рисует отрезок, для которого нужно определить две точки: начало и конец.
<svg></p> <line x1="0" y1="0" x2="200" y2="200" stroke-width="1" stroke="rgb(0,0,0)"/> </svg>
Начало отрезка определяется атрибутами x1 и y1, а конечная точка определяется координатами в атрибутах x2 and y2.
Также имеется два других атрибута (stroke и stroke-width) которые используются для определения цвета и ширины линии соответственно.
Продвижение сайтов в NY лучше доверить SEO company NY.
Полилиния
Данный объект похож на , но с помощью элемента можно рисовать несколько линий сразу.
<svg></p> <polyline points="0,0 50,0 150,100 250,100 300,150" fill="rgb(249,249,249)" stroke-width="1" stroke="rgb(0,0,0)"/> <p> </svg>
Элемент содержит атрибут points, который используется для указания координаты точек.
Прямоугольник
Прямоугольник выводится с помощью элемента . Нужно определить ширину и высоту.
<svg></p> <p> <rect fill="rgb(234,234,234)" stroke-width="1" stroke="rgb(0,0,0)"/></p> <p> </svg>
Круг
Для вывода круга используем элемент . В следующем примере мы создаем круг с радиусом 100, который определяется в атрибуте r:
<svg></p> <p> <circle cx="102" cy="102" r="100" fill="rgb(234,234,234)" stroke-width="1" stroke="rgb(0,0,0)"/></p> <p> </svg>
Первый два атрибута cx и cy определяют координаты центра. В выше приведенном примере мы установили значение 102 для обеих координат. По умолчанию используется значение 0.
Эллипс
Для вывода эллипса используем элемент . Он работает так же, как и круг, но мы можем специально задавать радиусы по оси x и y с помощью атрибутов rx и ry:
<svg></p> <p> <ellipse cx="100" cy="50" rx="100" ry="50" fill="rgb(234,234,234)" stroke-width="1" stroke="rgb(0,0,0)"/></p> <p> </svg>
Полигон
Элемент выводит многогранные фигуры, такие как треугольник, шестиугольник и прочее. Например:
<svg></p> <polygon points="70.444,218.89 15.444,118.89 70.444,18.89 180.444,18.89 235.444,118.89 180.444,218.89" fill="rgb(234,234,234)" stroke-width="1" stroke="rgb(0,0,0)"/> <p> </svg>
Полигон
Использование редактора для векторной графики
Вывод простых объектов SVG в HTML осуществляется просто. Однако, когда сложность объекта увеличивается, подобная практика может привести к большому объему нужной работы.
Но вы можете воспользоваться любым редактором для векторной графики (например, Adobe Illustrator или Inkscape) для создания объектов. Если вы владеете подобным инструментом, рисовать в них нужные объекты существенно проще, чем кодировать графику в теге HTML.
Можно копировать команды для векторной графики из файла в документ HTML. Или можно встраивать файл .svg с помощью одного из следующих элементов: embed, iframe и object.
<object data="images/ipod.svg" type="image/svg+xml"></object>
Результат будет одинаковым.
Встраивание файла SVG
Поддержка в браузерах
SVG имеет хорошую поддержку в большинстве современных браузеров, за исключением IE версии 8 и более ранних. Но задачу можно решить с помощью библиотеки JavaScript Raphael.js. Для облегчения работы можно воспользоваться инструментом ReadySetRaphael.com для конвертации кода SVG в формат Raphael.
Raphael
Сначала загружаем и включаем библиотеку Raphael.js в документ HTML. Затем загружаем файл .svg, копируем и вставляем полученный код в функцию после загрузки:
window.onload=function() {</p> <p> // Код Raphael размещается здесь</p> <p> }
В теге body размещаем следующий элемент div с идентификатором rsr.
<br /> <div></div> <p>
И все готово.
Добавить в:
Web Дизайнер (designer)
Глава 5 Базовая графика | Визуализация и анализ географических данных на языке R
Данный модуль посвящен введению в работу с графическим представлением информации в R. Построение графиков на языке R сродни работе с конструктором: вы собираете изображение по кирпичикам из множества настроек и компонент. Поняв основные принципы базовой графической подсистемы R из пакета graphics, вы сможете освоить дополнительные библиотеки lattice, ggplot2 и plotly, предоставляющие еще более интересные возможности с точки зрения функциональности и дизайна.3\)):
Стандартные графики
Графики (точечные и линейные) – базовый и наиболее часто используемый способ визуализации. Универсальная функция plot()
позволяет строить графики по координатам \(X\) и \(Y\), которые передаются, соответственно, в первый и второй аргумент. Если переменные \(X\) и \(Y\) не связаны друг с другом явным образом, то такой график называется диаграммой рассеяния.
Диаграммы рассеяния
Диаграмма рассеяния позволяет установить, есть ли зависимость между переменными, а также понять, как объекты дифференцируются по значениям переменных.
par(mar=c(4,4,3,2))
# Диаграмма рассеяния по экспорту и импорту:
plot(sub$МетЭкспорт,
sub$МетИмпорт,
col="red",
xlab="Экспорт, млн. долл. США",
ylab = "Импорт, млн. долл. США",
main = "Экспорт/импорт металлов и изделий из них по субъектам РФ")
В данном случае четко выделяется группа субъектов вблизи начала координат, не отличающихся интенсивным экспортом и импортом продукции металлургии, а также очевидно преобладание экспорта над импортом при больших объемах товарооборота.
При построении диаграмм рассеяния важно сохранить одинаковый масштаб по осям \(X\) и \(Y\). Чтобы обеспечить это условие, необходимо использовать параметр asp = 1
:
plot(sub$МетЭкспорт,
sub$МетИмпорт,
col="red",
xlab="Экспорт, млн. долл. США",
ylab = "Импорт, млн. долл. США",
main = "Экспорт/импорт металлов и изделий из них по субъектам РФ",
asp = 1)
Попробуйте изменить размер окна на вкладке Plots. Вы увидите, что масштаб по осям сохраняется пропорциональным.
Размер и тип значка можно изменить, используя параметры pch =
и cex =
. Размеры масштабируются параметром cex
относительно условной единицы — стандартного размер значка. Сам значок можно выбрать, используя его код в соответствии с нижеприведенным рисунком (на самом деле, вы можете выбирать произвольные символы для визуализации точек):
Типы символов R
plot(sub$МетЭкспорт,
sub$МетИмпорт,
col="red",
xlab="Экспорт, млн. долл. США",
ylab = "Импорт, млн. долл. США",
main = "Экспорт/импорт металлов и изделий из них по субъектам РФ",
asp = 1,
pch = 2,
cex = 0.5)
plot(sub$МетЭкспорт,
sub$МетИмпорт,
col="red",
xlab="Экспорт, млн. долл. США",
ylab = "Импорт, млн. долл. США",
main = "Экспорт/импорт металлов и изделий из них по субъектам РФ",
asp = 1,
pch = 20,
cex = 1.2)
Линейные графики
Линейные графики отражают связь между зависимой и независимой переменной. Существует два способа нанесения линий на график: явное рисование линий поверх уже построенного графика с помощью функции lines()
, или создание нового линейного графика с помощью функции plot()
с дополнительным параметром type =
.
Для иллюстрации принципов работы первого способа откроем еще раз данные по объему сброса загрязненных сточных вод по морям России (млрд куб. м):
tab = read.csv2("data/oxr_vod.csv", encoding = 'UTF-8')
plot(tab$Год, tab$Каспийское, pch=20) # для начала нанесем точки
lines(tab$Год, tab$Каспийское) # теперь нанесем линии
По умолчанию функция plot()
рисует именно точки. Однако если точки не нужны, а достаточно только линий, или требуется иной подход к построению графиков, можно задать параметр type =
, который принимает следующие значения:
-
"p"
for points, -
"l"
for lines, -
"b"
for both, -
"c"
for the lines part alone of “b,” -
"o"
for both ‘overplotted,’ -
"h"
for ‘histogram’ like (or ‘high-density’) vertical lines, -
"s"
for stair steps, -
"S"
for other steps, see ‘Details’ below, -
"n"
for no plotting.
Попробуем разные методы визуализации:
plot(tab$Год, tab$Карское,pch=20)
plot(tab$Год, tab$Каспийское, type="p")
plot(tab$Год, tab$Каспийское, type="l")
plot(tab$Год, tab$Каспийское, type="b")
plot(tab$Год, tab$Каспийское, type="c")
plot(tab$Год, tab$Каспийское, type="o")
plot(tab$Год, tab$Каспийское, type="h")
plot(tab$Год, tab$Каспийское, type="s")
Толщину и тип линии можно изменить, используя параметры lwd =
и lty =
соответственно. Работают они аналогично параметрам pch и cex для точечных символов. Типов линий по умолчанию в стандартной библиотеке R не так много, но в сочетании с цветовым кодированием и толщиной их оказывается вполне достаточно:
Попробуем разные варианты представления линий:
plot(tab$Год, tab$Каспийское, type="l", lwd = 2, lty = 1)
plot(tab$Год, tab$Каспийское, type="l", lwd = 3, lty = 2)
plot(tab$Год, tab$Каспийское, type="l", lwd = 1, lty = 3)
Совмещение графиков
Часто бывает необходимо совместить на одном графике несколько рядов данных. Для этого можно поступить двумя путями:
Нарисовать один ряд данных c помощью функции
plot()
, а затем добавить к нему другие ряды с помощью функцийpoints()
иlines()
.Нарисовать пустой график, а затем добавить к нему все ряды данных с помощью функций
points()
иlines()
.
При совмещении нескольких рядов данных на одном графике в первом же вызове функции
plot()
необходимо заложить диапазон значений по осям \(X\) и \(Y\), охватывающий все ряды данных. В противном случае будет учтен только разброс значений первого ряда данных, и остальные ряды могут не поместиться в поле графика.
Вариант №1 реализуется следующим образом:
plot(tab$Год,
tab$Каспийское,
pch=20,
type="o",
ylim = c(0,12),
col="red3")
# Добавим теперь на существующий график новый ряд данных, используя функции points() и lines():
points(tab$Год, tab$Карское, pch=20, col="forestgreen")
lines(tab$Год, tab$Карское, pch=20, col="forestgreen")
Обратите внимание на то, что если бы мы вызвали еще одну инструкцию
plot()
с новым рядом данных, это привело бы к построению нового графика, а не к добавлению его на существующий.
Теперь рассмотрим второй вариант. Заодно устраним недостаток предыдущего кода, в котором диапазон значений по оси \(Y\) указывался вручную.
xrange = range(tab$Год) # вычислим диапазон по оси X
yrange = range(tab$Каспийское, tab$Карское, tab$Азовское) # вычислим диапазон по оси Y
# Построим пустой график, охватывающий полный диапазон данных, и имеющий все необходимые сопроводительные элементы
plot(xrange,
yrange,
main="Объем сброса загрязненных сточных вод",
xlab="Год",
ylab="млрд.куб.м",
type = "n") # n означает, что ряд данных рисоваться не будет
# Теперь добавим на график ряды данных
points(tab$Год, tab$Каспийское, pch=20, col="red3")
lines(tab$Год, tab$Каспийское, pch=20, col="red3")
points(tab$Год, tab$Карское, pch=20, col="forestgreen")
lines(tab$Год, tab$Карское, pch=20, col="forestgreen")
points(tab$Год, tab$Азовское, pch=20, col="steelblue")
lines(tab$Год, tab$Азовское, pch=20, col="steelblue")
Функциональные параметры
Графические параметры при построении графиков на самом деле могут быть не константами, а функцией данных. Например, вы можете сказать, что размер точки при построении диаграммы рассеяния должен быть функцией отношения экспорта к импорту, что усилит наглядность отображения:
plot(okr$МетЭкспорт,
okr$МетИмпорт,
col=rgb(1,0,0,0.5),
xlab="Экспорт, млн. долл. США",
ylab = "Импорт, млн. долл. США",
main = "Экспорт/импорт металлов и изделий из них по ФО РФ (2013 г.)",
asp = 1,
pch = 20,
cex = 2+log(sub$МетИмпорт/sub$МетЭкспорт)) # размер кружка зависит от соотношения импорта и экспорта
Гистограммы
Гистограммы распределения строятся с помощью функции hist()
. Чтобы изменить ширину кармана (столбца) гистограммы, необходимо задать параметр breaks =
, а цвет задается в параметре col
:
hist(sub$ПродЭкспорт)
# Карманы будут от 0 до 3000 через 100. Заодно добавим цвет:
hist(sub$ПродЭкспорт, breaks = seq(0,3000,100), col="olivedrab3")
При построении гистограммы (как и любого другого типа графика) вы можете использовать не весь массив данных, а только его подмножество Например, можно посмотреть гистограмму только для субъектов с объемом экспорта менее 300:
hist(sub$ПродЭкспорт[sub$ПродЭкспорт < 300], col = "olivedrab3", breaks = seq(0, 300, 20))
Наконец, вы можете осуществить преобразование ряда данных перед построением гистограммы. Например, взять логарифм, чтобы проверить,похоже ли распределение на логнормальное:
hist(log(sub$ПродЭкспорт), col = "olivedrab3")
Столбчатые графики
Столбчатые графики — barplot — отображают вектор числовых данных в виде столбиков. Это простейший вид графика (наряду с dotchart), который используется для сравнения абсолютных величин. Для построения необходимо вызвать функцию barplot()
и передать ей столбец таблицы:
# Или даже просто вектор натуральных чисел от -5 до 5:
barplot(-5:5)
# Если у каждого столбика есть название,
# нужно передать вектор названий в аргумент names.arg =
barplot(okr$ХимЭкспорт, names.arg = okr$Регион)
# при наличии длинных подписей удобнее столбчатую диаграмму разместить горизонтально, используя параметр horiz = TRUE.
barplot(okr$ХимЭкспорт, names.arg = okr$Регион, horiz=TRUE)
Чтобы развернуть подписи перпендикулярно столбцам, следует использовать параметр las =
. Справка__R__говорит нам о том, что этот параметр дает следующее поведение подписей:
- 0: всегда параллельно осям (по умолчанию),
- 1: всегда горизонтально,
- 2: всегда перпендикулярно осям,
- 3: всегда вертикально.
Выберем вариант, при котором подписи всегда горизонтальны:
barplot(okr$ХимЭкспорт, names.arg = okr$Регион, horiz=TRUE, las = 1)
В данном случае очень массивные названия федеральных не умещаются в пространство графика. Можно было бы вполне убрать словосочетание “федеральный округ.” Для этого используем уже знакомую нам sub()
.
names = sub("федеральный округ", "", okr$Регион) # "" - означает пустая строка
barplot(okr$ХимЭкспорт, names.arg = names, horiz = TRUE, las = 1)
И снова содержимое не поместилось в поле графика. Проблема в том, что вокруг любого графика резервируются поля ограниченного размера для размещения подписей координат и т.д. Автоматически эти поля не пересчитываются, зарезервировать их — ваша задача.
Наберите в консоли ?par
. Откроется список всевозможных графических параметров, которые управляют компоновкой и порядком построения графиков. Эти параметры можно установить, вызвав функцию par()
. Все дальнейшие вызовы инструкций построения графиков будут учитывать установленные параметры Пролистайте страницу справки вниз и найдите параметр mar =
— он отвечает за установку полей в условных единицах. Есть также параметр mai =
, который позволяет установить поля графика в дюймах. Обратите внимание на то, что означают параметры этой функции:
# mar=c(bottom, left, top, right)
# The default is c(5, 4, 4, 2) + 0.1.
Поскольку в нашем примере проблемы возникают в левым полем, необходимо увеличить второй параметр.
margins.default = par("mar") # запишем текущее значение, чтобы восстановить его потом
par(mar = c(5, 10, 4, 2)) # увеличим поле left до 10 условных единиц
barplot(okr$ХимЭкспорт, names.arg = names, horiz=TRUE, las = 1)
Добавим заголовок с помощью параметра main =
, а подпись единиц измерения по оси \(X\) — с помощью параметра xlab =
. Поскольку количество параметров функции уже достаточно велико, введем каждый из них с новой строчки, чтобы улучшить читаемость кода:
barplot(okr$ХимЭкспорт,
names.arg = names,
main = "Экспорт продукции химической промышленности",
xlab = "млн долл. США",
horiz = TRUE,
las = 1)
# Чтобы увеличить диапазон оси X, можно использовать параметр xlim = c(min, max):
barplot(okr$ХимЭкспорт,
names.arg = names,
main = "Экспорт продукции химической промышленности",
xlab = "млн долл. США",
horiz = TRUE,
las = 1,
xlim = c(0,12000))
Работа с цветом на столбчатых диаграммах рассмотрена ниже в отдельном разделе.
Круговые (секторные) диаграммы
Круговые диаграммы (англ. piechart) строятся с помощью функции pie()
:
par(mar = c(5, 5, 5, 5)) # установим поля
pie(okr$ХимЭкспорт)
# вместо номеров можно использовать подписи секторов, добавив второй параметр:
pie(okr$ХимЭкспорт, names)
# в каждую метку можно добавить процент данного округа в общей массе. Для этого его нужно сначала посчитать:
percentage = 100 * okr$ХимЭкспорт / sum(okr$ХимЭкспорт)
# и округлить до 1 знака после запятой:
percentage = round(percentage, digits = 1)
Можно присоединить проценты к названиям округов, добавив обрамляющие скобки. Чтобы функция paste не добавляя пробелы между присоединяемыми строками, необходимо задать параметр sep = , передав ему пустую строку — «»:
names2=paste(names, " (", percentage, "%)", sep = "")
# Используем для аннотирования круговых секторов:
pie(okr$ХимЭкспорт, names2)
# Добавить заголовок можно также с помощью параметра main =
pie(okr$ХимЭкспорт, names2, main = "Доля федеральных округов в экспорте продукции химической промышленности")
Чтобы перенести часть заголовка на вторую строку, вы можете использовать управляющий символ перевода строки \n
, вставив его в требуемое место:
pie(okr$ХимЭкспорт, names2, main = "Доля федеральных округов в экспорте \n продукции химической промышленности")
Управляющие символы играют большое значение в программировании и используются для управления поведением текстового вывода. Нотация
\n
называется escape-последовательностью. Помимо перевода строки, есть и другие полезные управляющие символы. Кстати, именно из-за того, что escape-последовательности начинаются с обратной косой черты (\
), при указании системных путей в функцииsetwd()
всегда следует использовать прямую косую черту (/
). Например, следующий путь не будет найдет, поскольку он содержит управляющие последовательности\n
и\t
:C:\data\tables\new
.
Наконец, при использовании секторных диаграмм важно уметь менять порядок секторов. По умолчанию сектора откладываются против часовой стрелки начиная с восточного направления. Чтобы сектора откладывались по часовой стрелке с северного направления, следует задать параметр clockwise = TRUE
.
pie(okr$ХимЭкспорт,
names2,
main = "Доля федеральных округов в экспорте \n продукции химической промышленности",
clockwise = TRUE)
Работа с цветом на круговых диаграммах рассмотрена ниже в отдельном разделе.
Цвет и прозрачность
Цвет — одно из основных графических средств, используемых на графиках и диаграммах, поэтому данная тема рассмотрена более подробно в отдельном разделе. Определить цвет можно различными способами. Во-первых, в R есть палитра предопределенных цветов, которые можно выбирать по их названию).
Список названий цветов можно посмотреть, вызвав функцию colors()
:
head(colors())
## [1] "white" "aliceblue" "antiquewhite" "antiquewhite1"
## [5] "antiquewhite2" "antiquewhite3"
Основной цвет любого графика или диаграмма задается параметром col =
. Это цвет (или цвета) с помощью которых будут отображаться данные. Попробуем изменить цвет графика с серого на пастельно-синий:
par(mar = c(5, 10, 4, 2)) # увеличим поле left до 10 условных единиц
barplot(okr$ХимЭкспорт,
names.arg = names,
main = "Экспорт продукции химической промышленности",
xlab = "млн долл. США",
horiz = TRUE,
las = 1,
xlim = c(0,12000),
col = "steelblue")
Помимо этого вы можете задать цвет с помощью цветовых компонент в различных пространствах. Для этого вы должны быть знакомы с основами теории цвета (посмотрите презентацию UsingColorInR.pdf. Например, фиолетовый цвет в пространстве RGB можно задать с помощью функции rgb()
, смешав синюю и красную компоненты:
violet = rgb(0.4, 0, 0.6)
barplot(okr$ХимЭкспорт,
names.arg = names,
main = "Экспорт продукции химической промышленности",
xlab = "млн долл. США",
horiz = TRUE,
las = 1,
xlim = c(0,12000),
col = violet)
Чтобы сделать цвет полупрозрачным, есть две возможности:
- При создании нового цвета — передать в функцию
rgb()
дополнительный параметрalpha =
, который задает долю прозрачности в диапазоне от 0 до 1. - При модификации существующего цвета — вызвать функцию
adjustcolor()
с параметромalpha =
Например:
violet.transp = adjustcolor(violet, alpha = 0.5)
barplot(okr$ХимЭкспорт,
names.arg = names,
main = "Экспорт продукции химической промышленности",
xlab = "млн долл. США",
horiz = TRUE,
las = 1,
xlim = c(0,12000),
col = violet.transp)
green.transp = rgb(0, 1, 0, 0.5) # появился четвертый параметр
barplot(okr$ХимЭкспорт,
names.arg = names,
main = "Экспорт продукции химической промышленности",
xlab = "млн долл. США",
horiz = TRUE,
las = 1,
xlim = c(0,12000),
col = green.transp)
Функция
adjustcolor()
позволяет модифицировать все компоненты цвета, не только прозрачность.
На графике типа barplot вы имеете фактически несколько переменных, которые представлены столбиками. А это означает что для них можно использовать различные цвета. Вы можете передать в параметр col =
вектор из цветов, соответствующих столбикам:
colors = c("red", "green", "blue", "orange", "yellow", "pink", "white","black")
barplot(okr$ХимЭкспорт,
names.arg = names,
main = "Экспорт продукции химической промышленности",
xlab = "млн долл. США",
horiz = TRUE,
las = 1,
xlim = c(0,12000),
col = colors)
На самом деле, такой винегрет из цветов на столбчатых диаграммах использовать не принято. Но вы должны понимать, что при необходимости можно поменять цвет отдельно выбранных столбиков. Например, мы можем показать красным цветом Центральный и Приволжский округа, которые являются лидерами по экспорту продукции химической промышленности:
colors = rep("gray", 8) # сделаем 8 серых цветов
colors[2] = "red"
colors[7] = "red"
barplot(okr$ХимЭкспорт,
names.arg = names,
main = "Экспорт продукции химической промышленности",
xlab = "млн долл. США",
horiz = TRUE,
las = 1,
xlim = c(0,12000),
col = colors)
Еще одна интересная особенность использования цвета заключается в том, что количество указанных цветом может не совпадать с количеством рядов данных. Вы можете указать 2 или 3 цвета, и они будут циклически повторяться при визуализации данных:
colors=c("gray","steelblue")
barplot(okr$ХимЭкспорт,
names.arg = names,
main = "Экспорт продукции химической промышленности",
xlab = "млн долл. США",
horiz =TRUE,
las = 1,
xlim = c(0, 12000),
col = colors)
Наконец, вещь, которой совершенно необходимо уметь пользоваться при работе с цветом в R — это цветовые палитры. Палитры чрезвычайно удобны, когда необходимо сгенерировать множество цветов, зная лишь основные оттенки. Для этого нужно создать палитру, используя функцию colorRampPalette()
:
# задаем 2 опорных цвета: черный белый
palet=colorRampPalette(c("black","white"))
# и автоматически генерируем 8 цветов между ними:
colors=palet(8)
# используем их для отображения:
barplot(okr$ХимЭкспорт,
names.arg = names,
main = "Экспорт продукции химической промышленности",
xlab = "млн долл. США",
horiz = TRUE,
las = 1,
xlim = c(0, 12000),
col= colors)
# вы можете включить в палитру произвольное количество цветов:
palet=colorRampPalette(c("steelblue","white","purple4"))
colors=palet(8)
barplot(okr$ХимЭкспорт,
names.arg = names,
main = "Экспорт продукции химической промышленности",
xlab = "млн долл. США",
horiz=TRUE,
las = 1,
xlim = c(0, 12000),
col= colors)
В R существует множество стандартных палитр, их список можно найти в справке и документации. Наиболее полезные из них:
Например, вы можете изменить цвета диаграммы, взяв их из одной из палитр или выбрав случайным образом из полной палитры цветов, используя функцию sample()
:
pie(okr$ХимЭкспорт, names2, main = "Доля федеральных округов в экспорте \n продукции химической промышленности", col=rainbow(length(names2)))
pie(okr$ХимЭкспорт, names2, main = "Доля федеральных округов в экспорте \n продукции химической промышленности", col=sample(colors(),5))
Более богатый набор палитр можно найти в библиотеке RColorBrewer
, которая представляет собой интерпретацию палитр, доступных на сайте colorbrewer2.org
library(RColorBrewer) # Откроем библиотеку RColorBrewer:
display.brewer.all() # Посмотрим, какие в ней имеются палитры
К каждой из этих палитр можно обратиться по названию с помощью функции brewer.pal()
. Поскольку нам необходимы цвета для категориальных данных, следует использовать палитры из средней части (Set3 — Accent)
# выберем цвета из палитры Set2 по количеству секторов в круге:
colors = brewer.pal(length(names2),"Set1")
# И используем их при визуализации
par(mar = c(5, 5, 5, 5)) # установим поля
pie(okr$ХимЭкспорт, names2, main = "Доля федеральных округов в экспорте \n продукции химической промышленности", col=colors)
# Попробуем палитру Accent:
pie(okr$ХимЭкспорт, names2, main = "Доля федеральных округов в экспорте \n продукции химической промышленности", col=brewer.pal(length(names2),"Accent"))
Настройки отображения
Графические параметры
Изменять размеры элементов графика можно независимо друг от друга, используя следующие параметры:
-
cex
— общий масштаб элементов на графике -
cex.axis
— масштаб подписей координат на оси -
cex.lab
— масштаб подписей названий осей -
cex.main
— масштаб заголовка графика -
cex.sub
— масштаб подзаголовка графика -
cex.names
— масштаб подписей факторов (для некоторых типов диаграмм)
Например:
plot(tab$Год,
tab$Каспийское,
pch=20,
type="o",
ylim = c(0,12),
col="red3",
main="Объем сброса загрязненных сточных вод",
xlab="Год",
ylab="млрд.куб.м",
cex.axis=0.8,
cex.lab=0.7,
cex.main=0.9,
cex = 0.8)
points(tab$Год, tab$Карское, pch=20, col="forestgreen",cex = 0.8)
lines(tab$Год, tab$Карское, pch=20, col="forestgreen")
points(tab$Год, tab$Азовское, pch=20, col="steelblue",cex = 0.8)
lines(tab$Год, tab$Азовское, pch=20, col="steelblue")
Аналогично происходит тонкая настройка цвета:
-
col
цвет графика -
col.axis
цвет подписей координат -
col.lab
цвет названий осей -
col.main
цвет заголовка -
col.sub
цвет подзаголовка -
fg
цвет элементов переднего плана (оси, рамка и т.д.) -
bg
цвет фона графика (background)
plot(tab$Год,
tab$Каспийское,
pch=20,
type="o",
ylim = c(0,12),
col="red3",
main="Объем сброса загрязненных сточных вод",
xlab="Год",
ylab="млрд.куб.м",
cex.axis=0.8,
cex.lab=0.7,
cex.main=0.9,
col.lab = "grey50",
fg = "grey40")
points(tab$Год, tab$Карское, pch=20, col="forestgreen")
lines(tab$Год, tab$Карское, pch=20, col="forestgreen")
points(tab$Год, tab$Азовское, pch=20, col="steelblue")
lines(tab$Год, tab$Азовское, pch=20, col="steelblue")
Разметка осей, рамка, сетка координат и произвольные линии
По умолчанию R подбирает оптимальный с точки зрения него шаг разметки осей, в зависимости от разброса значений по осям \(X\) и \(Y\), а также размеров графического устройства, на котором производится рисование. Изменяя размер окна прорисовки, вы получите различную разметку осей.
В то же время, часто возникает желание (или необходимость) самостоятельно управлять шагом разметки сетки. Для этого необходимо:
- Вызвать функцию
plot()
, передав ей дополнительно параметрaxes = FALSE
(убирает при рисовании обе оси) или один из параметровxaxt="n"
/yaxt="n"
(убирают оси \(X\) и \(Y\) соответственно) - Вызвать столько раз функцию
axis()
, сколько вы хотите нарисовать осей, передав ей параметры для рисования каждой оси.
Функция axis()
принимает следующие параметры:
-
side
— сторона графика, на которой будет нарисована ось (1=bottom
,2=left
,3=top
,4=right
) -
at
— вектор значений, в которых должны быть нарисованы метки оси -
labels
— вектор подписей, которые будут нарисованы в местоположениях, указанных в параметреat
. Этот параметр можно пропустить, если подписи совпадают с местоположениями меток -
pos
— координата, вдоль которой будет нарисована ось -
lty
— тип линии -
col
— цвет линии и меток -
las
— расположение подписей параллельно (\(0\)) или перпендикулярно (\(2\)) оси -
tck
— длина метки относительно размера графика. Отрицательные значения дают метки, выходящие за пределы графика. положительные — внутрь графика. \(0\) убирает метки, \(1\) рисует линии сетки.
При ручном построении осей полезно сразу же нарисовать рамку вокруг графика, используя функцию box()
.
Например:
plot(tab$Год,
tab$Каспийское,
type = "l",
axes = FALSE)
axis(side = 1,
at = seq(min(tab$Год), max(tab$Год), 1),
tck = -0.02,
labels = FALSE) # разметим ось X через 1 год, но рисовать подписи не будем
axis(side = 1,
at = seq(min(tab$Год), max(tab$Год), 3), # а подписи расставим через 3 года
tck = 0) # но рисовать метки не будем
# разметим ось Y через 1 млрд куб. м., округлив предварительно минимальное и максимальное значение до ближайшего целого снизу и сверху соответственно
axis(side = 2,
at = seq(floor(min(tab$Каспийское)), ceiling(max(tab$Каспийское)), 1),
tck = -0.02)
box() # добавим рамку для красоты
Для размещения сетки координат существует функция grid(nx = NULL, ny = nx, col = "lightgray", lty = "dotted", lwd = par("lwd"), equilogs = TRUE)
. Как видно из набора ее параметров, сетка определяется количеством линий в горизонтальном и вертикальном направлении. Это не всегда бывает удобно, поскольку как правило мы хотим задать шаг сетки конкретной величины. По умолчанию, однако, линии сетки выбираются автоматически, как и метки:
plot(tab$Год,
tab$Каспийское,
type = "l",
col = "red")
grid()
Вы, разумеется, можете поменять их количество, однако R не будет за вас согласовывать шаг сетки и шаг меток осей, поскольку метки генерируются на стадии рисования plot()
или axis()
и не запоминаются.
plot(tab$Год,
tab$Каспийское,
type = "l",
col = "red")
grid(10, 5)
Функция grid()
на самом деле является оберткой функции abline()
, которая позволяет рисовать произвольные линии на графике. Дана функция предоставляет следующие возможности построения линий и серий линий:
-
a, b
— коэффициенты уравнения \(y = ax + b\). Таким образом можно определить только одну линию. -
coef
— принимает вектор из двух значений, которые интерпретируются какa
иb
. То есть, это альтернативная форма записи предыдущего случая. -
h
— значение (значения) координат \(y\) для горизонтальной линии (серии горизонтальных линий). То есть, вы можете передать в этот параметр как одиночное значение, так и вектор значений. В зависимости это этого нарисуется одна горизонтальная линия или серия горизонтальных линий. -
v
— значение (значения) координат \(x\) для вертикальной линии (серии вертикальных линий).3\) по оси \(Y\). Для этого выполним следующую последовательность действий:plot(tab$Год, tab$Каспийское, type="n") # режим 'n' позволяет ничего не рисовать, но заложить поле графика в соответствии с данными, указанными в параметрах x и y # Вычисляем линии сетки xlines = seq(min(tab$Год), max(tab$Год), 1) ylines = seq(ceiling(min(tab$Каспийское)), floor(max(tab$Каспийское)), 1) # Рисуем линии сетки abline(h = ylines, v = xlines, col = "lightgray") # Рисуем график lines(tab$Год, tab$Каспийское, col="red3") points(tab$Год, tab$Каспийское, pch = 20, col="red3") # Выделяем значение 10 по оси Y: abline(h = 10, col = "blue", lwd = 2) # Рисуем дополнительно рамку, т.к. сетку координат мы рисовали после графика box()
Аннотации данных (текст на графике)
Аннотации данных добавляются на график с помощью функции
text()
. В качестве трех обязательных аргументов ей необходимо передать координаты точек размещения текста, и вектор подписей. Также полезным будет указать параметрpos=
, отвечающий за размещение аннотации относительно точки. Значенияpos
, равные 1, 2, 3 и 4, соответствуют размещению снизу, слева, сверху и справа от точки:text(tab$Год, tab$Каспийское, labels = tab$Каспийское, cex = 0.75, pos = 3)
К сожалению, стандартный механизм размещения аннотаций пакета
graphics
не обладает возможностью устранения конфликтов подписей. Однако это возможно для графиков, построенных с помощью библиотек lattice и ggplot2. Для этого можно воспользоваться пакетом directlabels или ggrepel.Легенда
Легенда к графику размещается с помощью функции
legend()
. Эта функция принимает несколько аргументов, включая: местоположение, заголовок, названия элементов, графические параметры. Местоположение может быть задано координатами \((x,y)\) в системе координат графика, но удобнее пользоваться следующими предопределенными константами:"bottomright"
,"bottom"
,"bottomleft"
,"left"
,"topleft"
,"top"
,"topright"
,"right"
,"center"
.Чтобы в легенде появились точки, необходимо задать параметр
pch=
. Для линейной легенды, следует задать, соответственно, параметрlty =
и/илиlwd =
. Каждый из этих параметров должен быть вектором по количеству элементов легенды:par(mar = margins.default) # Найдем ограничивающий прямоугольник вокруг всех рядов данных xrange = range(tab$Год) yrange = range(tab$Каспийское, tab$Карское, tab$Азовское) # Построим пустой график с разметкой осей и всеми заголовками plot(xrange, yrange, type="n", main="Объем сброса загрязненных сточных вод", xlab="Год", ylab="млрд.куб.м", cex.axis=0.8, cex.lab=0.7, cex.main=0.9, col.lab = "grey50", fg = "grey40") # Добавим на график сетку координат grid() # Добавим на график данные points(tab$Год, tab$Каспийское, pch=20, col="red3") lines(tab$Год, tab$Каспийское, pch=20, col="red3") points(tab$Год, tab$Карское, pch=20, col="forestgreen") lines(tab$Год, tab$Карское, pch=20, col="forestgreen") points(tab$Год, tab$Азовское, pch=20, col="steelblue") lines(tab$Год, tab$Азовское, pch=20, col="steelblue") # Определим положение, названия и цвета: main = "Море" location = "topright" labels = c("Каспийское", "Карское", "Азовское") colors = c("red3", "forestgreen", "steelblue") # Если цвет передать в параметр fill, то по умолчанию # нарисуются цветовые плашки: legend(location, labels, title = main, fill=colors)
pts = c(20, 20, 20) # каждый элемент показывается точкой типа 20 lns = c(1, 1, 1) # каждый элемент показывается линией толщиной 1 # теперь посмотрим на легенду (она нарисуется поверх старой) legend(location, labels, title = main, col = colors, pch = pts, lwd = lns)
Более подробно с разнообразными опциями размещения легенды на графике вы можете познакомиться, набрав в консоли команду
?legend
.Графика в HTML
«Графика в HTML» – шестой урок учебника HTML. В этом уроке речь пойдет о работе с веб графикой, как частью HTML страниц. Мы научимся создавать изображения в рамках HTML и настраивать их отображение.
Работа с изображениями и графикой в HTML очень важна, именно она позволяет сделать внешний вид страницы таким, каким мы его и хотим видеть, создание фона, добавление графических объектов и многое другое будет рассмотрено в этом разделе.
Использование графики на HTML страницах.
В современном интернет очень популярно использование всевозможной графики на веб страницах, использование звуков и анимации. Многие веб–мастера используют графику на своих сайтах для привлечения новых клиентов, для создания броского и уникального дизайна для сайта.
Но не стоит забывать, что графика должна гармонично сочетаться с общим настроением сайта. Она не должна резко выделяться, а лишь немного подчеркивать тематику сайта. Нельзя использовать яркие, кислотные цвета, резко контрастирующие с цветом текста, нельзя использовать фоновые цвета, близкие к цвету текста, нельзя перегружать страницу большим количеством анимации — все это отпугивает пользователя и сильно увеличивает время загрузки страницы.
Простота — есть гениальность.
Придерживайтесь этого правила и ваши страницы будут притягивать внимание.
Но простота и примитивность – совершенно разные понятия. Найдите баланс. Экспериментируйте для получения своей, уникальной формулы дизайнерского успеха…
Добавление изображений к html странице.
Для добавления к web–странице файла с изображением используется тег <img>, с обязательным атрибутом src, который будет указывать на файл с изображением.
<p><center><img src=»../img/cat.gif» alt=»Это кот «></center></p>
Форматирование изображений.
Для форматирования текста, расположенного рядом с изображением используется атрибут тега <img> – allign. Пример его работы вы можете видеть ниже:
Для дополнительного форматирования изображений могут быть использованы атрибуты hspace и vspace, которые определяют интервал между графическим изображением и расположенным возле текстом по горизонтали и вертикали. Величина отступа задается в пикселях. В примере сверху вы можете видеть влияние этих атрибутов на форматирование.
Также форматировать изображение можно посредством атрибута border, задающего ширину рамки вокруг изображения. По умолчанию рамка вокруг изображения равна 0, а вокруг изображения, являющегося ссылкой – 2.
Аттрибуты height и width позволяют задать размер изображения по ширине и высоте. Задать размер можно как в пиксельной, так и в процентной величине. По умолчанию браузер устанавливает изображению его реальные размеры, но я вам настоятельно рекомендую всегда использовать эти атрибуты и задавать размер изображения вручную. Связанно это с тем, что при невозможности загрузить изображения браузер установит ему случайные размеры и получится пустой квадрат со случайным размером, который почти наверняка искаверкает общий каркас сайта, что приведет к неправильному отображению последнего. Если же атрибуты размера установлены, то даже при невозможности загрузки изображения каркас сайта не будет нарушен.
Атрибут ALT – указывает название изображения, которое учитывается поисковыми машинами при индексации сайта и отображается в пустом квадрате вместо изображения, в случае невозможности загрузки последнего. Использование этого атрибута я считаю обязательным, но об этом мы поговорим в разделе «Как раскрутить сайт самостоятельно и с нуля ».
Использование фона в HTML.
Одним из наиболее важных факторов графического оформления сайта является использование фона. Для создания фона, состоящего из одного сплошного цвета используется атрибут bgcolor со значением цвета. Для использования изображения в качестве фона используется атрибут background с адресом фонового рисунка. Особенностью тега backgroundявляется то что он при открытии изображения помещает его в полном размере в левый верхний угол экрана и начинает его тиражировать на весь экран, что позволяет добиваться довольно интересных эффектов. Например:
Я текст на красном фоне
<body bgcolor=»red»>
<p align=»center»>
я текст на красном фоне
</p>
</body>Я текст на фоне маленького кота
<body background=
«../img/cat_mini.gif»>
<p align=»center»>
я текст на фоне маленького кота
</p></body>я текст на фоне кота побольше
<body background=
«../img/cat.gif»>
<p align=»center»>
я текст на фоне кота побольше
</p></body>Из примеров хорошо видно, как браузер тиражирует изображение.
Горизонтальная линия.
Для построения горизонтальной линии используется тег <hr>. Для изменения параметров линии, а именно, толщины и длинны, используются атрибуты SIZE и WIDTH. Для выравнивания линии, относительно центра страницы используется атрибут ALIGN. Атрибут NOSHADE используется для определения, будет ли у линии тень.
<hr align=»center» color=»#666666″ width=»400″>
Правильное использование графики на веб-страницах способствует созданию необходимой атмосферы на сайте. Цветовые и графические схемы необходимо подбирать в зависимости от ситуации и от нацеленности всего проекта. Например на информационных сайтах, содержащих преимущественно текстовую информацию отлично работают теплые тона, с небольшим контрастом между областью с содержанием текста и остальной областью сайта, на продающих сайтах отлично работают светлые схемы оформления с элементами высокой контрастности (красный и синий). Вообще правильный выбор дизайна сайта – это отдельная и очень объемная тема, которая с легкостью может занять целую книгу.
Графическое оформление позволит сделать ваш сайт уникальным и привлекательным. При создании графики внутри HTML страниц немаловажно проводить оптимизацию изображений для уменьшения их веса, а соответственно и скорости загрузки картинок. Для небольших изображений рекомендую использовать формат .gif, для крупных — .jpeg со средними настройками качества. .png изображения являются одними из наиболее увесистых, поэтому рекомендую по возможности отказаться от их использования.
В следующий раз мы научимся работать с таблицами в html. Правильная работа с таблицами позволяет отлично позиционировать элементы и даже создавать каркасы сайтов.
Подборка 12 скриптов для построения красивых графиков и диаграмм.
Фев
26
2013Добрый день мой дорогой читатель сегодня я хочу предложить тебе замечательную подборку плагинов и примеров для построения различных типов диаграмм и графиков. Думаю каждый найдет для себя что то интересное.
1. jqPlot — Универсальный и расширяемый JQuery Plugin для построения графиков
Демо Скачать
jqPlot — JQuery Плагин для построения графиков на Javascript.
jqPlot производит красивые линии, бары и круговые диаграммы с большим количеством функций:
Многочисленные стили диаграмм.
Данные на оси с настраиваемым форматированием.
До 9 осей Y.
Поворот текста оси.
Автоматическое вычисление линии тренда.
Всплывающие подсказки.
Простота использования.http://www.jqplot.com/
2. Библиотека визуализации Dygraphs
Демо Скачать
Dygraphs является библиотекой с открытым исходным кодом, которая строит интерактивные, масштабируемые графики временных рядов. Она предназначена для отображения плотных массивов данных и позволяет пользователям исследовать и интерпретировать их.
Особенности:
Отображение временных рядов без использования внешних серверов или флэш-анимации
Работает в Internet Explorer (с помощью excanvas)
Малый размер (69kb)
Отображает значения при наведении курсора мыши
Интерактивное масштабирование
Регулируемый период усреднения
Совместимость с API визуализацией Google
http://dygraphs.com/3. Highcharts — Интерактивные графики JavaScript для вашего сайта
Демо Скачать
Highcharts является библиотекой для постройки графиков , написанная на чистом JavaScript, предлагая интерактивные диаграммы для вашего веб-сайта или веб-приложения. Highcharts в настоящее время поддерживает линии, сплайны, области, areaspline, колонки, бар, пирог, разброс, угловые датчики, arearange, areasplinerange, columnrange и полярные типы диаграмм.
http://www.highcharts.com/
4. JQuery с эффектом прокрутки колесика мыши
Демо Скачать
Не использует PNG или JPG спрайты.
Обрабатывает события сенсора, колесика мыши, и клавиатуры.
http://anthonyterrien.com/knob/5. Стильный индикаторы на CSS3
Демо Скачать
Стильные, анимированные индикаторы с использованием CSS3.
http://www.red-team-design.com6. Highcharts с JQuery
Демо Скачать
Highcharts это совместимая с JQuery и Mootools, библеотека для построения графиков. Она совместима со всеми стандартными веб-браузерами, для построения графа использует JSON данные. Поддерживает несколько типов графа линии, сплайны , область, areaspline, колонки, бар, pie и точечную диаграмму.
Highcharts.com7. Анимированный граф на HTML5 и JQuery
Демо Скачать
Прекрасная, интерактивная круговая диаграмма с использованием новейших технологий HTML5. Не использует Flash.
8. Экспериментальный граф на CSS3
Демо Скачать
Этот метод является примером постройки экспериментальных графиках на CSS3, без JavaScript и изображений. Использование CSS3 селекторов поистине впечатляет: трансформации, градиенты и переходы в использовании. К сожалению не поддерживается в IE.
9. Еще одна диаграмма на JQuery и HTML5
Демо Скачать
Visualize плагин анализирует ключевые элементы содержания в структурированной HTML таблице, и использует HTML5, что превратить их в диаграмму или график. Например, в таблице данных строки могут служить графиком баров, линий или клинев. Visualize также автоматически проверяет максимальное и минимальное значения в таблице и использует их для расчета оси х значения для линии и гистограммы. Наконец, плагин включает в себя два различных стиля CSS — светлый и темный которые могут быть использованы как есть, или могут служить в качестве отправной точки для настройки диаграмм и графиков.
http://filamentgroup.com10. Красивые бары на CSS
Демо Скачать
Прекрасный пример построения аккуратных графиков-баров.
11. Линейный График с помощью CSS
Демо Скачать
12. JQuery с Google Charts
Демо Скачать
GvChart это плагин jQuery, который использует Google Charts для создания интерактивной визуализации с использованием данных из HTML таблицы. Простой в использовании и позволяющий создавать пять типов диаграмм.
Источник урока: http://www.adatum.ru
Автор: Сергоманов Дмитрий Метки: angular gauges chart, area chart, arearange chart, areaspline chart, areasplinerange chart, bar chart, column chart, columnrange chart, line chart, pie chart, polar chart, scatter chart, spline chart, граф, график, диаграммаГрафические методы анализа данных
Графические методы анализа данныхГрафические методы анализа данных
Краткий обзор типов графиков
Типичные методы визуализации
Категоризованные графики
Одним из наиболее мощных аналитических методов исследования является разделение («разбиение») данных на группы для сравнения структуры получившихся подмножеств. Эти методы широко применяются как в разведочном анализе данных, так и при проверке гипотез и известны под разными названиями (классификация, группировка, категоризация, разбиение, расслоение и пр.). Например, взаимосвязь между возрастом и риском инфаркта может отличаться для мужчин и женщин (для мужчин эта зависимость сильнее). Или например, зависимость между приемом лекарств и снижением уровня холестерина может наблюдаться только для женщин с пониженным давлением и в возрасте 30-40 лет. Производительность или гистограммы мощности могут различаться для временных промежутков, когда управление осуществляется разными операторами. Разным экспериментальным группам также могут соответствовать разные наклоны линий регрессии.
Для количественного описания различий между группами наблюдений разработаны многочисленные вычислительные методы, основанные на группировке данных (например, дисперсионный анализ). Однако графические средства (такие как рассматриваемые в этом разделе категоризованные графики) дают особые преимущества и позволяют выявить закономерности, которые трудно поддаются количественному описанию и которые весьма сложно обнаружить с помощью вычислительных процедур (например, сложные взаимосвязи, исключения или аномалии). В этих случаях графические методы предоставляют уникальные возможности многомерного аналитического исследования или «добычи» данных.
Что такое категоризованные графики
Термин «категоризованные графики» впервые был использован в программе STATISTICA компании StatSoft в 1990 году (кроме того, Becker, Cleveland и Clark из Bell Labs называют их графиками на решетке). Эти графики представляют собой наборы двумерных, трехмерных, тернарных или n-мерных графиков (таких как гистограммы, диаграммы рассеяния, линейные графики, поверхности, тернарные диаграммы рассеяния и пр.), по одному графику для каждой выбранной категории (подмножества) наблюдений, например, опрашиваемых из Нью-Йорка, Чикаго или Далласа. Эти «входящие» графики располагаются последовательно в одном графическом окне, позволяя сравнивать структуру данных для каждой из указанных подгрупп (например, городов).
Для выбора подгрупп можно использовать множество методов, самый простой из них — это введение категориальной переменной (например, переменной City с значениями New York, Chicago и Dallas). На следующем графике показаны гистограммы переменной, представляющей данные о самооценке стресса жителями каждого из трех городов.
На основе этих данных можно сделать вывод о том, что жители Далласа не очень подвержены стрессам, в то время как распределения уровня стресса в Нью-Йорке и Чикаго довольно похожи.
Некоторые программы (например, система STATISTICA) поддерживают двухвходовую или многомерную категоризацию, где для задания подгрупп используется не один (например, City), а два или более критериев (например, City и Time ). Двухвходовые категоризованные графики можно рассматривать как «таблицы графиков», где каждый входящий график находится на «пересечении» определенных значений первой (например, City) и второй (например, Time) группирующих переменных.
Добавление второго фактора показывает, что картины стрессовых нагрузок в Нью-Йорке и Чикаго в действительности сильно различаются, если учитывается время опроса, в то время как фактор времени практически ничего не меняет в Далласе.
Категоризованные и матричные графики. Матричные графики также состоят из нескольких графиков; однако здесь каждый из них основывается (или может основываться) на одном и том же множестве наблюдений, и графики строятся для всех комбинаций переменных из одного или двух списков. Для категоризованных графиков требуется такой же выбор переменных, как и для некатегоризованных графиков соответствующего типа (например, две переменных для диаграммы рассеяния). В то же время для категоризованных графиков необходимо указать по крайней мере одну группирующую переменную (или способ разбиения наблюдений на категории), где содержалась бы информация о принадлежности каждого наблюдения к определенной подгруппе (например, Chicago, Dallas). Группирующая переменная не будет непосредственно изображена на графике (т.е. не будет построена), однако она будет служить критерием для разделения всех анализируемых наблюдений на отдельные подгруппы. Как показано выше, для каждой группы (категории), определяемой группирующей переменной, будет построен один график.
Общие и независимые шкалы. Каждый элементарный график, входящий в состав категоризованного графика, может быть масштабирован в соответствии со своим собственным диапазоном значений (независимые шкалы).
Или все графики могут иметь общую шкалу, достаточно широкую, чтобы охватить весь диапазон значений.
Общий масштаб позволяет сравнивать диапазоны и распределения значений разных категорий. Однако, если эти диапазоны сильно различаются (что приводит к очень большой общей шкале), то исследование некоторых графиков может быть затруднено. Использование независимого масштаба может упростить выявление трендов и определенных закономерностей внутри категорий, но в то же время затруднить сравнение диапазонов значений разных подгрупп.
Методы категоризации
Существует пять основных методов категоризации значений, которые будут кратко описаны в этом разделе: целые числа, категории, границы, коды и сложные подгруппы. Обратите внимание, что одни и те же методы категоризации можно использовать как для разбиения наблюдений по входящим графикам, так и для категоризации наблюдений внутри входящих графиков ( например, на гистограммах или диаграммах размаха).
Целые числа. При использовании этого режима для определения категорий будут использованы целые значения выбранной группирующей переменной, и для всех наблюдений, принадлежащих каждой категории (заданной этими целыми числами), будет построено по одному графику. Если выбранная группирующая переменная содержит не целочисленные значения, то программа автоматически округлит каждое значение выделенной переменной до целого числа.
Категории. В этом режиме категоризации нужно указать желаемое число категорий. Программа разделит весь диапазон значений выбранной группирующей переменной (от минимального до максимального) на указанное число интервалов равной длины.
Границы. Метод границ также представляет собой интервальную категоризацию, однако в этом случае интервалы могут иметь произвольную (например, различную) длину, определяемую пользователем (например, «меньше -10», «больше или равно -10, но меньше 0», «больше или равно 0, но меньше 10» и «больше или равно 10»).
Коды. Этот метод следует использовать в том случае, если выбранная группирующая переменная содержит «коды » (т.е. особые смысловые значения, такие как Male, Female), по которым можно разбить данные на категории.
Сложные подгруппы. Этот метод дает возможность пользователю использовать для выделения подгрупп более одной переменной. Другими словами, категоризация, основанная на выделении сложных подгрупп, может представлять не распределения конкретных переменных, а распределения частот определенных «событий» при заданной комбинации значений любого числа переменных текущего набора данных. Например, можно указать шесть категорий, задаваемых комбинациями значений трех переменных Gender, Age и Employment.
Гистограммы
Гистограммы используются для изучения распределений частот значений переменных. Такое частотное распределение показывает, какие именно конкретные значения или диапазоны значений исследуемой переменной встречаются наиболее часто, насколько различаются эти значения, расположено ли большинство наблюдений около среднего значения, является распределение симметричным или асимметричным, многомодальным (т.е. имеет две или более вершины) или одномодальным и т.д. Гистограммы также используются для сравнения наблюдаемых и теоретических или ожидаемых распределений.
Категоризованные гистограммы представляют собой наборы гистограмм, соответствующих различным значениям одной или нескольких категоризующих переменных или наборам логических условий категоризации (см. Методы категоризации).
Частотные распределения могут представлять интерес по двум основным причинам.
- По форме распределения можно судить о природе исследуемой переменной (например, бимодальное распределение позволяет предположить, что выборка не является однородной и содержит наблюдения, принадлежащие двум различным множествам, которые в свою очередь нормально распределены).
- Многие статистики основываются на определенных предположениях о распределениях анализируемых переменных; гистограммы позволяют проверить, выполняются ли эти предположения.
Как правило, работа с новым набором данных начинается с построения гистограмм всех переменных.
Гистограммы и группировка. Категоризованные гистограммы предоставляют такую же информацию о данных, как и группировка (например, среднее, медиану, минимум, максимум, разброс и т.п.; см. главу Основные статистики и таблицы). Хотя конкретные (числовые) значения описательных статистик легко увидеть в таблице, в то же время общую структуру и глобальные характеристики распределения проще изучать на графике. Более того, график дает качественную информацию о распределении, которую невозможно отразить с помощью какого-либо одного параметра. Например, по асимметрии распределения значений дохода можно сделать вывод о том, что большинство населения имеет низкий, а не высокий уровень доходов. Если помимо этого провести группировку данных по этническому и половому признакам, то можно обнаружить, что в некоторых подгруппах эта структура распределения станет еще более ярко выраженной. Хотя эта информация содержится в значении коэффициента асимметрии (для каждой подгруппы), но она легче воспринимается и запоминается, будучи графически представленной на гистограмме. Кроме того, на гистограмме можно наблюдать некоторые «впадины и выпуклости», которые могут свидетельствовать о социальном расслоении в исследуемой группе населения или об аномалиях в распределении дохода отдельных подгрупп, связанных с недавней налоговой реформой.
Категоризованные гистограммы и диаграммы рассеяния. Полезное применение категоризации для непрерывных переменных — это представление взаимосвязи трех переменных одновременно. Ниже показана диаграмма рассеяния для двух переменных Load 1 и Load 2.
Предположим, к ним нужно добавить третью переменную (Output) и исследовать ее распределение при различных значения совместного распределения переменных Load 1 и Load 2. Для этого можно построить следующий график:
На этом графике обе переменные Load 1 и Load 2 сгруппированы в 5 интервалов, и для каждой комбинации этих интервалов вычислено распределение переменной Output. Обратите внимание, что внутри «прямоугольника» (параллелограмма) находятся наблюдения, одинаковые для обоих показанных выше графиков.
Диаграммы рассеяния
Двумерные диаграммы рассеяния используются для визуализации взаимосвязей между двумя переменными X и Y (например, весом и ростом). На этих диаграммах отдельные точки данных представлены маркерами на плоскости, где оси соответствуют переменным. Две координаты (X и Y), определяющие положение точки, соответствуют значениям переменных. Если между переменными существует сильная взаимосвязь, то точки на графике образуют упорядоченную структуру (например, прямую линию или характерную кривую). Если переменные не взаимосвязаны, то точки образуют «облако».
Можно построить также категоризованные диаграммы рассеяния, сгруппированные по значениям одной или нескольких переменных, а с помощью метода сложных подгрупп (см. Методы категоризации) — диаграммы рассеяния, категоризованные по заданным логическим условиям выбора подгрупп наблюдений.
Категоризованные диаграммы рассеянияпредставляют собой мощный исследовательский и аналитический метод для изучения взаимосвязей между двумя и более переменными среди различных подгрупп.
Однородность двумерных распределений (форма взаимосвязей).Диаграммы рассеяния обычно используются для выявления природы взаимосвязи двух переменных (например, кровяного давления и уровня холестерина), поскольку они предоставляют гораздо больше информации, чем коэффициент корреляции.
Например, неоднородность выборки, по которой рассчитываются корреляции, может привести к искажению значений коэффициента корреляции. Предположим, коэффициент корреляции рассчитывается по данным, полученным в двух экспериментальных группах, но этот факт при вычислениях игнорируется. Пусть эксперимент в одной из подгрупп привел к увеличению значений обеих переменных, и на диаграмме рассеяния данные из каждой группы образуют отдельные «облака» (как показано на картинке).
В этом примере большое значение коэффициента корреляции целиком обусловлено распределением по группам и не отражает «истинную» взаимосвязь между двумя переменными, которая практически близка к 0 (это хорошо видно, если рассматривать каждую группу отдельно).
Если вы предполагаете, что подобная структура присутствует и в ваших данных, и знаете, каким образом выделить «подгруппы» наблюдений, то имеет смысл построить категоризованную диаграмму рассеяния.
Такой график поможет вам прояснить структуру взаимосвязей между переменными X и Y внутри каждой подгруппы (после соответствующего разбиения наблюдений).
Нелинейные зависимости. С помощью диаграмм рассеяния можно исследовать и нелинейные взаимосвязи между переменными. При этом не существует каких-либо «автоматических» или простых способов оценки нелинейности. Стандартный коэффициент корреляции Пирсона r позволяет оценить только линейность связи, а некоторые непараметрические корреляции, например, Спирмена R, дают возможность оценить нелинейность, но только для монотонных зависимостей. На диаграммах рассеяния можно изучить структуру взаимосвязей, чтобы затем с помощью преобразования привести данные к линейному виду или выбрать подходящую нелинейную подгонку.
Дополнительную информацию можно найти в разделах Основные статистики, Непараметрическая статистика и распределения, Множественная регрессия и Нелинейное оценивание.
Вероятностные графики
Существует три типа категоризованных вероятностных графиков: нормальные, полунормальные и с исключенным трендом. Нормальные вероятностные графики — это быстрый способ визуальной проверки степени соответствия данных нормальному распределению.
В свою очередь категоризованные вероятностные графики дают возможность исследовать близость к нормальному распределению различных подгрупп данных .
Категоризованные нормальные вероятностные графики представляют собой эффективный инструмент для исследования однородности группы наблюдений с точки зрения соответствия нормальному распределению.
Графики квантиль-квантиль
Категоризованные графики квантиль-квантиль (или К-К) используются для поиска в определенном семействе распределений того распределения, которое наилучшим образом описывает имеющиеся данные.
В случае категоризованных графиков К-К строится набор графиков квантиль-квантиль, по одному для каждого значения категориальных переменных (X или X и Y) или для заданных условий выбора сложных подгрупп (см. Методы категоризации). Для графиков К-К используются следующие семейства распределений: экспоненциальное, экстремальное, нормальное, Релея, бета-, гамма-, логнормальное и Вейбулла.
Графики вероятность-вероятность
Категоризованные графики вероятность-вероятность (или В-В) используются для проверки соответствия конкретного теоретического распределения имеющимся исходным данным. На этих графиках для каждого значения категориальных переменных (X или X и Y) или для заданных условий выбора сложных подгрупп (см. Методы категоризации) создается по одному графику вероятность-вероятность.
На графиках В-В строится наблюдаемая функция распределения (доля непропущенных значений x) в зависимости от теоретической функции распределения, чтобы оценить соответствие этой теоретической функции наблюдаемым данным. Если все точки этого графика располагаются на диагонали (содержащей точку 0 и имеющей наклон 1), то можно заключить, что наблюдаемое распределение хорошо аппроксимируется данной теоретической функцией.
Если не все точки данных располагаются на диагональной линии, то на таком графике можно визуально выделить группы наблюдений, соответствующие и не соответствующие искомому распределению (если, к примеру, точки образуют кривую S-образной формы вокруг диагональной линии, то к ним можно применить определенное преобразование для приведения к нужной форме распределения).
Линейные графики
На линейных графиках отдельные точки данных соединяются линиями. Это простой способ визуального представления последовательности значений (например, цены на фондовом рынке за несколько дней торгов). Категоризованные линейные графики строятся в том случае, если необходимо разбить данные на несколько групп (категоризовать) с помощью группирующей переменной (например, цены при закрытии рынка по понедельникам, вторникам и т.д.) или с помощью логических условий, составленных по нескольким переменным (например, цены при закрытии рынка в те дни, когда две другие акции и индекс Доу Джонса выросли по сравнению с другими ценами закрытия; см. Методы категоризации).
Диаграммы размаха
На диаграммах размаха (этот термин был впервые использован Тьюки в 1970 году) представлены диапазоны значений выбранной переменной (или переменных) для отдельных групп наблюдений. Для выделения этих групп используются от одной до трех категориальных (группирующих) переменных или набор логических условий выбора подгрупп.
Для каждой группы наблюдений вычисляется центральная тенденция (медиана или среднее), а также размах или изменчивость (квартили, стандартные ошибки или стандартные отклонения). Выбранные параметры отображаются на графике одним из пяти способов (Прямоугольники-Отрезки, Отрезки, Прямоугольники, Столбцы или Верхние-нижние засечки). На этом графике можно показать и выбросы (см. разделы о выбросах и крайних точках).
На следующем графике, например, выбор факторов можно было бы считать вполне удачным, если бы не «досадное» несоответствие, на которое указывают выделенные на рисунке выбросы (в данном случае это значения, попадающие за пределы 1,5 квартильных размахов):
А на следующем рисунке не показаны ни выбросы, ни крайние точки.
Можно выделить два основных направления использования диаграмм размаха: (a) отображение диапазонов значений отдельных элементов, наблюдений или выборок (например, типичные минимаксные графики цен на акции или товары или графики агрегированных данных с диапазонами), (б) отображение изменения значений в отдельных группах или выборках (например, когда точкой внутри прямоугольника представлено среднее значение для каждой выборки, сам прямоугольник соответствует значениям стандартной ошибки, а меньший прямоугольник или пара «отрезков» обозначает стандартное отклонение от среднего).
С помощью диаграмм размаха, на которых представлены характеристики изменчивости, можно быстро оценить и «интуитивно представить» силу связи между группирующей и зависимой переменной. Предположив, что зависимая переменная нормально распределена, и зная долю наблюдений, попадающих, к примеру, в интервал ±1 или ±2 стандартных отклонения от среднего (см. Элементарные понятия статистики), можно сделать, например, вывод о том, что 95% наблюдений из экспериментальной группы 1 попадают в другой диапазон значений, нежели 95% наблюдений из группы 2.
На этих графиках можно изобразить и так называемые усеченные средние (этот термин был впервые использован Тьюки в 1962 году), которые вычисляются после исключения заданного пользователем процента наблюдений с концов (хвостов) распределения.
Круговые диаграммы
Одним из наиболее широко используемых типов графического представления данных являются круговые диаграммы, на которых показаны пропорции или сами значения переменных. Категоризованные графики этого типа состоят из нескольких круговых диаграмм, где данные разделены по группам с помощью одной или нескольких группирующих переменных (например, gender) или категоризованы согласно логическим условиям выбора подгрупп (см. Методы категоризации).
В дальнейшем, говоря о категоризации этих графиков, мы будем иметь ввиду круговые диаграммы частот (в противоположность круговым диаграммам значений). Эти типы графиков, называемые также частотными круговыми диаграммами, представляют данные аналогично гистограммам. Все значения выбранной переменной категоризуются с помощью заданного метода категоризации, а затем относительные значения частот отображаются в виде сегментов круговой диаграммы пропорционального размера. Таким образом, эти графики являются альтернативным представлением гистограммы частот (см. раздел о категоризованных гистограммах).
Диаграммы рассеяния круговых диаграмм. Еще одно очень полезное применение категоризованных круговых диаграмм — это представление относительных частот значений какой-либо переменной в различных «местах» совместного распределения двух других переменных. Например:
Обратите внимание, что круговые диаграммы изображены только в тех «местах», где имеются данные. Показанный выше график напоминает диаграмму рассеяния (переменных L1 и L2), где маркерами точек являются круговые диаграммы. Однако помимо обычной информации, содержащейся в диаграмме рассеяния, здесь в каждой точке дополнительно показано относительное распределение третьей переменной (а именно, доля значений Low, Medium и High Quality).
Графики пропущенных значений и данных вне диапазона
На этих графиках можно наглядно представить структуру распределения точек данных, содержащих пропущенные значения или находящихся «вне диапазонов», заданных пользователем. При этом строится по одной двумерной диаграмме для каждой группы наблюдений, выделенной с помощью группирующих переменных или с помощью условий выбора сложных подгрупп (см. Методы категоризации).
Эти типы графиков используются в разведочном анализе данных, чтобы определить, является ли случайным распределение точек с пропущенными значениями, а также для оценки их диапазона.
Трехмерные (3М) графики
Трехмерные диаграммы рассеяния (пространственные, спектральные, трассировочные и диаграммы отклонений), карты линий уровня и поверхности также можно построить для подгрупп наблюдений, заданных с помощью выбранной категориальной переменной или логических условий выбора (см. Методы категоризации). Основная задача этих графиков - упростить сравнение взаимосвязей между тремя и более переменными для различных групп или категорий наблюдений.
Применения. Трехмерные графики в координатах XYZ отображают взаимосвязи между тремя переменными. С помощью различных способов категоризации можно исследовать эти зависимости при различных условиях (т.е. в разных группах).
Изучая, например, показанный ниже категоризованный график поверхности, можно сделать вывод о том, что величина допуска прибора не влияет на измерения (переменные Depend1, Depend2 и Height), кроме случая, когда она 3.
Этот вывод становится еще более очевидным, если использовать вместо поверхности карту линий уровня.
Тернарные графики
Категоризованные тернарные графики используются для исследования взаимосвязей между тремя и более переменными, три из которых представляют собой компоненты смеси (т.е. для каждого наблюдения значения их суммы являются постоянной величиной), при этом отдельный график строится для каждого уровня группирующей переменной.
Для построения тернарных графиков используется треугольная система координат на плоскости или в пространстве и строится зависимость между четырьмя (или более) переменными (компонентами X, Y и Z и откликами V1, V2 и т.д.). При этом накладываются ограничения на относительные значения каждой из компонент, чтобы они в сумме давали одинаковую величину для каждого наблюдения (например, 1).
На категоризованных тернарных графиках строится по одному графику для каждого значения группирующей переменной (или заданного пользователем подмножества данных), и все они отображаются в одном графическом окне, чтобы можно было сравнивать различные подгруппы наблюдений.
Применения. Эти графики применяются для анализа результатов эксперимента, в котором измеряемый отклик зависит от относительного соотношения трех компонент (например, трех химических веществ при составлении смесей), которое варьируется с целью определения его оптимального значения. Эти типы графического представления можно использовать и в других случаях, когда взаимосвязь между переменными, на которые наложены определенные ограничения, необходимо исследовать для различных групп или категорий наблюдений.
Закрашивание
Закрашивание является одним из первых и, по-видимому, наиболее широко распространенных методов, известных как графический разведочный анализ данных. Этот метод позволяет интерактивно выделять на экране отдельные точки или подмножества данных и задавать их характеристики, или исследовать их влияние на взаимосвязи между переменными (например, на матрицах диаграмм рассеяния) и идентифицировать выбросы(например, с помощью меток).
Связи между переменными можно наглядно представить с помощью аппроксимирующих функций (например, двумерных кривых или трехмерных поверхностей) и доверительных интервалов. Интерактивно удаляя или добавляя определенные подгруппы наблюдений, можно наблюдать за изменениями этих функций и их параметров. Одно из применений метода закрашивания — это, например, выделение на матричной диаграмме рассеяния всех точек данных, принадлежащих определенной категории (например, на показанном ниже рисунке на правом верхнем графике выделена группа наблюдений, соответствующих значению «среднего» уровня дохода).
Такое исследование помогает определить, как эти конкретные наблюдения влияют на связи между другими переменными того же набора данных (например, на корреляцию между «расходами» и «активами»).
В режиме «динамического закрашивания» (см. следующий пример) или «автоматического обновления функции подгонки» можно задать движение кисти по определенным последовательным диапазонам выбранной переменной (например, непрерывной, а не дискретной, как на показанном ранее примере) и исследовать динамику вклада этой переменной в связи между другими переменными этого набора данных.
Сглаживание двумерных распределений
Для наглядного представления таблицы значений двух переменных используются трехмерные гистограммы. Их можно рассматривать как объединение двух простых гистограмм для совместного анализа частот значений двух переменных. Чаще всего на этом графике для каждой «ячейки» таблицы нарисован один трехмерный столбец, а его высота соответствует частоте значений в этой ячейке. При построении трехмерной гистограммы для каждой из двух переменных можно использовать свой метод категоризации (см. ниже).
Когда предусмотрены процедуры сглаживания данных, то трехмерное представление частот значений можно аппроксимировать поверхностью. Такое сглаживание можно осуществить для любой трехмерной гистограммы. Для достаточно простой структуры данных (как на предыдущем рисунке) такое сглаживание не имеет особого смысла.
Однако, в случае более сложной картины распределения частот эта процедура может оказаться эффективным инструментом разведочного анализа данных
и позволит выявить особенности, которые трудно обнаружить на обычной трехмерной гистограмме (например, показанную выше «волновую структуру» поверхности).
Послойное сжатие
На графиках этого типа за счет сокращения области основного графика освобождается место для графиков на полях, которые располагаются в правой и верхней части графического окна (включая маленький угловой график). Эти графики на полях представляют собой соответственно вертикально и горизонтально сжатые изображения основного графика.
Послойное сжатие двумерных графиков является методом разведочного анализа данных, который дает возможность скрытые тренды и структуры двумерных наборов данных. Рассмотрим следующий рисунок.
Здесь на примере, приведенном Кливландом (Cleveland, 1993), можно убедиться, что в каждом цикле солнечной активности число пятен уменьшается гораздо медленнее, чем нарастает в начале цикла. Такое поведение совершенно не очевидно при исследовании обычного линейного графика, в то время как сжатый график позволяет обнаружить эту скрытую картину.
Проекции трехмерных наборов данных
Полезным методом изучения и аналитического исследования структуры поверхности (созданной, как правило, по трехмерным наборам данных) является построение ее проекции на плоскость в виде карты линий уровня.
Эти графики менее эффективны для быстрого визуального анализа формы трехмерных структур по сравнению с графиками поверхности,
однако их преимущество заключается в возможности точного исследования формы поверхности —
на картах линий уровня отображается ряд не искаженных горизонтальных «сечений».
Пиктографики
На пиктографиках каждое наблюдение представлено в виде многомерного символа, что позволяет использовать эти типы графического представления данных в качестве не очень простого, но мощного исследовательского инструмента. Главная идея такого метода анализа основана на человеческой способности «автоматически» фиксировать сложные связи между многими переменными, если они проявляются в последовательности элементов (в данном случае «пиктограмм»). Иногда понимание (или «чувство») того, что некоторые элементы «чем-то похожи» друг на друга, приходит раньше, чем наблюдатель (аналитик) может объяснить, какие именно переменные обусловливают это сходство (Lewicki, Hill, & Czyzewska, 1992). Конкретную природу проявившихся взаимосвязей между переменными позволяет выявить уже последующий анализ данных, основанный на изучении этого интуитивно обнаруженного сходства.
Основная идея пиктографиков заключается в представлении элементарных наблюдений как отдельных графических объектов, где значения переменных соответствуют определенным чертам или размерам объекта (обычно одно наблюдение = одному объекту). Это соответствие устанавливается таким образом, чтобы общий вид объекта менялся в зависимости от конфигурации значений.
Таким образом, объекты имеют определенный «внешний вид», который уникален для каждой конфигурации значений и может быть идентифицирован наблюдателем. Изучение таких пиктограмм помогает выявить как простые связи, так и сложные взаимодействия между переменными.
Анализ пиктографиков
Целесообразно проводить анализ пиктографиков в пять этапов.
- Сначала выберите порядок анализируемых переменных. В большинстве случаев наилучшим вариантом оказывается случайная последовательность. Кроме того, можно попробовать расположить их в порядке, соответствующем полученному уравнению множественной регрессии, факторным нагрузкам или объясняемым факторам (см. главу Факторный анализ). Таким образом можно упростить и сделать более «однородным» общий вид пиктограмм, чтобы легче идентифицировать слабо выраженные различия. В то же время такой подход может затруднить идентификацию некоторых структур. На этом этапе можно дать только один универсальный совет: прежде чем использовать какие-либо сложные методы, попробуйте наиболее простой и быстрый вариант, а именно, случайную последовательность переменных.
- Попробуйте обнаружить какие-либо закономерности, например, сходства между группами пиктограмм, выбросы или определенные связи между элементами (например, » если первые два луча звезды длинные, то как правило, с другой стороны есть один или два коротких луча»). На этом этапе лучше использовать пиктографики кругового типа.
- При обнаружении закономерностей постарайтесь сформулировать их в терминах конкретных переменных.
- Измените соответствие переменных и элементов пиктограмм (или переключитесь на один из последовательных пиктографиков), чтобы проверить обнаруженную структуру взаимосвязей (например, попробуйте переместить ближе друг к другу элементы, между которыми обнаружена связь). В некоторых случаях в конце этого этапа целесообразно исключить из рассмотрения те переменные, которые не вносят явного вклада в обнаруженную структуру.
- И наконец, используйте один из численных методов (таких как регрессионный анализ, нелинейное оценивание, дискриминантный или кластерный анализ), чтобы проверить и попытаться количественно оценить обнаруженные закономерности или хотя бы их часть.
Систематизация пиктографиков
Большинство пиктографиков можно отнести к одной из двух групп: круговые и последовательные.
Круговые пиктографики. Круговые пиктографики (звезды, лучи, многоугольники) имеют вид «велосипедного колеса», на них значения переменных представлены расстояниями между центром пиктограммы («втулкой») и их концами.
Такие графики могут помочь в обнаружении связей между переменными, которые проявляются в общей структуре пиктограмм и зависят от конфигурации значений самих переменных.
Чтобы описать такую » общую картину» в терминах конкретных моделей или проверить имеющиеся предположения, имеет смысл использовать последовательные пиктографики, которые могут оказаться более эффективными, если уже известно, что именно требуется обнаружить.
Последовательные пиктографики. Последовательные пиктографики (столбцы, профили, линии) представляют собой набор картинок с маленькими последовательными графиками (различных типов).
Значения переменных представлены здесь расстояниями между основанием пиктограммы и последовательными точками (например, высотами показанных выше столбцов). Эти графики менее эффективны на начальной стадии разведочного анализа, поскольку пиктограммы очень похожи между собой. Однако, как уже упоминалось ранее, такое представление может быть весьма полезным для проверки уже сформулированной гипотезы.
Пиктограммы круговых диаграмм. Эти пиктографики нельзя однозначно отнести к одной из двух групп. Все они имеют круговую форму, но в то же время последовательно разделены в соответствии с значениями переменных.
Их можно отнести скорее к последовательным, чем к круговым пиктографикам, но можно использовать и в том, и в другом случае.
«Лица Чернова». Этот тип пиктографиков составляет отдельную группу. Здесь каждое наблюдение представляет собой схематичное изображение лица, определенным чертам которого соответствуют относительные значения выбранных переменных.
Некоторые исследователи рассматривают этот способ графического представления данных как уникальный многомерный метод разведочного анализа, позволяющий выявить такие скрытые картины взаимосвязей между переменными, которые не могут быть обнаружены другими методами. Вероятно, такое заявление можно считать преувеличением. Кроме того, следует заметить, что этот способ исследования весьма непрост в применении и требует большого опыта в том, что касается сопоставления переменных чертам лица. См. также раздел Методы «добычи данных» .
Стандартизация значений
Как правило, при построении пиктографиков значения переменных должны быть стандартизованы, чтобы их можно было сравнивать в пределах одной пиктограммы. Исключения составляют те случаи, когда на пиктограммах необходимо отобразить глобальные различия диапазонов выбранных переменных. Поскольку масштаб пиктограммы определяется наибольшим значением, то на пиктограмме могут отсутствовать те переменные, которые имеют значения другого порядка малости, например, на пиктограмме звезды некоторые лучи могут оказаться настолько короткими, что совсем не будут видны..
Применения
Пиктографики обычно используются: (1) для обнаружения структур или кластеров наблюдений и (2) для исследования сложных взаимосвязей между несколькими переменными. Первый вариант соответствует кластерному анализу; т.е. процедуре классификации наблюдений.
Предположим, вы изучали характеры актеров и записали их ответы на вопросы анкеты. С помощью пиктографика можно определить, существуют ли группы артистов, которые отличаются по их ответам на заданные вопросы (можно, к примеру, обнаружить, что некоторые артисты являются творческими, недисциплинированными и независимыми личностями, в то время как другая группа состоит из умных, дисциплинированных людей, которые ценят свою популярность).
Другая область применений — изучение взаимосвязей между переменными — напоминает факторный анализ, который используется для исследования вопроса о зависимости переменных. Предположим, изучалось мнение группы людей о различных марках автомобилей. В файле данных записаны средние оценки по каждому из свойств (рассматриваемых как переменные) для каждого из автомобилей (рассматриваемых как наблюдения).
При изучении «лиц Чернова» (где каждое лицо представляет мнение об одном из автомобилей) может оказаться, что улыбающиеся лица обычно имеют большие уши; при этом, если цене соответствует «ширина» улыбки, а динамическим качествам — размер ушей, то это «открытие» означает, что быстрые машины являются более дорогими. Разумеется, это очень простой пример; однако при реальном анализе данных применение этого метода может сделать более очевидными сложные взаимосвязи между многими переменными.
Близкие способы графического представления
Связи между переменными из одного или двух списков могут быть представлены на матричных графиках. Использование матричных графиков одновременно с выделением подгрупп позволяет получить информацию, подобную той, которая отображается на пиктографиках.
Если использовать методы выделения подгрупп на диаграммах рассеяния, то для исследования взаимосвязей между двумя переменными можно использовать обычные 2М диаграммы рассеяния; а в случае трех переменных — 3Мдиаграммы рассеяния.
Типы графиков
Существуют различные типы пиктографиков.
«Лица Чернова». Для каждого наблюдения рисуется отдельное «лицо»; при этом относительные значения выбранных переменных соответствуют форме и размерам определенных его черт (например, длине носа, изгибу бровей, ширине лица).
Дополнительно см. абзац «Лица Чернова» в разделе Систематизация пиктографиков.
Звезды. Это пиктографики кругового типа. Для каждого наблюдения рисуется пиктограмма в виде звезды; относительные значения выбранных переменных соответствуют относительным длинам лучей каждой звезды (по часовой стрелке, начиная с 12:00). Концы лучей соединены линиями.
Лучи. Эти пиктографики также относятся к круговому типу. Для каждого наблюдения строится одна пиктограмма. Каждый луч соответствует одной из выбранных переменных (по часовой стрелке, начиная с 12:00), и на нем отложено значение соответствующей переменной. Эти значения соединены линиями.
Многоугольники. Это пиктографикикругового типа. Для каждого наблюдения рисуется отдельный многоугольник; относительные значения выбранных переменных соответствуют расстояниям вершин от центра многоугольника (по часовой стрелке, начиная с 12:00).
Круговые диаграммы. Это пиктографики кругового типа. Для каждого наблюдения рисуется круговая диаграмма; относительные значения выбранных переменных соответствуют размерам сегментов диаграммы (по часовой стрелке, начиная с 12:00).
Столбцы. Это пиктографики последовательного типа. Для каждого наблюдения строится столбчатая диаграмма; относительные значения выбранных переменных соответствуют высотам последовательных столбцов.
Линии. Это пиктографики последовательного типа.
Для каждого наблюдения строится линейный график; относительные значения выбранных переменных соответствуют расстояниям точек излома линии от основания графика.
Профили. Это пиктографики последовательного типа. Для каждого наблюдения строится зонный график; относительные значения выбранных переменных соответствуют расстояниям последовательных пиков сечения над линией основания.
Маркировка пиктограмм
Если программа позволяет вам выделять подгруппы наблюдений, то это свойство можно использовать и для маркировки соответствующих пиктограмм. При этом вокруг выделенных пиктограмм будут нарисованы рамки.
Шаблоны рамок, идентифицирующих заданные подгруппы, будут показаны в условных обозначениях рядом с текстом соответствующих условий выбора наблюдений. На следующем графике показан пример маркированных подгрупп.
Все наблюдения, удовлетворяющие условию для подгруппы 1 (значение переменной Iristype равно значению переменной Setosa и номер наблюдения меньше 100), обозначены специальной рамкой вокруг пиктограммы.
А все наблюдения, которые удовлетворяют условию для подгруппы 2 (значение переменной Iristype равно значению переменной Virginic и номер наблюдения меньше 100), обозначены на графике рамкой другого цвета.
Выборка данных
Иногда отображение на графике слишком большого числа точек данных затрудняет изучение их структуры (см. следующий рисунок). Если файл данных слишком большой, то имеет смысл показать на графике лишь подмножество наблюдений, чтобы общая картина не была скрыта маркерами точек.
Некоторые программы предлагают методы выборки (или оптимизации) данных, которые в ряде случаев могут оказаться весьма полезны. При этом пользователь может задать целое число n, меньшее числа наблюдений в файле данных, а программа случайным образом выберет из этого файла приблизительно n допустимых наблюдений и именно их построит на графике.
Заметим, что такие методы сокращения набора данных (или размера выборки) эффективно отображают случайную структуру этих данных. Очевидно, эти методы принципиально отличаются от методов выделения конкретного подмножества или подгруппы наблюдений с помощью определенных критериев (например, по полу, области или уровню холестерина). Последние можно применять интерактивно (например, в режиме динамического закрашивания) или каким-либо другим способом (например, на категоризованных графиках или с помощью условий выбора наблюдений). Все эти методы в равной мере могут помочь в идентификации сложной структуры большого набора данных.
Вращение (в трехмерном пространстве)
Изменение угла зрения при отображении трехмерной диаграммы рассеяния (простой, спектральной или пространственной) может оказаться эффективным средством для выявления некоторой структуры, которая видна только при определенном повороте «облака» точек (см. следующий рисунок).
Некоторые программы предоставляют полезный инструмент для интерактивного изменения перспективы и вращения изображения. Эти средства контроля изображения позволяют подобрать подходящий угол зрения и перспективу, чтобы найти наиболее удачное расположение «точки зрения» на график, а также дают возможность управлять его вращением в горизонтальной и вертикальной плоскости.
Эти инструменты могут оказаться весьма полезными не только при начальном разведочном анализе данных, но и при исследовании факторного пространства (см.Факторный анализ) или пространства размерностей (см. Многомерное шкалирование).
Все права на материалы электронного учебника принадлежат компании StatSoft
SVG Учебник
SVG — это масштабируемая векторная графика.
SVG определяет векторную графику в формате XML.
Примеры в каждой главе
С помощью нашего редактора «Попробуйте сами» вы можете редактировать SVG и нажимать кнопку, чтобы просмотреть результат.
SVG, пример
Мой первый SVG