R语言绘制坐标 保存图片的操作
绘制坐标
有时候我们绘制坐标的时候,需要改变坐标轴的定义,我们以日期为横坐标绘制时间序列为例讲解
先列举简单的例子:
rnorm(n, mean = 0, sd = 1)
n 为产生随机值个数(长度),mean 是平均数, sd 是标准差 。
> rnorm(10,1,sd = 2) [1] 1.98984356 -1.93403191 -1.15324772 0.84623524 -0.73123833 -2.77682328 -0.74316683 -0.02913632 -0.80063421 3.23976243
用随机数绘制曲线:
require(stats) # for rnorm plot(x=1:10, y=rnorm(10,1,sd = 2), type = 'l')
type 参数:
what type of plot should be drawn. Possible types are "p" for points, "l" for lines, "b" for both, "c" for the lines part alone of "b", "o" for both ‘overplotted', "h" for ‘histogram' like (or ‘high-density') vertical lines, "s" for stair steps, "S" for other steps, see ‘Details' below,
把上述内容绘制成时间序列
> plot(x=1:10, y=rnorm(10,1,sd = 2), type = 'l',<span style="color:#cc0000;"><strong>xaxt='n'</strong></span>) # 原坐标X 不绘制,否则会重叠 > axis(side = 1, at = c(2,4,6,8,10), labels = c("2016-05-24", "2016-05-26", "2016-05-30", "2016-06-01", "2016-06-03"))
自动保存成图片文件
png(filename = "Rplot%03d.png", width = 480, height = 480, units = "px", pointsize = 12, bg = "white", res = NA, family = "", restoreConsole = TRUE, type = c("windows", "cairo", "cairo-png"), antialias)
在 plot 的上方和下方加入 png function 和 devoff():
require(stats) # for rnorm <span style="color:#cc0000;">png(file='draw.png', bg="white", width = 300, height = 200)</span> plot(x=1:10, y=rnorm(10,1,sd = 2), type = 'l',xaxt='n', <strong><span style="color:#ff0000;">main = 'draw'</span></strong>) # 增加坐标的 名称 draw axis(side = 1, at = c(2,4,6,8,10), labels = c("2016-05-24", "2016-05-26", "2016-05-30", "2016-06-01", "2016-06-03")) <span style="color:#cc0000;">dev.off()</span>
创建 png 的时候 可以指定分辨率, 可以看出这个图片比之前的小一些
补充:R语言作图-ROC曲线坐标不在原点及图片保存小技巧
1、关于画图:
用pROC包画ROC曲线的时候,有时候坐标很奇怪,往左或者往上偏了,不是在原点(暂且这么叫吧),比如:
不晓得修改参数,网上也没找到较好的答案,偶然一次机会,发现拖动画图的框框大小就可以实现,应该是视图显示的原因。试着往左、往右或者上下拖动R语言图片显示界面,就可以得到想要的图。
2、关于保存:
我喜欢保存为PDF格式,不容易失真,保存的大概是矢量图。根据图的实际情况选择保存的尺寸比例,不知道怎么设置,就保存为调整好的当前视图所设置的尺寸比例。
再将PDF用Adobe Photoshop CC 2017软件打开(其余的PS版本没用过,自行尝试),软件会自动剪切掉空白,留下合适图片尺寸,
修改为自己想要的像素值大小,再另存为TIFF格式或其它喜欢的格式即可。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
赞 (0)