【无标题】111411141114

第一章表

#第一章#############################
##习题1.5频数表
#(1)Titanic二维变量表加边际和
class(Titanic)
Titanic
library(DescTools)
d1<-Untable(Titanic)#原数据是列联表,用Untable转化成数据框
d1
mt1<-table(d1$Sex,d1$Survived)#二维列联表
addmargins(my1)#边际和
mt1
#(2)4个变量的多为列联表
library(vcd)
mt2<-structable(d1)
mt2
#(3)把2转化为带类别频数的数据框
d13<-as.data.frame(mt2)
d13

 第二章页面布局,简单调颜色

##第二章2.3,2.4###########################
#2.3 11个图布局
layout(matrix(c(1,2,3,4,5,6,7,8,9,10,11,11),nrow=4,ncol=3,byrow=TRUE),
       widths=c(1,1,1),heights=c(1,1,1,1))
layout.show(11)
#2.4 条形图
score<-c(85,82,78,91,75)
subject<-c("经济","会计","营销","金融","管理")
layout(matrix(c(1,2),nrow=2,ncol=1,byrow=T))#页面布局
par(mai=c(0.4,0.5,0.3,0.1),cex.main=0.9,font.main=1)
barplot(score,names=subject,col=rainbow(8),ylab="分数")#1
barplot(score,names=subject,col=topo.colors(8),ylab="分数")#2
dev.off##清除页面布局
par(mfrow = c(1,1))#清除页面布局2

cols<-ifelse(score>90,"red","blue")#3
barplot(score,names=subject,col=cols,ylab="分数")
##2.4标准答案################################
#(1)
library(RColorBrewer)
x<-c(85,82,78,91,75)
a<-c("经济","会计","营销","金融","管理")

par(mfrow=c(1,2),mai=c(1.2,1.2,0.4,0.4),cex=0.7)
barplot(x,names=a,col=rainbow(5),xlab="专业",ylab="平均分数",
        cex.main=0.7,cex.lab=0.7,main="使用rainbow函数")
barplot(x,names=a,col=topo.colors(5),xlab="专业",ylab="平均分数",
        cex.main=0.7,cex.lab=0.7,main="使用topo.colors函数")

#(2)条形图
palette1<-brewer.pal(5,"Reds")
palette2<-brewer.pal(5,"Set1")
palette3<-brewer.pal(5,"RdBu")
par(mfrow=c(1,3),mai=c(0.7,0.5,0.4,0.4),cex=0.7)
barplot(x,names=a,col=palette1,xlab="专业",ylab="平均分数",
        cex.main=0.7,cex.lab=0.7,main="红色连续型调色板")
barplot(x,names=a,col=palette2,xlab="专业",ylab="平均分数",
        cex.main=0.7,cex.lab=0.7,main="离散型调色板")
barplot(x,names=a,col=palette3,xlab="专业",ylab="平均分数",
        cex.main=0.7,cex.lab=0.7,main="红蓝色极端值调色板")

#(3)条形图颜色
par(mfrow=c(1,1),mai=c(1.2,1.2,0.4,0.4),cex=0.7)
cols<-ifelse(x>90,"red","blue")
barplot(x,names=a,col=cols,xlab="专业",ylab="平均分数",
        cex.main=0.7,cex.lab=0.7,main="分数大于90红色,否则蓝色")

第三章类别数据可视化,很多图,

#第三章#######################
#第三章3.5#######################
###3.51并列条形图堆叠条形图
data3<-Untable(Titanic)
tab1<-table(data3$Survived,data3$Sex)##二维表
library(vcd)
tab1<-structable(Survived~Sex,data=Titanic)
addmargins(tab1)##二维表
library(DescTools)
par(mfrow=c(2,2),mai=c(0.2,0.5,0.3,0.2),cex.main=0.8,cex.axis=0.8,cex.lab=0.8)
##垂直并列
b1<-barplot(tab1,beside=TRUE,xlab = "生还情况",ylab="人数",main="(a)垂直并列",
            col=c("#7CCBFF","#FF5F07"),
            ylim=c(0,1800),
            legend=rownames(tab1),
            args.legend=list(x=4,y=1900,
                             ncol=2,cex=0.5,box.col="grey80"))
BarText(tab1,b=b1,beside=TRUE,cex=0.5,top=TRUE)
#b水平并列
tab1<-structable(Survived~Sex,data=Titanic)
addmargins(tab1)
b2<-barplot(tab1,beside=TRUE,horiz=TRUE,xlab = "生还情况",ylab="人数",main="(b)水平并列",
            col=c("#7CCBFF","#FF5F07"),
            legend=rownames(tab1),
            args.legend=list(x=165,y=10.5,
                             ncol=2,cex=0.5,box.col="grey80"))
BarText(tab1,b=b2,beside=TRUE,horiz=TRUE,cex=0.5,top=FALSE)

#c水平堆叠
b3<-barplot(tab1,horiz=TRUE,xlab = "生还情况",ylab="人数",main="(c)水平堆叠",
            col=c("#7CCBFF","#FF5F07"),
            legend=rownames(tab1),
            args.legend=list(x=750,y=4.5,
                             ncol=2,cex=0.5,box.col="grey80"))
BarText(tab1,b=b3,horize=TRUE,col="black",cex=0.5)
#d垂直堆叠
b4<-barplot(tab1,xlab = "生还情况",ylab="人数",main="(d)垂直堆叠",
            col=c("#7CCBFF","#FF5F07"),
            legend=rownames(tab1),
            args.legend=list(x=3.6,y=950,
                             ncol=2,cex=0.5,box.col="grey80"))
BarText(tab1,b=b4,cex=0.5)
#```{r 第2题}
#第二题code绘制Class的帕累托图
#帕累托图
par(mfrow = c(1,1))
library(sjPlot)
x<-sort(table(data3$Class),decreasing=TRUE)##生成一维表并降序排列
bar<-barplot(x,xlab="class",ylab="num",col=RColorBrewer::brewer.pal(3,"Reds"),
             ylim=c(0,1000))
text(bar,x,labels=x,pos=3,col="black")
y<-cumsum(x)/sum(x)
par(new=T)
plot(y,type="b",pch=15,axes=FALSE,xlab='',ylab='',main='')
axis(side=4)
mtext("累积频率",side=4,line=3,cex=0.8)
text(labels="累积分布曲线",x=2.4,y=0.95,cex=1)
#```{r 第3题}
#第三题code绘制Class和Survived的脊形图
#脊形图
spineplot(factor(Class)~factor(Survived),data=data3,
          col=c("#FB8072","blue"),
          xlab="幸存",ylab="船舱等级", main="(a)船舱等级与幸存")
#```{r 第4题}
#第四题code绘制Class、Sex、Age和Survived4个变量条形树状图和矩形树状图
#大小树状图
library(plotrix)
cols<-list(c("#9EC545","#47cb4a","#95eb00","#7ba237"),c("#F5E866","#F8D695"),
           c("#EFB06A","#E2460E"),c("#EE3768","#fe8bd9"))
sizetree(data3,col=cols,showval=TRUE,showcount=TRUE,stacklabels=TRUE,
         border="black",base.cex=0.7)
#矩形树状图
library(treemap)
tab<-ftable(data3)#多维数据框
d11<-as.data.frame(tab)#变成有频数的数据框
df<-data.frame(d11[,-5],频数=d11$Freq)#改名字
treemap::treemap(df,index=c("Class","Sex","Age","Survived"),
                 vSize="频数",vColor="频数",
                 type="value",fontsize.labels=8,title="")
#```{r 第5题}
#第五题code绘制Class、Sex、Age和Survived4个变量独立性检验的P值图
##独立性检验p值图用数据框带频数的
library(sjPlot)
sjp.chi2(d11,show.legend=T,legend.title="p值色标",title="pearson检验")
##相关图用二维表
par(mfrow=c(2,2),mai=c(0.7,0.7,0.3,0.1),cex=0.7,cex.main=1,font.main=1)
#survived~class
assocplot(table(data3$Survived,data3$Class),col=c("black","red"),main="(a) 幸存和船舱等级")
box(col="grey50")
#```{r 第6题}
#第六题code绘制Class、Sex、Age和Survived4个变量的马赛克图,并在图中显示观测频
##马赛克图用多维表
par(mfrow = c(1,1))
library(vcd)
p<-mosaic(tab,shade=TRUE,labeling=labeling_values,
          return_grob=TRUE,main="(a) 观测频数马赛克")

#```{r 第7题}
#第七题code绘制Class和Survived2个变量的气球图、热图和南丁格尔玫瑰图
##气球图
library(ggpubr)
df<-as.data.frame(tab)
my_cols<-c("#B9F5D4","#55C4C3","#2B6C6D","#378B6B","#9DFDC7","#86c036")
ggballoonplot(df,x="Class",y="Survived",shape=21,
              size="Freq",fill="Freq",rotate.x.text=FALSE,
              ggtheme=scale_fill_gradientn(colors=my_cols))
##热图
library(ggiraphExtra);require(ggplot2);library(gridExtra)
p72<-ggHeatmap(data3,aes(x=Class,y=Survived),
               addlabel=TRUE,palette="Reds")+ggtitle("(a1)矩形热图")
p72
#南丁格尔玫瑰图
library(ggiraphExtra);library(ggplot2);library(gridExtra)

df<-data.frame(d11[,-5],频数=d11$Freq)
mytheme<-theme(plot.title=element_text(size="9"),
               axis.title=element_text(size="8"),
               axis.text=element_text(size="7"),
               legend.title=element_text(size="7"),
               legend.text=element_text(size="7"))

p73<-ggRose(df,aes(x=Class,y=频数,fill=Survived),stat="identity",reverse=TRUE)+
  ggtitle("(a2)玫瑰图")+mytheme
p73

#```{r 第8题}
#第八题code绘制Class的饼图、扇形图、环形图和弧形图
##饼图
library(ggiraphExtra);require(ggplot2);library(gridExtra)
p81<-ggPie(data=data3,aes(pies=Class),title="(a)船舱等级")
p81
#扇形图
library(plotrix)
tab82<-table(data3$Class)
name<-names(tab82)

percent<-prop.table(tab82)*100
labs<-paste(name," ",round(percent,2),"%",sep="")
fan.plot(tab82,labels=labs,max.span=0.91*pi,
         shrink=0.06,radius=1.2,
         label.radius=1.4,ticks=200,
         col=c("#268AFF","#FF5126","#F5E866","#A08FD5"))
#环形图
library(ggiraphExtra);require(ggplot2);library(gridExtra)
p83<-ggDonut(data3,aes(donuts=Class),labelposition=1,
             labelsize=2.5,
             xmin=2,xmax=4,title="(a)环形图")
p83
#弧形图
library(ggpol);library(ggplot2);library(gridExtra)
tab84<-ftable(data3$Class)
d84<-as.data.frame(tab84)
df84<-data.frame(船舱等级=d84$Var1,频数=d84$Freq)
p84<-ggplot(df84)+geom_arcbar(aes(x=船舱等级,shares=频数,fill=船舱等级,r0=5,r1=10),
                              sep=0.05,show.legend=TRUE)+coord_fixed()+
  ggtitle("(a)弧形图")+theme_void()
p84

#```{r 第9题}
#第九题code绘制Class和Sex2个变量的饼环图
#饼环图
library(ggiraphExtra);require(ggplot2);library(gridExtra)
p91<-ggPieDonut(data=data3,aes(pies=Class,donuts=Sex),
                title="(a)饼环图")
p91

第四章

##########第四章###############################
# 第一题code
#直方图
library(graphics)
library(lattice);library(sjPlot);library(epade)
hist(faithful$eruptions,prob=TRUE,breaks=20,col="#5EB63A",
     xlab="喷发持续时间",ylab="时间",main="(a)")
rug(jitter(faithful$eruptions))#加线条
curve(dnorm(x,mean(faithful$eruptions),sd(faithful$eruptions)),col="#DC2B14",add=TRUE)
#第二题code
###叠加直方图先标准化了
#df4<-scale(faithful[,1:2])
#df44<-data.frame(df4)
sc_eruptions<-scale(faithful$eruptions, center = TRUE, scale = TRUE)
sc_waiting<-scale(faithful$waiting, center = TRUE, scale = TRUE)
hist(sc_eruptions,prob=TRUE,breaks=25,
     xlab="指标值",ylab="密度",col="#9EC545",main="")
hist(sc_waiting,prob=TRUE,breaks=25,
     xlab="",ylab="",col="#A08FD5",density=40,main="",add=TRUE)
legend("topright",legend=c("持续时间","等待时间"),
       col=c("#9EC545","#A08FD5"),density=c(200,60),
       fill=c("#9EC545","#A08FD5"),cex=0.5)
# 第三题code
##核密度比较图
library(ggplot2)
library(reshape2)
mydata <- data.frame(sc_eruptions,sc_waiting)#标准化数据组成数据框
df<-melt(mydata,variable.name="指标",value.name="指标值")#融合变量变成长数据
mytheme<-theme(plot.title = element_text(size="9"),
               axis.title=element_text(size="9"),
               axis.text = element_text(size="8"),
               legend.position = "right",
               legend.text = element_text(size="7"))

p1<-ggplot(df)+aes(x=指标值)+
  geom_density(aes(group=指标,color=指标,fill=指标),alpha=0)+mytheme+
  ggtitle("a")
p1
# 第四题code
##箱线图
boxplot(mydata,col=c("#9EC545","#EEB0AC"),main="a")
##小提琴图
library(vioplot)
vioplot(mydata,col=c("#9EC545","#EEB0AC"),name=c("持续时间","等待时间"))
# 第五题code
##茎叶图
library(aplpack)
stem.leaf.backback(mydata$sc_eruptions,mydata$sc_waiting)
# 第六题code
##点图
library(reshape2);library(ggiraphExtra);require(ggplot2)
p61<-ggDot(df,aes(x=指标,y=指标值,fill=指标),
           stackdir="center",method="dotdensity",boxfill="white",
           position=0,binwidth=0.05,boxwidth=0.5)+
  ggtitle("a")
p61
##带状图
stripchart(mydata$sc_eruptions,method="overplot",at=1.2,
           pch="A",cex=0.6,col="#FF5126")
stripchart(mydata$sc_waiting,method="jitter",at=0.95,
           pch="P",cex=0.6,col="#26A7FF",add=T)
# 第七题code
##分布概要图
library(aplpack)
plotsummary(mydata,types=c("stripes","ecdf","density","boxplot"),
            y.size=4:1,design="chessboard",
            mycols="RB",main="")

第五章

#########第五章#############################
##1散点图
plot(mtcars$mpg,mtcars$wt,pch=19,col="green4",xlab="英里数",ylab="汽车自重")
abline(lm(mtcars$mpg~mtcars$wt),lwd=2,col="red")
#有置信区间
da5<-data.frame(mtcars)
head(da5)
library(investr)
fit<-lm(mpg~wt,data=da5)
plotFit(fit,interval="confidence",level=0.95,
        shade=T,col.conf="lightskyblue2",col.fit="red",
        main="A")
##散点图矩阵
library(car)
scatterplotMatrix(da5[,1:11],
                  diagonal = TRUE,
                  ellipse=TRUE,
                  col="#162C9a",gap=0.5,cex=0.5,
                  oma=c(3,3,3,3))
##相关系数矩阵
mtcars[1:5,11]
library(sjPlot)
sjp.corr(da5,corr.method="pearson",
         show.values=TRUE,
         show.legend=TRUE,
         p.numeric=TRUE)

####3D散点
library(scatterplot3d)
s3d<-scatterplot3d(x=da5$mpg,y=da5$hp,z=da5$wt,
                   col.axis="blue",col.grid="lightblue",pch=16,highlight.3d=TRUE,
                   type="h",box=TRUE,
                   xlab="英里数",ylab="总马力",zlab="汽车自重",
                   cex.lab=0.7,main="3D散点图")
fit<-lm(da5$mpg~da5$hp+da5$wt)#没画出来
s3d$plane3d(fit,col="grey30")
##气泡
library(DescTools)
PlotBubble(x=da5$hp,y=da5$wt,area=da5$hp,
           panel.first=grid(),
           cex=0.006,col=SetAlpha("green3",0.2),
           xlab="总马力",ylab="汽车自重")
mtext("气泡大小=行驶英里数",line=-2,cex=0.8,adj=0.1)
BubbleLegend("bottomright",area=c(5,3,1),frame=TRUE,
             cols=SetAlpha("blue2",0.3),bg="grey95",
             labels=c(15,10,5),cex=0.8,cols.lbl=c("red","yellow","green"))
##条件散点图
fcyl<-factor(da5$cyl)#转换因子
da55<-data.frame(fcyl,da5)
head(da55)
coplot(data=da55,hp~wt|fcyl,
       panel=panel.smooth,
       col="blue",bg=5,pch=21,
       bar.bg=c(fac="pink"),
       rows=1,columns=3)
class(da55$fcyl)
##广义配对图要因子
library(GGally);library(ggplot2)
ggpairs(da55[,c(1,2,5,7)],
        aes(color= fcyl,alpha=0.6))+
  theme(axis.text=element_text(size=8))

第六章

#######第六章#############################
##按照species分组的轮廓图,species本来就是因子
library(ggiraphExtra);require(ggplot2)
ggPair(iris,aes(color=Species))+
  theme(axis.text=element_text(size=7),
        legend.position=c(0.6,0.87),
        legend.direction="horizontal",
        legend.text=element_text(size="7"))
##雷达图
library(ggiraphExtra)
library(ggplot2)
ggRadar(data=iris,rescale=T,aes(group=Species),alpha=0,size=1)+theme(axis.text=element_text(size=7),legend.position='right',legend.text=element_text(size='6'))
##星图
matrix1=as.matrix(iris[,1:4]);rownames(matrix1)=iris[,5]
stars(matrix1,full = T,scale = T,len=1.5,draw.segments = T,key.loc = c(20,1.5,5),mar=c(0,0,0,0),cex=0.4)
##脸谱图
library(aplpack)
faces(matrix1,face.type=1,ncol.plot=6,scale=T,cex=1)
##聚类图
library(factoextra)
library(ggplot2)
d=dist(scale(matrix1),method = 'euclidean')
hc=hclust(d,method = 'ward.D2')
fviz_dend(hc,k=3,cex=0.4,horiz = F,k_colors = rainbow(3),color_labels_by_k = T,lwd=0.8,type='rectangle',rect=T,rect_lty = 1,rect_fill = T,main = '分层聚类树状图')
##热图
heatmap(matrix1,scale = 'column',margins = c(4,3),cexRow=0.6,cexCol=0.7)

第七章

#######第七章¥######################
##折线图
library(ggplot2)
da7<-read.csv("D:/bjyx/Desktop/dashuju/数据可视化分析—基于R语言 例题数据和习题数据/(02)习题数据/exercise/chap07/exercise7_4.csv")
head(da7)
Vhead(CO2)iew(da7)
class(da7$日期)
da77<-as.Date(da7$日期)
d7<-data.frame(日期=da77,指标值=da7[,2])
head(d7)
class(d7$日期)
mytheme<-theme(legend.position="none",
               axis.title=element_text(size=10),
               axis.text=element_text(size=8))
ggplot(d7,aes(x=日期,y=指标值))+geom_line()+theme_bw()+mytheme
#观测值图,成分分解图
plot(retail.ts,type="o",col="red2",
     xlab="时间",ylab="co2排放",main="a")
retail.m<-decompose(co2,type="multiplicative")
par(mar=c(0.5,0.7,0.1,0.1),cex.lab=0.8,cex.main=1,font.main=1)
plot(retail.m,type="o",col="red4")
#winter预测
retail.fit<-ets(co2,model="MAA")
retail.f<-forecast(retail.fit,h=24)
par(mfrow=c(1,2),mai=c(0.5,0.5,0.2,0.1),lab=c(10,5,1),font.main=1)
plot(retail.f,type="o",xlab="时间",ylab="零售额",cex=0.8)
dev.off
par(mfrow = c(1,1))

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
WinForm无标题栏框架是指将Windows桌面应用程序的标题栏去掉,同时保留应用程序的边框和窗口控件。这种框架通常会重新设计窗口控件,以增强用户体验。 WinForm无标题栏框架可以为桌面应用程序带来全新的外观和用户界面,有助于提高用户体验和应用程序的可用性。 无标题栏框架的优点之一是可以节省桌面空间。如果应用程序的标题栏和菜单栏都非常大,那么很容易会降低用户体验。无标题栏框架可以防止这种问题,让用户能够专注于应用程序的主要功能。 除了提高应用程序的可用性之外,无标题栏框架还可以增强应用程序的外观和品牌。 在设计无标题栏窗口时,可以根据品牌色彩或用户需求决定窗口颜色和圆角半径等特性。这不仅可以让应用程序更加美观,同时也可以在用户心中留下深刻的印象。 当然,无标题栏框架在设计时需要考虑一些问题。例如,如果没有标题栏,如何让窗口可以拖动和缩放?如何在窗口内部正确排列窗口控件?如果没有菜单栏,应该怎样实现各种功能?这些问题在设计无标题栏框架时需要考虑到。 总之,WinForm无标题栏框架是一种非常有用的设计模式,可以提高应用程序的可用性、外观和用户体验。在设计过程中需要注意一些问题,但是如果正确使用是可以为桌面应用程序带来巨大的好处的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值