Я изменил aes
из geom_text
следующим образом:
ggplot(df, aes(row_labels,Percent,fill=row_labels) ) +
geom_bar(stat="identity") +
geom_text(aes(y=Percent+5, label = paste(Percent, "%")) ) +
labs(x = "",title = " ") +
theme(
legend.position="none",
legend.title = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_blank(),
axis.ticks.y = element_blank(),
axis.title.x=element_blank(),
axis.text.x=element_blank(),
axis.ticks.x=element_blank()
) +
coord_flip()
Хотя порядок слоев / настроек не имеет значения (вы упомянули coord_flip
), я реорганизовал код для лучшей беглости.
На мой взгляд, проверка с использованием атрибутов - не лучшее решение. Во-первых, вы должны указать инфраструктуру в модели предметной области. Во-вторых, у вас нет возможности добавить проверку для скомпилированных классов. Наконец, вы не можете проверить сложную логику с помощью атрибутов, и вам нужно сделать метод Validate сущностью, и это кажется неудобным.
На мой взгляд, валидацию следует разделять на разные объекты. Например, IValidator, где вы можете определить валидацию как правила. Использование такой среды, как xVal , помогает выполнять проверку на уровне представления с помощью JavaScript.
Вы можете найти xVal и FluentValidation для .NET . NHibernate Validator 1.2 alpha также имеет свободный синтаксис и интегрирован с xVal (не уверен насчет альфы, но 1.0 должен быть).
Enterprise Validation Block также имеет несколько отрицательных сторон. В свойствах моей сущности оказалось 3 строки атрибутов, что ухудшило читаемость. Попытка добавить проверку с помощью операторов И или ИЛИ тоже довольно болезненна.
Одна вещь, которую я обнаружил с блоками Enterprise Library, - это то, что она может заставить вас использовать другие блоки, которые вам не нужны / не нужны. Например, Валидация может использовать блок регистрации, но вы были довольны своей собственной системой регистрации. теперь ваше приложение регистрирует вещи по-разному. Тем не менее, мне понравился внешний вид блока проверки в Ent Lib. Я не играл с Spring.NET, хотя.