编程语言
首页 > 编程语言> > R或python中的双色散点图

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