R语言绘图

画图例子

R Graph Cookbook例子

 
From:http://www.dataguru.cn/article-1766-1.html

今天突然找到一本专门教授R语言绘图的书,R Graph Cookbook,发现还不错。当初喜欢上R语言就是因为它绘图特别好看。下面把这本书的内容,经过我学习后,翻译并贴上了吧。(我水平还不够,原创还不行呀,不过学习就是先模仿再创新的过程)之所以要贴到博客上来,我是怕有一天我也忘记了,好直接到我博客上来搜索一下,同时也方便了别人。

下面说的是用R语言绘制散点图。其实绘制散点图,用plot(x,y)直接就可以了,不过这样绘制出来的散点图太简单了,不能达到使用的要求,所以要详细得设置一些参数,才能让图形更加的漂亮。

 

还是直接上代码吧,我已经做好注释的了。

plot(cars$dist~cars$speed,#y~x,cars是R自带的数据
main="Relationship between car distance & speed",#标题
xlab = "Speed(miles per hour)",#x轴标题
ylab = "Distance travelled (miles)",#Y轴标题
xlim = c(0,30),#设置x轴的取值区间为0到30
ylim = c(0,140),#设置y轴的取值区间为0到140
xaxs = "i",#这里是设置x轴的风格,暂时没看明白有多大区别
yaxs = "i",
col = "red",#设置颜色
pch = 19)#pch指代点的形状,用数字表示,可查看帮助文档
#如果要保存图片怎么办呢?我觉得最简单的方法就是使用RStudio这个IDE,极其得好,可惜很多人都不知道。#如果你不会,可以用如下代码实现:#(图形的参数还有很多个,我这里只使用了其中的几个)
png(filename="散点图.png",width=480,height=480)
plot(cars$dist~cars$speed,#y~x
main="Relationship between car distance & speed",#标题
xlab = "Speed(miles per hour)",#x轴标题
ylab = "Distance travelled (miles)",#Y轴标题
xlim = c(0,30),#设置x轴的取值区间为0到30
ylim = c(0,140),#设置y轴的取值区间为0到140
xaxs = "i",#这里是设置x轴的风格,暂时没看明白有多大区别
yaxs = "i",
col = "red",
pch = 19)#pch指代点的形状,用数字表示,可查看帮助文档
dev.off()

 

 
如果你还有另一组数据,需要在上面这幅图里绘制,也就是在同一幅图里面绘制两组数据的散点图,可以像下面这样用point函数:
png(filename="散点图.png",width=480,height=480)
plot(cars$dist~cars$speed,#y~x
main="Relationship between car distance & speed",#标题
xlab = "Speed(miles per hour)",#x轴标题
ylab = "Distance travelled (miles)",#Y轴标题
xlim = c(0,30),#设置x轴的取值区间为0到30
ylim = c(0,140),#设置y轴的取值区间为0到140
xaxs = "i",#这里是设置x轴的风格,暂时没看明白有多大区别
yaxs = "i",
col = "red",
pch = 3)#pch指代点的形状,用数字表示,可查看帮助文档
points(cars$speed~cars$dist,pch=19)#因为比较难弄数据,就把原先的数据因果关系颠倒一下,pch设置与前面不同以区分
dev.off()

如果自己没有数据的话,可以用data()查看R语言内置的数据的哦。还是有挺多数据的。

上面的这些是散点图,但是你只要在参数里面type="l"#是字母l,那么就会将这些点串联起来画成线了。

下面是条形图的绘制方法(bar plot),数据是该书自带的,代码如下:

png(filename="散点图.png",width=480,height=480)
Sales <- read.csv("/home/rickey/文档/电子书/R教程/Learn R statistics/R Graph/Code/Chapter 1/Data Files/citysales.csv",header=TRUE)#header设置为TRUE表示把数据行和列的名称也读取进来
barplot(Sales$ProductA,
names.arg=Sales$City,
col="blue")
dev.off()

 

图形输出(pdf\Win\PBG\JPEG\BMP\PostScript)

用代码保存图形,将绘图语句夹在开启目标图形设备的语句和关闭目标图形设备的语句之间即可。

#pdf("mygraph.pdf")#pdf文件
win.metafile("filename.wmf")#windows图形文件
#png("filename.png")#PBG文件
#jpeg("filename.jpg")#JPEG文件
#bmp("filename.bmp")#BMP文件
#postscript("filename.ps")#PostScript文件
attach(mtcars)
plot(wt,mpg)
abline(lm(mpg~wt))
title("Regression of MPG on Weight")
detach(mtcars)
dev.off()


 




 图形初阶

使用图形

dose=c(20,30,40,45,60)
drugA=c(16,20,27,40,60)
drugB=c(15,18,25,31,40)
plot(dose,drugA,type="b")
 
 
type="b" 同时画出点和线
type=“c" 没有点只有线
 

5.图形参数

在上例中,我们想使用实心三角而不是空心圆圈作为点符号的话,病想用虚线代替实现连接这些点:
 
dose=c(20,30,40,45,60)
drugA=c(16,20,27,40,60)
drugB=c(15,18,25,31,40)
plot(dose,drugA,type="b")
opar = par(no.readonly=TRUE) #复制一份单签的图形参数
par(lty=2,pch=17) #将默认的线性类型修改为虚线(lty=2)并且将默认的点符号改为了实心三角(pch=17)
#也可以使用par(lty=2);par(pch=17)两句
plot(dose,drugA,type="b")#绘制了图形
par(opar)#还原了原始设置
#或者这样写plot(dose,drugA,type="b",lty=2,pch=17)来画图,但只是针对于这张图

 

 

 


pch :指定绘制点时使用的符号

cex:指定符号的大小。cex是一个数值,表示绘图符号相对于默认值大小的缩放倍数。默认大小为1,1.5表示放大为默认值的1.5倍.

lty:指定线条类型

lwd:指定线条宽度。(默认值的几倍)

col:默认的绘图颜色。如这是col=c("red","blue")并需要绘制三条线,第一条为红色,第二条为蓝色,第三条为红色

col.axis 坐标轴颜色

col.main 标题颜色

col.sub 副标题的颜色

fg 前景色

bg 背景色

example: col=1,col="white" col="#FFFFFF" col=rgb(1,1,1) col=hsv(0,1,1) 都可以表示白色

R中也用多种用于创建连续型颜色向量的函数:

 rainbow()

heat.colors()

terrain.colors()

top.colors()

cm.colors()

gray()可以生成多节灰度

n=10
mycolors=rainbow(n)
pie(rep(1,n),labels=mycolors,col=mycolors)
mygrays=gray(0:n/n)
pie(rep(1,n),labels=mygrays,col=mygrays)


6.文本属性

cex:表示相对默认大小缩放倍数的数值。(倍数)

cex.axis:坐标轴刻度文字的缩放倍数。

cex.lab:坐标轴标签(名称)的缩放倍数。

cex.main:标题的缩放倍数

cex.sub:副标题的缩放倍数

 

font: 整数类型。1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体(adobe编码)

font.axis font.lab font.main font.sub

ps 磅值文本最终的大小为ps*cex

family 绘制文本是使用的字体族。 标准取值为serif(衬线)、sans(无衬线)和mono(等宽)

Windows中,可以通过函数windowsFont()创造新的映射。(Mac,采用quartzFont())

 

PDF或者PostScript输出格式图形,修改相对简单。

PDF使用names(pdfFonts())找出系统有哪些字体可用,然后用pdf(file=”myplot.pdf“,family="fontname")生成图形。

PostScript输出格式的图形,可以使用names(postscriptFonts())和postscript(file="myplot.ps",family="fontname")

 

7.图形尺寸和边界尺寸

 pin:以英寸表示的图形尺寸(宽和高)

mai:以数值向量表示的边界大小,顺序为“下、左、上、右”单位为英寸

mar:以数值向量表示的边界大小,顺序为“下、左、上、右”单位为英分。默认=c(5,4,4,2)+0.1

8.添加文本、自定义坐标和图例

dose=c(20,30,40,45,60)
drugA=c(16,20,27,40,60)
drugB=c(15,18,25,31,40)
plot(dose,drugA,type="b",col="red",lty=2,pch=2,lwd=2,main="Clinical Trails for Drug A",sub="This is hypothetical data",xlab="Dosage",ylab="Drug Respponse",xlim=c(0,60),ylim=c(0,70))


 

 

某些高级绘图函数已经包含了默认的标题和标签。可以通过plot()语句货单独的par()语句中添加ann=FALSE来移除他们

 

标题

可以使用title()函数为图形添加标题和坐标轴标签。

坐标轴

side:一个整数,表示图形的那边会画坐标(1,2,3,4对应下、左、上、右)

at: 一个数值型向量,表示需要绘制刻度线的位置

labels:一个字符型向量,表示至于刻度线旁边的文字表全(如果是NULL,直接使用at中的值)

pos:坐标轴线位置的坐标

lty:线条类型

col:线条的刻度线颜色

las:标签是否平行于(=0)或垂直于(=2)坐标轴

tck:刻度线的长度,以向对于绘图区域大小的分数表示(负数表示在图形外侧,整数表示在图形内侧

Hmisc包中的minor.tick()函数 用来创建次要刻度线。

tick.ratio表示次要刻度线相对于主刻度线的大小比例。当前主刻度线长度可以用par("tck")获取。

参考线

函数abline()可以用来为图形添加参考线。abline(h=yvalues,v=xvalues)

example:abline(v=seq(1,10,2),lty=2,col="blue")

图例

用legend(location,title,legend,..)添加图例

location:可以直接给定xy值;location(1)通过鼠标单击给出图例的位置;关键字:bottom、bottomleft、left、topleft、topright、right、bottomright、center,同时使用参数inset=指定图形想图形内侧移动的大小(以绘图大小的分数表示)

title:图例标题的字符串(选)

legend:图例标签组成的字符型向量

 

 

文本标注

text(location,“”,pos...)

mtext(“”,side,line=n...)

location:可以直接给定xy值;location(1)通过鼠标单击给出图例的位置

pose:整数,文本相对位置的方向参数。如果指定参数offset=,,作为偏移量,以相对于单个字符宽度的比例表示

side:整数,指定用来放置文本的边。

par()增大字号

plotmath()数学标注

 

attach(mtcars)
plot(wt,mpg,main="Mileage vs Car Weight",xlab="Weight",ylab="Mileage",pch=18,col="blue")
text(wt,mpg,row.names(mtcars),cex=0.6,pos=4,col="red")
detach(mtcars)


 

 

 

opar=par(no.readonly=TRUE)
par(cex=1.5)
plot(1:7,1:7,type="n")
text(3,3,"Example of default text")
text(4,4,family="mono","Example of mono-spaced text")
text(5.5,family="serif","Example of serif text")
par(opar)


图形有问题

 

 

 

图形组合

在R中使用函数par()或layout()可以容易地组合多幅图形为一幅图形。par()函数中使用图形参数mfrow=c(nrows,ncols)来穿件按行填充的、行数为nrows、列数为ncols的图形矩阵。另外,可以使用nfcols=c(nrows,ncols)按列填充矩阵。

attach(mtcars)
opar=par(no.readonly=TRUE)
par(mfrow=c(3,1))
hist(wt)
hist(mpg)
hist(disp)
par(opar)
detach(mtcars)


 

attach(mtcars)
opar= par(no.readonly=TRUE)
par(mfrow=c(2,2))
plot(wt,mpg,main="Scatterplot of wt vs. mpg")
plot(wt,disp,main="Scatterplot of wt vs. disp")
hist(wt,main="Boxplot of wt")
boxplot(wt,main="Boxplot of wt")
par(opar)
detach(mtcars)


 

 

函数layout()的调用形势为layout(mat),其中的mat是一个矩阵,它指定了所要组合的多个图形所在位置。

attach(mtcars)
layout(matrix(c(1,1,2,3),2,2,byrow=TRUE))
hist(wt)
hist(mpg)
hist(disp)
detach(mtcar)


 

 下面代码,将一幅图形放在第一行,两幅图放在第二行,但第一行高度是第二行中图形高度的三分之一,并且,右下角图形宽度是左下角图形宽度的四分之一。

attach(mtcars)
layout(matrix(c(1,1,2,3),2,2,byrow=TRUE),widths=c(3,1),heights=c(1,2))
hist(wt)
hist(mpg)
hist(disp)
detach(mtcars)


 

 图形布局的精细控制

fig=完成这个任务

 

基本图形

条形图

简单的条形图

vcd包

如果要绘制的类别类型是一个Factor或者是有序性Factor,就可以使用plot()函数快速创建一幅垂直条形图。这时候不用table()函数

(这是关节炎研究,变量Improved记录了对每位接受了安慰剂或药物治疗的病人的治疗效果)

library(vcd)
counts=table(Arthritis$Improved)
counts
barplot(counts,main="Simple Bar Plot",xlab="Improvement",ylab="Frequency")
barplot(counts,main="Horizontal Bar Plot",xlab="Frequency",ylab="Improvement",horiz=TRUE)

堆砌条形图和分组条形图

如果height是一个矩阵而不是一个向量,则绘制结果将是一副堆砌条形图或分组挑衅图。besides=false(默认)->堆砌图 or not 分组条形图

counts=table(Arthritis$Improved,Arthritis$Treatment)
counts
#        Placebo Treated
# None        29      13
# Some         7       7
# Marked       7      21
barplot(counts,main="Grouped Bar Plot",xlab="Treatment",ylab="Frequency",col=c("red","yellow","green"),legend=rownames(counts))


 barplot(counts,main="Grouped Bar Plot",xlab="Treatment",ylab="Frequency",col=c("red","yellow","green"),legend=rownames(counts),beside=TRUE)


 

均值条形图

条形图并不一定要基于计数数据或者频率数据。(均值,中位数,标准差)

states=data.frame(state.region,state.x77)
means=aggregate(states$Illiteracy,by=list(state.region),FUN=mean)
means
#        Group.1        x
#1     Northeast 1.000000
#2         South 1.737500
#3 North Central 0.700000
#4          West 1.023077
means=means[order(means$x),]
means
#       Group.1        x
#3 North Central 0.700000
#1     Northeast 1.000000
#4          West 1.023077
#2         South 1.737500
barplot(means$x,names.arg=means$Group.1)
title("Mean Illiteracy Rate")

 



中级绘图

主要关注用于展示双变量间关系(二元关系)和多变量间关系(多远关系)的绘图方法。

散点图

散点图可以用来描述两个连续变量间的关系。
首先,描述一个二元变量关系,然后探究各种通过添加而外信息来增强图形表达功能的方法。
最后,通过添加第三个连续型变量,我们将把二维图形扩展到三位,包括三维散点图和气泡图。
attach(mtcars)
plot(wt,mpg,main="Basic Scatter plot of MPG vs Weight",xlab="Car Weight(1bs/1000)",ylab="Miles Per Gallon ",pch=19)
abline(lm(mpg~wt),col="red",lwd=2,lty=1)
lines(lowess(wt,mpg),col="blue",lwd=2,lty=2)



abline()函数用来添加最佳拟合的线性直线。lowess()函数用来添加一条平滑曲线。该平滑曲线拟合是一种基于局部加权多项式回归的非参数方法。算法来源于Cleveland(1981)

car包中的scatterplot()函数增强了散点图的需对功能,主要作用在添加拟合曲线,边界箱线图和之心椭圆,还可以按子集绘图和交互式地识别点。
> library(car)
> scatterplot(mpg~wt|cyl,data=mtcars,lwd=2,main="Scatter Plot of MPG vs. Weight by # Cylinders",xlab="Weight of Car(lbs/1000)",ylab="Miles Per Gallon",legend.plot=TRUE,id.method="identify",labels=row.names(mtcars),boxplots="xy")




1.scatterplot()函数用来描绘有4个6个8个气缸的汽车每加仑英里数对车重的图形。
2.表达式mpg~wt|cyl表示按条件绘图,按照cyl的水平分别绘制mpg和wt关系图。
3.默认条件下,各个子集通过颜色和图形符号加以区分,并同时绘制线性拟合和平滑拟合曲线。平滑拟合默认需要5个单独的数据点。
4.idmethod选项的设点表明可以通过鼠标单击方式来交互式地识别数据点。知道Stop。(在studio里面是ESC)
5.legend.plot 表明在左上边界添加土里。

散点图矩阵

R中至少有四种创建散点图矩阵的实用函数。
pairs()函数可以创建基础的散点图矩阵。 
pairs(~mpg+disp+drat+wt,data=mtcars,main="Basic Scatter Plot Matrix")


通过调整参数,可以只显示下三角或上三角的图形。
upper.panel=NULL 将众生城下三角图形。

scatterplotMatrix(~mpg+disp+drat+wt,data=mtcars,spread=FALSE,lty.smooth=2,main="Scatter Plot Matrix via car Pachage")
这里ity.smooth=2 本想设定平滑拟合曲线为虚线,但是报错lty.smooth 不是图形参数,还没有解决。但是如果lty=2,就把拟合的直线设置为虚线。


library(car)
scatterplotMatrix(~mpg+disp+drat+wt|cyl,data=mtcars,spread=FALSE,diagonal="histogram",main="Scatter Plot Matrix via car Package")

这里,我们想主对角线的和密度曲线改成了直方图(各车汽缸数为条件)
默认地,回归直线拟合整个样本,包好by.groups=TRUE。




gclus包中的cpairs()函数提供了其变种。它可以重排矩阵中变量位置的选项,可以让相关性更好的变量更靠近对角线。该函数还能对各个单元格进行颜色编码来展示变量间的相关性大小。
cor(mtcars[c("mpg","wt","disp","drat")])
            mpg               wt                      disp               drat
mpg   1.0000000    -0.8676594    -0.8475514     0.6811719
wt   -0.8676594     1.0000000      0.8879799     -0.7124406
disp -0.8475514     0.8879799     1.0000000     -0.7102139
drat  0.6811719    -0.7124406     -0.7102139     1.0000000
dmat.color() order.single() cpairs()函数都来自于gclus包。

第一步,选出需要的变量,并计算他们的相关系数的绝对值。
第二步,使用dmat.color()获取绘图颜色。给定一个对称矩阵,dmat.color()将返回一个颜色矩阵。
第三步,排序。通过order.single()散点图矩阵将根据新的变量顺序(myorder)和颜色列表(mycolor)绘图上色,gap使得矩阵各单元格间的间距稍微增大一些。

 library(gclus)
mydata=mtcars[c(1,3,5,6)]
mydata.corr=abs(cor(mydata))
mycolors=dmat.color(mydata.corr)
myorder=order.single(mydata.corr)
cpairs(mydata,myorder,panel.colors=mycolors,gap=.5,main="Variables Ordered and Colored by Correlation")


set.seed(1234)
n=10000
c1=matrix(rnorm(n,mean=0,sd=.5),ncol=2)
c2=matrix(rnorm(n,mean=3,sd=2),ncol=2)
mydata=rbind(c1,c2)
mydata=as.data.frame(mydata)
names(mydata)=c("x","y")
with(mydata,plot(x,y,pch=19,main="Scatter Plot with 10000 Observations"))


针对上述数据点的重叠导致识别xy间关系变得异常困难。可以使用封箱、颜色和透明度来知名途中人一点上重叠点的数目。
smoothScatter()函数可利用核密度估计声称用颜色密度来表示店分布的散点图。
with(mydata,smoothScatter(x,y,main="Scatterplot Colored by Smoothed Densities"))
KernSmooth 2.23 loaded
Copyright M. P. Wand 1997-2009

hexbin包中的hexbin() 函数将二元变量的封箱放到六边形单元格中(图形比名称更直观)

library(hexbin)
with(mydata,{
bin=hexbin(x,y,xbins=50)
plot(bin,main="Hexagonal Binning with 10000 Observations")
})



IDPmisc包中的iplot()函数也可以通过颜色来展示店的密度(特定点上的数据数目)。


with(mydata,iplot(x,y,main="Image Scatter Plot with Color Indicating Density"))



三维散点图

可以用scatterplot3d中的scatterplot3d()函数来绘制他们的关系。
library(scatterplot3d)
attach(mtcars)
scatterplot3d(wt,disp,mpg,pch=16,highlight.3d=TRUE,type="h",main="Basic 3D Scatter Plot")


fit=lm(mpg~wt+disp)
s3d$plane3d(fit)



气泡图

先创建一个二维散点图,然后点的大小代表第三个变量的值。
sysbols(x,y,circle=radius)
inches是比例因子,控制着圆圈大小(就默认最大圆圈为1inch)text()函数是可选函数,添加各个汽车名称。
一般来说,统计热源倾向于避免使用气泡图,相对于长度来说,人们对于体积或面积判断更吃力。但是在商业应用中非常受欢迎。
attach(mtcars)
r=sqrt(disp/pi)
symbols(wt,mpg,circle=r,inches=0.30,fg="white",bg="lightblue",main="Bubble Plot with point size proportional to displacement",ylab="Miles Per Gallon",xlab="Weight of Car(lbs/1000)")
text(wt,mpg,rownames(mtcars),cex=0.6)
detach(mtcars)




折线图

相关图

相关系数矩阵是多元统计分析的一个基本方法。
哪些被考察的变量与其他变量相关性很强,哪些不强?
相关变量是否以某种特定的方式聚集在一起?
随着变量数的增加,这类问题将变得更难回答。

> options(digits=2)
> cor(mtcars)
       mpg   cyl  disp    hp   drat    wt   qsec    vs     am
mpg   1.00 -0.85 -0.85 -0.78  0.681 -0.87  0.419  0.66  0.600
cyl  -0.85  1.00  0.90  0.83 -0.700  0.78 -0.591 -0.81 -0.523
disp -0.85  0.90  1.00  0.79 -0.710  0.89 -0.434 -0.71 -0.591
hp   -0.78  0.83  0.79  1.00 -0.449  0.66 -0.708 -0.72 -0.243
drat  0.68 -0.70 -0.71 -0.45  1.000 -0.71  0.091  0.44  0.713
wt   -0.87  0.78  0.89  0.66 -0.712  1.00 -0.175 -0.55 -0.692
qsec  0.42 -0.59 -0.43 -0.71  0.091 -0.17  1.000  0.74 -0.230
vs    0.66 -0.81 -0.71 -0.72  0.440 -0.55  0.745  1.00  0.168
am    0.60 -0.52 -0.59 -0.24  0.713 -0.69 -0.230  0.17  1.000
gear  0.48 -0.49 -0.56 -0.13  0.700 -0.58 -0.213  0.21  0.794
carb -0.55  0.53  0.39  0.75 -0.091  0.43 -0.656 -0.57  0.058
      gear   carb
mpg   0.48 -0.551
cyl  -0.49  0.527
disp -0.56  0.395
hp   -0.13  0.750
drat  0.70 -0.091
wt   -0.58  0.428
qsec -0.21 -0.656
vs    0.21 -0.570
am    0.79  0.058
gear  1.00  0.274
carb  0.27  1.000

这里使用的是corrgram包中的corrgram()函数。
下三角单元格中:
默认蓝色和从左下指向右上的斜杠表示单元格中的两个变量呈正相关。反过来,红色且从左上指向右下的斜杠表示负相关。
色彩越深,饱和度越高,说明变化相关性越大。
相关性接近于0的单元格基本物色。
上三角单元格中:
颜色功能同上,但相关性大小由被填充的饼图块大小展示出来。争先惯性将从12点钟处开始顺时针填充饼图,而负相关将逆时针填充饼图。
order=TRUE时候,相关矩阵将使用PCA分析对变量重新排序。
panel设定非对角线使用的元素的类型。lower.panel upper.panel ; panel.pie(饼图)/panel.shade(阴影深度)/panel.ellipse(置信椭圆)/panel.pts(平滑拟合曲线
text.panel and diag.panel 控制着主对角线元素类型。panel.minmax(输出最大最小值)/panel.txt

library(corrgram)
corrgram(mtcars,order=TRUE,lower.panel=panel.shade,upper.panel=panel.pie,text.panel=panel.txt,main="Correlogram of mtcars intercorrelations")



corrgram(mtcars,order=TRUE,lower.panel=panel.ellipse,upper.panel=panel.pts,text.panel=panel.txt,diag.panel=panel.minmax,main="Correlogram of mtcars data using scatter plots and ellipses")
corrgram(mtcars,lower.panel=panel.shade,upper.panel=NULL,text.panel=panel.txt,main="Car Mileage Data(unsorted)")



马赛克图


转贴请注明:http://blog.csdn.net/disappearedgod/article/details/8681312

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/51131.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小米手机通用面具安装,root获取

小米手机通用面具安装,root获取 第一篇 环境准备,解锁手机 小米手机,红米手机通用面具安装方法 一 材料准备 电脑一部,没有的朋友可以去网吧小米或红米手机一部,需登录账号7天以上,可以解锁数据线一条,需要能传数据 二 解锁手机 小米有专门的解锁工具,我就不将其下载下来另存…

ADB的安装和使用教程,小米手机连接adb实例演示

首先我们需要下载 adb 的程序包&#xff0c;只要 1M 就好了。也可以通过安装 android sdk 等工具间接安装&#xff0c;可以自行百度。 小蓝枣的资源仓库&#xff0c;提取码: p8h1 adb 的安装 步骤一&#xff1a; 下载后找个位置把它解压一下。 步骤二&#xff1a; 然后把压缩…

android开发:小米手机开发时非要sim卡才能调试怎么办?

问题&#xff1a; 公司新的测试机是小米2s&#xff0c;但是到了安装调试包时&#xff0c;总是安装失败&#xff0c;不管是打开开发者模式&#xff0c;还是启动或者禁止mui优化功能&#xff0c;都一直出现安装不可用&#xff0c;后来往上查了下&#xff0c;是因为小米系统包稳定…

Mobile - 小米手机如何开通应用分身?应用多开?

有时候办公需要使用多个账号&#xff0c;切换多个应用不停地切换很麻烦&#xff0c;那么&#xff0c;怎么让应用多开&#xff0c;同时在一部手机上使用多个相同的应用呢&#xff1f; 工具 / 原料 小米手机 方法 / 步骤 首先打开小米手机的“设置”&#xff0c;向下滑动&#…

小米手机开发者选项打开usb安装需要SIM卡解决办法

前言 最近在做一些安卓的开发&#xff0c;想用之前用过的小米8做测试 但是打开usb调试的usb安装之后却显示需要插入SIM卡 搜索了一下原因&#xff0c;可能是防止黄牛买来装一大堆第三方APP上去然后打包二次销售&#xff0c;影响消费者 解决办法 不用特意去办一张卡&#x…

MIUI 强制跳过 关闭 打开 小米手机 USB安装 USB安全 USB安全设置 应用确认

MIUI 强制跳过 关闭 打开 小米手机 USB安装 USB安全 USB安全设置 应用确认 一、背景和结论 众所周知&#xff0c;小米手机开启 USB 安装功能&#xff0c;需要插入 SIM 卡登陆、需要登小米账号。我这台手机已root&#xff0c;懒得登陆了&#xff0c;就准备通过修改文件的方式来…

小米手机安装 Charles 证书

1、准备工作 首先电脑安装 Charles&#xff08;这个不教&#xff09;&#xff1b; 准备一台小米手机&#xff08;自备&#xff0c;不送&#xff09;&#xff1b; 2、charles 设置代理端口 打开 Charles 的 Proxy > Proxy Settings…&#xff1b;设置代理端口为&#xff1…

小米手机 samba_神仙手机软件!每个都是手机之必备APP!!

大家好,我是越越热爱不止,分享继续,感谢观看。 1.随手存盒 随手存盒是一款可以帮助用户快速找到想要的文件。 它可以一键查看各个平台接收的文件内容,相当于一个文件中转站,并且可以实现不同平台之间的自由传送; 其次此款软件还附带了“电脑管理文件+快传”功能,在同一…

论文的开题报告是什么样的?

马上就要到毕业季了&#xff0c;许多小伙伴开始着手写论文&#xff0c;但在此之前要先把开题报告搞定才行。其实开题报告相比论文而言要简单很多&#xff0c;但对于从未写过开题报告的同学却不知道从哪里下手。下面就为大家介绍一下一份完整的开题报告到底长什么样子&#xff0…

毕业设计的开题报告怎么写?

本文将事无巨细地为你介绍毕业论文开题报告的写法&#xff0c;让你看完就有灵感&#xff0c;能立马上手写出一篇开题报告来&#xff0c;建议点赞收藏哦。 首先&#xff0c;你得知道为什么要写开题报告。开题报告就像是你论文写作的导航软件&#xff0c;帮你确认论文的起点、途径…

论文开题报告的研究基础怎么写?

紧张又充实的大学生活即将结束&#xff0c;大学生们又开始做毕业设计了&#xff0c;而做毕业设计之前指导老师都会要求先写好开题报告&#xff0c;想必大家像我一样在写开题报告时就会有疑惑了&#xff1a;“哎&#xff0c;什么是研究基础&#xff0c;这个怎么写啊?” 不急&am…

开题报告中拟解决的主要问题怎么写?

在研究生求学阶段&#xff0c;学位论文质量的高低是衡量研究生培养质量的重要标志&#xff0c;而论文质量的高低&#xff0c;很大程度上取决于论文开题报告的内容的细致程度。从论文的选题&#xff0c;到研究内容与措施的探讨及最后开题报告的撰写&#xff0c;三者环环相扣&…

开题报告里的基本内容写什么,预期效果又怎么写?

是不是在找开题报告的模板&#xff1f;逮住就别走啦&#xff0c;这一篇帮你一网打尽&#xff01; 一定教会你一个晚上搞定你的开题报告&#xff01; 不仅如此&#xff0c;这篇看完&#xff0c;对于你未来整个论文初稿也会提供一些准确的思路哦~ 多说无益&#xff0c;快来一起…

2225年,人类可以通过脑机永生?

文|佘凯文 来源|智能相对论&#xff08;aixdlun&#xff09; 2019年以来几部与人工智能有关的动画电影可谓火得不行&#xff0c;先是卡梅隆担任制片的《战斗天使&#xff1a;阿丽塔》&#xff0c;之后则是Netflix的自制系列动画《爱、死亡和机器人》&#xff0c;在这些影片中…

人工智能革命:人类会永生还是灭亡(中)

为什么未来会是我们最大的希望 当我了解人工智能的世界时&#xff0c;我发现有很多人站在这里&#xff1a; 在自信角落里面的人们兴奋地嗡嗡作响。他们把目光投向了平衡木的乐趣的一面&#xff0c;他们确信这就是我们所有人的目标。对他们来说&#xff0c;未来就是他们所希望的…

基因编辑技术:能让人类永生下去?

图&#xff1a;有争议的哈佛大学研究人员丘奇称猪器官将可以用于人体器官移植&#xff0c;利用脑移植治疗老年痴呆症 凤凰网科技讯据《每日邮报》北京时间 7 月 5 日报道&#xff0c;未来有一天&#xff0c;人类将利用猪培养用于人体器官移植的器官&#xff0c;利用脑移植治疗帕…

如何在5分钟内翻译一本书?

我们要翻译一本电子书&#xff0c;首先要准备两件工具&#xff1a; 1、安装calibre&#xff0c;官网下载 &#xff0c;这是公认最好的电子书编辑软件。 2、DeepL 的Pro帐号&#xff0c;某宝长期供货。 一、使用calibre转换格式 电子书有很多格式&#xff1a;epub、mobi、pd…

GPT-4 重磅发布,吊打 ChatGPT!编程能力牛到让我睡不着:10秒做出一个网站,1分钟开发一个游戏...

作者 &#xff5c; 刘燕、Tina OpenAI 的新“核弹”来了&#xff0c;并且它还非常擅长编码。 3 月 14 日晚间&#xff0c;OpenAI 宣布发布 GPT-4。 “我们创建了 GPT-4&#xff0c;这是 OpenAI 努力扩展深度学习的最新里程碑。GPT-4 是一个大型多模态模型&#xff08;接受图像…

【科大讯飞星火vs.GPT4】写代码能力实测(80分+):Use Java write a DAG task scheduler code, with comments and explanation

参考阅读:GPT4和Google的Bard(PaLM 2)写代码测评: 【ChatGPT4 vs. Bard 写代码能力实测】Use Java write a DAG task scheduler code, with comments and explanation._禅与计算机程序设计艺术的博客-CSDN博客 使用 Java 编程语言,实现一个简单的DAG 任务调度框架的源代码…

优秀程序员简历模板

阅读本文大概需要2min 文/ 强哥&#xff0c;图/ 强哥 未经授权禁止转载 上一篇讲了写简历要注意的其中3点&#xff08;程序员简历不过的6个原因&#xff01;&#xff09;&#xff0c;今天讲讲另外3点。 1、不要轻易说“专家” 简历中最致命的就是频繁提及“精通”“掌握”“熟练…