|
ggplot2,在数据作图方面(也只擅长带数据的统计绘图,流程图用viso更合适!),应该是大名鼎鼎了,它支持R语言和Python语言(但对Python语言的支持好像没有R全面)。其最大的优点就是作图美观。默认的几套图色主题已经足够使用,用户需要做的集中精力思考数据内容的高质量可视化。
ggplot2的绘图思路与Photoshop相近,蕴含图层思想,即一幅图由多个半透明图层叠加形成,这样做的好处是便于快速修改某一图层而不影响全局,从而能够达到复杂的作图效果。
ggplot2的绘图风格偏向小清新,但也可偏向学术;matlab则完全偏向学术,python的matplotlib则稍逊于外观。下面放几幅效果图感受ggplot2的画风:
注明:以上图片来自知乎答案:https://www.zhihu.com/question/21664179
------------------------------ 我的示例分割线------------------------------
安装R和R-studio,然后输入命令:install.packages("ggplot2")直接就开始安装。
官方的API文档:http://docs.ggplot2.org/current/index.html,注意由于ggplot2版本更新较快,语法也有大变化,所以学习者要严格参考API文档。
安装完后,进入官网的API文档,我照着写了一段,对之前做的一个实验,维度搜索寻优的数据进行绘制,我想对比与我用excel绘制的效果(已尽力),R的源码如下:
- library(ggplot2) # 引入ggplot2包
- Data <- read.delim("E:/R/searchBestDimension.txt") # 读入数据,列与列之间用制表符,空格符分割都可以
- # 图层叠加,第一层ggplot函数是载入数据Data,aes是指定横轴是dimension列数据,纵轴是rate列数据
- # 第二层是散点图层,指定了散点的颜色,透明度;aes(size = rate))是按照rate值绘制大小,动态滴
- # 第三层指定x轴和y轴坐标
- # 第四层指定x轴最小值,最大值,间隔
- # 第五层指定y轴小数以百分比形式显示,还有最小值,最大值,间隔
- # 第六层指定坐标轴文字大小和坐标轴标题文字大小
- ggplot(Data, aes(dimension,rate)) +
- geom_point(color="#D86A6C", alpha=1, aes(size = rate)) +
- labs(x="Dimension", y="AP value") +
- scale_x_continuous(breaks=seq(10, 350, 30)) +
- scale_y_continuous(labels = scales::percent, breaks=seq(0.60, 0.76, 0.01)) +
- theme(axis.text=element_text(size=20), axis.title=element_text(size=20))
复制代码
两个图的对比如下,依次是excel画的和ggplot2画的(我是觉得改进挺明显的、、、矢量图看着更赞):
附数据如下:
- dimension rate
- 10 0.7468
- 20 0.7578
- 30 0.7578
- 40 0.7550
- 50 0.7479
- 60 0.7454
- 70 0.7419
- 80 0.7428
- 90 0.7390
- 100 0.7282
- 110 0.7240
- 120 0.7212
- 130 0.7190
- 140 0.7154
- 150 0.7133
- 160 0.7132
- 170 0.7143
- 180 0.7154
- 190 0.7150
- 200 0.7059
- 210 0.7041
- 220 0.7041
- 230 0.7026
- 240 0.7023
- 250 0.7017
- 260 0.7013
- 270 0.7008
- 280 0.7001
- 290 0.7007
- 300 0.7006
- 310 0.7004
- 320 0.7003
- 330 0.6999
- 340 0.6995
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|