我对ggplot2有点困惑。我绘制了我的数据,并在绘图中有一些缺失的数据,但没有在图例中。我实际上有40个组(FID)要绘制,有些缺失。我的代码是:
Data48a <- read.table("Data48a.eigenvec", header = T, sep = "")
PlotData48a <- ggplot(Data48a, aes(x= PC1,y= PC2, group= FID, shape= FID, color= FID))
PlotData48a + geom_point(aes(color=FID)) +
geom_hline(aes(yintercept=0)) + geom_vline(aes(xintercept=0))+
scale_shape_manual(values=1:nlevels(Data48a$FID)) +
scale_color_manual(values=1:nlevels(Data48a$FID)) +
coord_equal(ratio = 1)
这是错误:
In grid.Call.graphics(L_points, x$x, x$y, x$pch, x$size) : unimplemented pch value '28'
我的数据如下:
FID IID PC1 PC2 PC3
Ami AX-AM-013607-1-01 0.0302889 -0.0236855 0.0294569
Ami AX-AM-013608-1-01 0.0346382 -0.0232841 0.0175366
Ami AX-AM-013609-1-01 0.0396438 -0.0157996 0.0163948
Ami AX-AM-013610-1-01 0.0386903 -0.017313 0.0146025
Ami AX-AM-013611-1-01 0.0382764 -0.0151733 0.0222798
Ami AX-AM-013613-1-01 0.0416853 -0.00826403 0.0245685
Ami AX-AM-013614-1-01 0.0388888 -0.0113679 0.0281065
Ami AX-AM-013615-1-01 0.0438035 -0.0102871 0.0156296
Ami AX-AM-013616-1-01 0.0364263 -0.0211585 0.0246802
BatakKaro ID-KR-000001-1-01 0.0321929 0.00520535 0.00480784
BatakKaro ID-KR-000002-1-01 0.0345291 -0.00101008 -0.00264379
BatakKaro ID-KR-000012-1-01 0.0352078 -0.000998926 -0.00847158
BatakKaro ID-KR-000014-1-01 0.0306035 -0.00150602 -0.00365927
答案 0 :(得分:0)
我不知道这是否会解决您的整个问题,但这应该突出显示您的错误来源。
您正在尝试绘制40个级别的数据或组,但只有25个绘图字符(pch)。为了消除错误,我认为你必须将组数限制在25或更少。
require(ggplot2)
# no error
xx = 1:25
ggplot() + geom_point(aes(x = xx,y = xx), col=xx,shape=xx)
# error
xx = 1:26
ggplot() + geom_point(aes(x = xx,y = xx), col=xx,shape=xx)
答案 1 :(得分:0)
未实现的pch值'28':
合法的形状值是数字0到25,数字是32到127。
看起来你有40个形状(0..39)?