Изменение меток x с помощью ggplot2 в R

У меня есть эти данные, и я рисую их с помощью гистограммы. Я хочу изменить метки x, чтобы упростить задачу,

data_bayes <- read.table(text="
Estimation,Cell types,Total
No rank,Cell type 0 ,3468
No rank,Cell type 1 ,3468
No rank,Cell type 2 ,3468
No rank,Cell type 3 ,3468
No rank,Cell type 4 ,3468
No rank,Cell type 5 ,3468
No rank,Cell type 6 ,3468
No rank,Cell type 7 ,3468
No rank,Cell type 8 ,3468
No rank,Cell type 9 ,3468
Best three rank,Cell type 0 ,3
Best three rank,Cell type 1 ,3419
Best three rank,Cell type 2 ,130
Best three rank,Cell type 3 ,0
Best three rank,Cell type 4 ,538
Best three rank,Cell type 5 ,63
Best three rank,Cell type 6 ,3417
Best three rank,Cell type 7 ,2296
Best three rank,Cell type 8 ,536
Best three rank,Cell type 9 ,2
", header=TRUE, sep=",")

Я использую этот код, чтобы получить сюжет

ggplot(data_bayes, aes(x=Cell.types, y=Total, fill=Estimation)) + scale_fill_manual(breaks = c("Best three rank", "No rank"), 
                   values=c("green", "red")) +
geom_bar(stat="identity", position="dodge")+
theme(axis.text.x = element_text(angle = 90)) + scale_x_discrete(
"Cell types",
labels = c(
  "Cell type 0" = "0",
  "Cell type 1" = "1",
  "Cell type 2" = "2",
  "Cell type 3" = "3",
  "Cell type 4" = "4",
  "Cell type 5" = "5",
  "Cell type 6" = "6",
  "Cell type 7" = "7",
  "Cell type 8" = "8",
  "Cell type 9" = "9"
)
)

Это приведет к этому сюжету enter image description here

Я использовал аргумент scale_x_discrete для изменения меток с типа ячейки 0 на 0 и т. д. Однако он не меняется и остается прежним. Почему это так? Как это исправить?

В ваших данных есть пробел ("") после каждого номера типа ячейки, а в метках - нет. Если вы удалите пробел в данных (или добавите его в метки), этот подход будет работать нормально.

Jacob Rothschild 17.05.2022 21:30

@JacobRothschild Хороший улов. Я этого не понимаю. Это работает, как было предложено.

MK Huda 17.05.2022 22:20
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
2
13
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Одним из способов достижения этого может быть:

  1. Мы создаем столбец меток перед построением графика label_cell.types

  2. Затем разложите его и постройте

library(tidyverse)

data_bayes %>% 
  mutate(label_cell.types = parse_number(Cell.types)) %>% 
  ggplot(aes(x=factor(label_cell.types), y=Total, fill=Estimation)) + 
  scale_fill_manual(breaks = c("Best three rank", "No rank"), values=c("green", "red")) +
  labs(x = "Cell types")+
  geom_bar(stat="identity", position="dodge")

enter image description here

Другие вопросы по теме