Как я могу создавать красивые графики автоматически?


12

Например. такие как те на этой странице http://store.steampowered.com/hwsurvey

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

Обновление (29.12.11) :

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

Цель моего проекта - собирать 6-10 наборов данных ежедневно (или, возможно, 2 раза в день) в течение неопределенного периода времени, и я хочу найти способ представления данных на веб-сайте (аналогично ссылке на Steam, которую я (см. выше), в то время как пользовательский бэкэнд достаточно прост для не технического пользователя. Если у вас есть еще предложения, пожалуйста, добавьте к ответам! Еще раз спасибо!


Если вы хотите опубликовать свои графики на веб-странице, вы должны использовать для этого какую-то библиотеку javascript. Как инструменты Google Chart, Флот или Рафаэль
audijenz

1
Мне кажется, есть два вопроса: создание аккуратной графики в автоматическом режиме . Я хотел бы добавить, что эта графика должна быть осмысленной и не приводить к субъективным или перцептивным искажениям (я вижу четыре круговых диаграммы из шести графических, которые соответствуют заданному URL-адресу). Как вы пометили этот вопрос interactive-visualization, что вы имеете в виду? Что-то вроде протовиса или его преемника d3.js ? Легко настроить с помощью данных CSV или JSON, но как насчет ваших данных?
ЧЛ

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

Я не согласен с аргументом: «если вы хотите публиковать графики на веб-странице», то «вы должны использовать библиотеку JS». Если вам нужен график, доступный только через R или SPSS, что вы собираетесь делать? Если вы хотите динамически генерировать графики для веб-страницы, тогда, если вы можете, использование Javascript может быть полезным; но все же, это не является достаточной причиной.
Дэвид Дж.

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

Ответы:


5

Вас интересует как автоматическое создание графиков, так и создание хороших графиков.

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

Цветовая схема : Генераторы цветовой схемы могут дать вам приятную, потенциально клише цветовую схему.

Графический дизайн : Тимоти Самара дает вам список из 20 правил и способов их нарушить. Если вы примените их все, не нарушая ни одного из них, у вас будет прекрасный, потенциально клише дизайн.

Типография : дизайн с помощью Type - мое любимое введение в типографику.


+1 за конструктивный ответ. Автоматически сгенерированный и привлекательный дизайн не противоречат друг другу; это просто намного сложнее.
Даррен Кук

Автоматическая генерация облегчает создание привлекательных графиков. Я не знаю, о чем говорит Уэйн.
Томас Левин

5

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

Создание хороших графиков (или чего угодно) требует таланта, усилий и понимания.

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


4

Десятки программ могут создавать привлекательные, понятные графики: R, Igor Pro, Gnuplot, SAS, даже Excel. Ключевым компонентом является пользователь, который понимает данные, понимает, что необходимо донести до конкретной аудитории, и проводит некоторые исследования по вопросам эстетики / восприятия.

Некоторые программы обладают большей гибкостью, чем другие (R и Igor Pro очень гибкие), а некоторые программы / пакеты имеют более привлекательные значения по умолчанию (например, пакет ggplot в R), но суть в том, что «автоматические» и «хорошие графики» противоречат друг другу. По моему мнению.

РЕДАКТИРОВАТЬ: Как указано в комментариях, «автоматический» может относиться к обновлению графика при появлении новых данных, а не к автоматическому созданию значимых, привлекательных графиков в первую очередь. В этом случае большинство решений, позволяющих создавать привлекательные графики, можно автоматизировать для обновления графика новыми данными. Конечно, если данные резко меняются со временем, ваш оригинальный дизайн может не работать, и график может стать менее понятным или привлекательным.


Никогда не слышал про Игоря Профи. Значения по умолчанию в SAS 9.2 совсем не плохи; квантовый скачок для SAS.
Питер Флом - Восстановить Монику

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

Я удивлен, что Игорь Про упоминается как сопоставимый с R и другими, о которых вы упомянули. (Это первое, что я слышал об этом.)
Дэвид Дж.

Автоматические и красивые графики не обязательно противоречивы. Вот пример: как только вы поймете, какие данные поступают, вы можете настроить автоматически обновляемую визуализацию. Это может и часто автоматизировано. И сделано хорошо. Кроме того, что является альтернативой? Может ли человек обновлять график каждый раз при изменении данных?
Дэвид Дж.

@David, Peter: Я использовал Igor Pro от Wavemetrics, и это очень хорошая программа для научного анализа. Их штат выдающийся, и графики очень настраиваемые. Он может быть полностью управляемым с помощью графического интерфейса, но все переводится на основной язык, к которому вы можете обращаться, сохранять, изменять и т. Д. R бесплатен и имеет тысячи пакетов, а не десятки, так что я держу Igor Pro рядом, но используйте R. Я все еще очень рекомендую это, и вы можете получить больше информации на wavemetrics.com.
Уэйн

1

Просто погуглил эту тему и наткнулся на статью techcrunch, касающуюся visual.ly, компании, которая автоматизирует создание инфографики для таких брендов, как Nat Geo, The Atlantic, GOOD Magazine CNNMoney.com и Ebay.

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

Надеюсь это поможет.


Очень классный ресурс, спасибо! По состоянию на 13.12.2011 у них есть только два сообщения в блоге, но оба они очень хорошие и информативные.
Энди В.

1

Вы можете использовать php GD, чтобы ваш веб-сервер создавал изображения непосредственно из файлов данных.


0

Хорошим (и бесплатным) инструментом для веб-публикации графиков является Google Charts. Вы можете подключиться к данным в режиме реального времени. Проверьте это: http://code.google.com/apis/chart/


0

Посмотрите на Highcharts .

Highcharts - это библиотека диаграмм, написанная на чистом JavaScript, которая предлагает интуитивно понятные интерактивные диаграммы для вашего веб-сайта или веб-приложения. Highcharts в настоящее время поддерживает типы линий, сплайнов, площадей, областей, столбцов, столбчатых, круговых и точечных диаграмм.

Есть хорошая демо- страница.


0

Мне повезло, что я использовал такие инструменты, как R, которые позволяют программировать внешний вид ваших диаграмм и - для веб-сайтов - инструменты Google Chart (или другие инструменты для работы с диаграммами на основе javascript, например d3 , jscharts , и я думаю, что сайт вы используете Fusion Charts ) именно для такого рода проблем.

С помощью R вы настраиваете базовый способ отображения диаграммы. R обладает широкими возможностями настройки (с некоторыми отвратительными значениями по умолчанию, хотя и не такими плохими, как, скажем, в MS Excel), поэтому вы пишете скрипт, который считывает данные из определенного местоположения или источника и настраивает значения. Он может меняться в зависимости от того, где находится ось, отметок, где вы размещаете медиану и любые метки, которые идут вместе с ней. Это не идеально, но вы можете использовать логику программирования и, сделав несколько осторожных шагов, добиться того, чтобы все выглядело довольно хорошо.

С помощью вариантов javascript (где вы можете получить диаграммы, похожие на перечисленные), вы просто настраиваете код, который будет отображать диаграмму и где он будет получать свои данные. Таким образом, вы можете создать службу (например, веб-сервис какой-либо разновидности), которая извлекает / обрабатывает данные и затем передает их в API диаграммы. Недостатком является то, что вы получаете меньше настроек в этом, и иногда получение в формате, ожидаемом API, является болезненным, но значения по умолчанию выглядят довольно хорошо, вы можете легко разместить результат на веб-странице, а некоторые из API дают вам некоторые дополнительные визуальные конфеты (например, те, что на сайте, на который вы ссылаетесь).


0

Сайт Steam использует Flash-плагин для рисования графиков. Если вы хотите рисовать с использованием статистических данных, используйте программное обеспечение R. Если вы являетесь экспертом в Javascript, вам лучше использовать extjs для рисования вашего графика.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.