Помогите понять алгоритм для облака тегов - PullRequest
7 голосов
/ 14 марта 2011

Хотелось бы понять алгоритм / реализацию облака тегов.

В облаке тегов мы получаем следующие теги (вес)

  • Тег: тег - это строка или термин для поиска (или родительский элемент в зависимости от типа облака)
  • Вес: частота числового значения для тега

Теперь в облаке управления тегами отображается только подмножество значений с разными размерами шрифта.Рассмотрим следующий образец пространства tag1 (1) ... tagx (2) и несколько больших тегов tag2 (4000).Теперь в пользовательском интерфейсе я хотел бы показать теги (элементы HTML) с размером форта.При таком отличном образце невозможно получить большой шрифт размером 1000 пикселей.Эти данные должны быть обработаны так, чтобы я получал слябы для точечных концентраций, чтобы я получал значения, подобные следующим:

  • для концентрации точек смещается на 1 - 4, так что я делю его на 4 плиты каждыйначальное значение 2 (1–2px, 2–4px, ... 4–8px)
  • 4000 и некоторые значения K меньше, поэтому я бы хотел, чтобы две плиты говорили (1000 - 2000 = 10px) и (2000)и выше = 12px)

Я использую ASP.NET C #.Пожалуйста, дайте мне знать, как этого добиться.Я действительно не очень хорош в математике (статистика).Пожалуйста, помогите мне с этим алгоритмом.Или ссылка на математику / учебник или хороший пример поможет.

Ответы [ 3 ]

2 голосов
/ 14 марта 2011

Есть загружаемая электронная книга О'Рейли (40 с чем-то страниц) под названием Создание облаков тегов в Perl и PHP , которая (из того, что я помню, это было довольно давно) имела довольно хорошее покрытие основа также имеет (как следует из названия) примеры реализаций в Perl и PHP.

2 голосов
/ 14 марта 2011

Вот довольно хорошо объясненный пример от 4 парней из Ролла

0 голосов
/ 15 марта 2011

Я только говорю, что для уменьшения сложности отображайте только частоту рядом с именем тега, как здесь C # x 1000.Но если вы хотите контролировать размер шрифта с частотой. Сделайте плиту, чтобы ограничить размер шрифта. Нравится

Frequency    Font Size

1--5 3px;6--30 5px;31-100 8px;101-500 10 пикселей;501-1000 12px;<1000 14px; (ограничение в финале) </p>

Я не знаю о asp.net, но вы можете легко реализовать это в PHP

...