R语言中怎么才可以使条形显示对应数值

Python09

R语言中怎么才可以使条形显示对应数值,第1张

ggplot2包可以用来绘图,其中的geom_text函数可以设置标签:library(plyr)library(ggplot2)library(scales)dtf <- data.frame(x = c("ETB", "PMA", "PER", "KON", "TRA", "DDR", "BUM", "MAT", "HED", "EXP"), y = c(.02, .11, -.01, -.03, -.03, .02, .1, -.01, -.02, 0.06))ggplot(dtf, aes(x, y)) + geom_bar(stat = "identity", aes(fill = x)) + geom_text(aes(label = paste(y * 100, "%"), vjust = ifelse(y >= 0, 0, 1))) + scale_y_continuous("Anteil in Prozent", labels = percent_format())

这个问题我觉得你应该和CAN总线协议分开,因为CAN总线硬件链路层协议和数据链路层协议都是标准的,就是CAN2.0A和CAN2.0B协议,我觉得你应该是要定义上层应用的协议,专门针对你的通讯信息的协议,比如说你要传输“设置量程上下限,报警上下限,绘制历史和实时曲线”等信息的协议,如果是这样的话,那就简单了,解释一下:协议就是通讯两端对话的语言,你必须有至少两个CAN节点,然后通过线路将其连接(就是一对差分线),然后就可以利用CAN底层协议互相通讯,而你要定的协议就是定义CAN接收的什么数据代表什么意思,一般来说,一个协议要包括头和尾及中间的内容,如当接收到一帧的第一个字节(CAN协议一帧可以传送8个字节)为0xfe时认为这是你的一个协议包的开始标志字节,一个协议包比如定义为8个字节,最后一个字节为0xEF为结束字节标志,这样当你的CAN接收到第一个字节为0xfe最后一个字节为0xef的帧就是你需要的协议包,你可以定义第二个字节表示标志此包传输意义的字节,如为0x01表示“设置量程上下限”为0x02表示“报警上下限”等等,其他字节可以设置相应的需要设置的值。如果是一个复杂的协议的话,可以用多个帧表示一个你的协议包,而且一般需要加上一个或几个字节的校验字节,以验证是否传输正确。