我运行以下代码:
ggplot(pat, aes(y=CANCompany,x=USCompany,alpha=TotalPatents,
size=SharedPatents,color = Revenue)) +
theme(legend.position="bottom", legend.box.just="center",
legend.key.size=unit(0.55,"cm")) +
scale_size(range = c(0, 15)) +
scale_colour_gradient(low="yellow", high="green4") + geom_point() +
theme(axis.text.x = element_text(angle=90, vjust=0.5, size=10),
axis.text.y = element_text(angle=0, vjust=0.5, size=10)) +
scale_x_discrete(position = "top") +
coord_fixed() +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.background = element_blank(), axis.line = element_line(colour = "black"))
在以下数据上:(显示前10行):
CANCompany USCompany SharedPatents Revenue TotalPatents
<chr> <chr> <int> <int> <int>
1 Blackberry Google 3 58 27
2 Blackberry IBM 1 52 71
3 Blackberry Apple 2 107 46
4 Blackberry Lockheed 11 43 29
5 Blackberry CapitalOne 2 142 70
6 Blackberry Merck 5 10 68
7 Bombardier Google 8 89 34
8 Bombardier IBM 12 100 24
9 Bombardier Apple 4 8 29
10 Bombardier Lockheed 5 134 53
我得到以下情节:
然后我将以下两行添加到我的代码中:
+ scale_x_discrete(limits=c("IBM","Merck","Lockheed","Google","Apple","CapitalOne")) +
scale_y_discrete(limits=c("Bombardier","Iogen","Westport","Nortel","Mitel","Blackberry"))
并收到以下错误:
'x'的比例已经存在。为'x'添加另一个比例,其中 将取代现有的规模。
警告讯息:
删除了包含缺失值的6行(geom_point)。
在尝试重新排序轴后,情节现在看起来像这样:
有没有办法超越并设置我喜欢的x轴和y轴?
为什么一行数据会消失?
答案 0 :(得分:0)
警告告诉您两次使用scale_x_discrete
。尝试删除第一个实例并将position = top
添加到第二个实例。
你有一个缺失的行,因为在scale_y_discrete
你拼写了“Westport”并且小写'p'。从第一张图看起来它应该是“WestPort”。
另外:
我还考虑让你的数据整洁:有一个名为“patent_type”的列(共享/不共享)和一个带有专利号的列。有一个名为“country_location”(美国或加拿大)和另一个“company_name”的列。
我不知道点图是这个数据的最佳选择。好像你正在尝试将很多变量塞进一个图中(例如。使用alpha作为数字不是最好的选择。)