R或python中的双色散点图
作者:互联网
我有一个包含三列和n行的数据集.第1列包含name,第2列value1和第3列value2(rank2).
我想用显示名称的异常值绘制散点图.
我使用的R命令是:
tiff('scatterplot.tiff')
data<-read.table("scatterplot_data", header=T)
attach(data)
reg1<-lm(A~B)
plot(A,B,col="red")
abline(reg1)
outliers<-data[which(2^(data[,2]-data[,3]) >= 4 | 2^(data[,2]-data[,3]) <=0.25),]
text(outliers[,2], outliers[,3],labels=outliers[,1],cex=0.50)
dev.off()
我得到一个这样的数字:
我想要的是下半部分的标签应该是一种颜色,上半部分的标签应该是另一种颜色分别是绿色和红色.
任何建议,或调整命令?
解决方法:
您已经有一个令您满意的逻辑测试.只需在颜色规范中使用它来发短信:
text(outliers[,2], outliers[,3],labels=outliers[,1],cex=0.50,
col=c("blue", "green")[
which(2^(data[,2]-data[,3]) >= 4 , 2^(data[,2]-data[,3]) <=0.25)] )
它当然没有经过测试,因为你没有提供测试用例,但我的理由是,对于差异> = 4,which()函数应该返回1,对于那些< = 0.25,则返回2,对于所有这些,整数(0)其他人,这应该给你正确的颜色选择与'异常值'矢量对齐.
标签:scatter-plot,python,r 来源: https://codeday.me/bug/20190723/1512923.html