【发布时间】:2016-05-25 15:29:16
【问题描述】:
我想从我的 ggplot Heatmap 中删除 y 轴上的“No Preference”和“Uncommitted”,但是子集不起作用,你知道可能的原因吗?
我的代码:
ggplot(subset(primary_results, candidate != c("No Preference",
"Uncommitted"))) +
geom_tile(aes(y = candidate, x = state_abbreviation, fill = fraction_votes))
+
scale_fill_viridis(option = "plasma") +
theme_solarized_2() +
xlab("State") +
ylab("Candidate") +
guides(fill = guide_legend(title="Fraction Votes"))
我的 Heatmamp(注意,我仍然得到不需要的部分)
如果我尝试情节之外的子集,它也不起作用..
【问题讨论】:
-
subset在ggplot2中没有问题。问题可能出在您的数据中。能否提供一些数据(dput)? -
!candidate %in% c("No Preference", "Uncommitted")试试吧 -
数据有一个小问题,如果你运行
levels(primary_results$candidates)你会发现两个值都有一个尾随空格,你可以在@Mhairi的答案中添加空格或者运行@987654328 @ 变量。干杯 -
subset(primary_results, candidate %nin% c("No Preference", " Uncommitted"))是另一种解决方案。正如@donlelek 所提到的,在 `Uncommitted` 之前有一个尾随空格,这是错误的来源。