a<-c(1:10)
#全局修改
old_par<-par(no.readonly=TRUE) #记录默认样式到变量old_par中
par(lty=2,pch=17) #设置线型lty=2虚线,pch=17实心三角形,键值对的方式进行设置
#第一幅图,已经和默认样式不一样了
b<-rnorm(10)
plot(a,b,type='b')
#第二幅图,和第一幅图样式一样
b<-rnorm(10)
plot(a,b,type='b')
par(old_par) #应用默认样式
#第三幅图,默认样式
b<-rnorm(10)
plot(a,b,type='b')
针对一幅图片有效
a<-c(1:10)
b<-rnorm(10)
plot(a,b,type='b',lty=2,pch=17)
如下列表为可以设置的键值对
参数作用描述列表
pch点的符号指定绘制点时使用的符号
cex符号的大小指定符号的大小。cex是一个数值,表示绘图符号相对于默认
大小的缩放倍数。默认大小为1,1.5表示放大为默认值的1.5倍,
0.5表示缩小为默认值的50%,等等
lty线条类型
lwd线条宽度指定线条宽度。lwd是以默认值的相对大小来表示的(默认值为1)。
例如,lwd=2将生成一条两倍于默认宽度的线条
col 默认的绘图颜色。某些函数(如lines和pie)可以接受一个
含有颜色值的向量并自动循环使用。
例如,如果设定col=c(red, blue)并需要绘制三条线,则
第一条线将为红色,第二条线为蓝色,第三条线又将为红色
col.axis 坐标轴刻度文字的颜色
col.lab 坐标轴标签(名称)的颜色
col.main 标题颜色
col.sub 副标题颜色
fg 图形的前景色
bg 图形的背景色
cex 表示相对于默认大小缩放倍数的数值。
默认大小为1,1.5表示放大为默认值的1.5倍,0.5表示缩小
为默认值的50%,等等
cex.axis 坐标轴刻度文字的缩放倍数。类似于cex
cex.lab 坐标轴标签(名称)的缩放倍数。类似于cex
cex.main 标题的缩放倍数。类似于cex
cex.sub 副标题的缩放倍数。类似于cex
font 整数。用于指定绘图使用的字体样式。1=常规,2=粗体,3=斜体,
4=粗斜体,5=符号字体(以Adobe符号编码表示)
font.axis 坐标轴刻度文字的字体样式
font.lab 坐标轴标签(名称)的字体样式
font.main 标题的字体样式
font.sub 副标题的字体样式
ps 字体磅值(1磅约为1/72英寸)。文本的最终大小为 ps*cex
family 绘制文本时使用的字体族。标准的取值为serif(衬线)、sans(无衬线)和mono(等宽)
pin 以英寸表示的图形尺寸(宽和高)
mai 以数值向量表示的边界大小,顺序为“下、左、上、右”,单位为英寸
mar 以数值向量表示的边界大小,顺序为“下、左、上、右”,单位为英分*。
默认值为c(5, 4, 4, 2) + 0.1
标题title
坐标轴axis
参考线abline
图例legend
文本标注text(绘图区域内部添加文字),mtext(图形四个边界添加文字)
饼状图,又称为饼图,能够划分几个扇形的圆形统计图。可以描述量、频率、占比的相对关系。R语言中,可以用graphics包的pie()函数、ggplot2包的geom_bar()配合coord_polar()函数绘制,3D 的饼状图,可以使用 plotrix包的pie3D()函数。本文详细介绍饼状图的绘制。
x: 数值向量,表示每个扇形的面积
labels: 字符型向量,表示各扇形面积标签
edges: 多边形的边数(圆的轮廓类似很多边的多边形)
radius: 饼图半径
main: 饼图标题
clockwise: 逻辑值,用来指示饼图各个切片是否按顺时针做出分割
angle: 设置底纹的斜率
density: 底纹的密度,默认值为 NULL
col: 是表示每个扇形的颜色,相当于调色板
[1] Robert I. Kabacoff (著). R语言实战(高涛/肖楠/陈钢 译). 北京: 人民邮电出版社.
[2] https://www.runoob.com/r/r-pie-charts.html
[3] https://zhuanlan.zhihu.com/p/80415566
//直接使用数组保存#include <stdio.h>
#define size 10
int main()
{
char name[size][10]
int num[size],id[size],i=0
while(i++<3)
scanf("%d%s%d",&id[i-1],name[i-1],&num[i-1])
printf("打印输入结果:\n")
i=0
while(i++<3)
printf("%d %s %d\n",id[i-1],name[i-1],num[i-1])
return 0
} //用结构保存
#include <stdio.h>
#define size 10
typedef struct alist
{
int id
char name[10]
int num
}ALIST
int main()
{
ALIST al[size]
int i=0
while(i++<3)
scanf("%d%s%d",&al[i-1].id,al[i-1].name,&al[i-1].num)
printf("打印输入结果:\n")
i=0
while(i++<3)
printf("%d %s %d\n",al[i-1].id,al[i-1].name,al[i-1].num)
return 0
}
当然你也可以把结构做成链表,用next链表指针,遍历数据,我这就不演示了。