WedX - журнал о программировании и компьютерных науках

R — построение количества перекрывающихся точек, а не символа

Я делаю график, в котором есть перекрывающиеся значения, потому что и x, и y дискретны. Я искал и нашел примеры, в которых они делают площадь точки пропорциональной количеству точек данных, которые перекрываются в одной точке x-y, но я хотел бы иметь возможность построить число точек, которые перекрываются. Так, например, если точка (5, 7) повторяется 7 раз, я бы хотел, чтобы в этой точке отображалось число 7, а не символ. Я чувствую, что это должно быть возможно, но не могу понять, как это сделать.

Вот некоторый код, который генерирует сюжет, для которого я надеюсь сделать это:

рабочий ‹- 1:10

дефекты ‹- t(matrix(rbinom(200, 100, 0,1), ncol=10))

матплот (рабочий, дефекты)

Заранее благодарим за любую помощь, которую вы можете предоставить!

21.01.2021

  • Почему бы вам просто не подсчитать количество дубликатов в отдельном столбце и не использовать его как символ. Просто удалите все дубликаты, и вы можете построить это 21.01.2021

Ответы:


1

Добро пожаловать в СО!

Вам нужно получить количество наблюдений для каждой пары x, y, а затем вы можете использовать аннотацию, чтобы получить свой график. Вот пример использования data.table и ggplot2:

library(data.table)
library(ggplot2)

# using a sample dataset 
dat <- as.data.table(mtcars)

# creating a variable called "count" for no. of overlaps for a given (gear,carb) pair 
ggplot(dat[, .(count = .N), by = .(gear, carb)]) + 
  geom_text(aes(x = gear, y= carb, label = count) )

введите здесь описание изображения

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

# Using nudge_x, nudge_y to avoid marker and text overlap
ggplot(dat[, .(count = .N), by = .(gear, carb)]) + 
  geom_text(aes(x = gear, y= carb, label = count), nudge_x = 0.05, nudge_y = 0.05) + 
  geom_point(aes(x = gear, y = carb), color = 'dark red')

введите здесь описание изображения

Надеюсь, это полезно!

21.01.2021
  • СУПЕР полезно! Большое спасибо! 22.01.2021
  • Хорошо, пожалуйста, примите ответ, если он работает для вас, поэтому он помечен как решенный. 22.01.2021
  • Мне просто нужно было проголосовать за это или есть что-то еще? Я не вижу кнопки принять. извините, новичок на сайте. Спасибо! 25.01.2021
  • @HaroldBuck, вы должны увидеть галочку под кнопкой «за», читайте здесь: meta.stackexchange.com/questions/5234/ 27.01.2021
  • Благодарю вас! Высоко оценил. 28.01.2021
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

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

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    © 2024 wedx.ru, WedX - журнал о программировании и компьютерных науках
    Для любых предложений по сайту: [email protected]