我正在使用RStudio
并且我遇到了ggplot2
图表的问题。我的数据集有大约86,200个观测值;所以我期待这些点出现在我的情节中,但奇怪的是它只显示了情节中间的一点。
ggplot(mydata,aes("Package Revenue EXCL VAT","Total Spending",colour=PropertyCode, size=5, alpha=0.5)) + geom_point()
用于散点图的2列是数字列。运行str(mydata)
会为这两列提供以下内容:
Package Revenue EXCL VAT: num
Total Spending: num
这个情节如何在RStudio的情节查看器窗口中显示(我已经从屏幕截图中排除了传说):
知道我做错了吗?
答案 0 :(得分:2)
正如评论所说,使用标识符,而不是字符串。正如您在绘图中看到的那样,您有一个点,其坐标实际上是离散值x =“Package Revenue EXCL VAT”和y =“Total Spending”。
此外,您需要从美学中移除固定属性并将它们放入几何体中:否则ggplot2会将它们映射到常量但任意的值(即不是您想要的值)。
ggplot(mydata) +
aes(`Package Revenue EXCL VAT`, `Total Spending`, color = PropertyCode) +
geom_point(size = 5, alpha = 0.5)
(添加了格式清理。)
如果不清楚,上面代码中的反引号不会分隔字符串,它们会分隔标识符:在R中,`foo`
与foo
相同。但是,反引号允许您在标识符中使用其他无效字符。这包括空格。
R allows you to use quoted strings instead of backtick identifiers in some cases这个事实让人感到困惑。但aes
并非其中一种情况,如果您想保持理智,则不应使用R的这一令人困惑的功能。