我在编写一个R脚本,它包含一个数据帧。 数据帧具有以下外观:根据R中的结果截断数据帧列字符并更新图例
mydf <= read.csv('file', header = TRUE, sep=",")
mydf
....Prod Date AVG
189 CA123 2012/07/24 14:32:35 0.2424 0.22 0.25 0.27
190 JK489 2012/08/25 18:29:08 0.2402 0.22 0.25 0.27
191 CA15K 2012/07/24 13:49:07 0.2427 0.22 0.25 0.27
192 JA45A 2012/07/22 02:32:40 0.2455 0.22 0.25 0.27
193 JA3HS 2012/07/24 22:26:25 0.2410 0.22 0.25 0.27
194 CA429 2012/08/28 10:36:16 0.2351 0.22 0.25 0.27
195 JK345 2012/07/25 07:11:24 0.2419 0.22 0.25 0.27
...
我使用此代码来绘制数据:
plot(Date,mydf$AVG,xlab='Date',ylab='AVG',main='title')
legend("topright", legend = c(" "," "), text.width = strwidth("1,000,000"), lty = 1:2, xjust = 1, yjust = 1, title = "Prods")
该地块工作正常,但我无法获得联想格式化了。我想要做的是在右上角放置一个图例,将每个Prod显示为图上的不同颜色数据点;然而,Prod也需要被固定,并且只能算作列中的前两个字符。
我知道我可以通过运行`mydf $ Prod'来访问所有变量,但是有没有办法将该帧引用中的每个项目截断为两个字符。我尝试使用循环,但我无法执行任何数学操作,这是有道理的。
有没有办法截断这些变量,然后将它们粘贴到保留截断格式的图例中。这个图例需要是动态的,因为Prod的不断变化,我在不同的文件上运行脚本。
一个附加项目:理想情况下,我希望这可以用标准图书馆来完成。我目前没有使用ggplot或任何其他图形库,因为我创建的图很简单。
用于截断字符串,看看'substr'功能。 –
好棒。子串函数工作得很好。有没有办法将其解析为图例,对每个条目进行颜色编码以匹配每个数据点? – Jonny