科学网

 找回密码
  注册

tag 标签: 作图

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

plotmtv 软件
cliffgao 2016-11-21 16:14
参考:http://askubuntu.com/questions/679724/installing-plotmtv 下载: 64-bit wget https://launchpad.net/~hkroeger/+archive/ubuntu/engineeringoss/+files/plotmtv_1.4.1-R10%7E8527892_amd64.debsudo dpkg -i plotmtv_1.4.1-R10\~8527892_amd64.deb 32-bit wget https://launchpad.net/~hkroeger/+archive/ubuntu/engineeringoss/+files/plotmtv_1.4.1-R10%7E8527892_i386.debsudo dpkg -i plotmtv_1.4.1-R10\~8527892_i386.deb 使用说明:
个人分类: linux相关|2618 次阅读|0 个评论
[转载]Origin 9.0绘制3D Vectors
mycoon 2016-7-7 09:00
今天为大家介绍下如何使用Origin 9.0绘制3D Vectors(3D向量图/矢量图)。 Origin 9.0绘制3D Vectors有两种数据结构可选: 其一是:3D Vectors XYZ XYZ;前面的三列XYZ为向量的尾,后面的三列XYZ为向量的首。 另外一种是:3D Vectors XYZ dXdYdZ;其中 前面的三列 XYZ为向量的尾,后面的三列dXdYdZ为首尾在X、Y、Z三个轴方向的距离。 1.首先来看下3D Vectors XYZ XYZ,数据如下。 前面三列XYZ为尾,后面三列XYZ为首。 且从数据可以看出,其尾首是相连的。 2.选中数据,进入Plot下的3D Symbol/Bar/Vector菜单,点击3D Vectors XYZ XYZ。 3.Origin 9.0默认生成的效果图如下。 4.双击弹出Plot Details对话框。进入3D Vector选项卡。 在Color中修改3D向量图的颜色,Width为线宽。 5.更换颜色后的效果图如下: 6.在Arrow Head内可修改向量图的箭头。 Length为箭头的长度,Angle为箭头尖端处的夹角。 此处我们将Angle从原来的40调整为30。 7.调整箭头后的效果图如下。 最后利用3D视图工具,调整下3D视角即可得到本文最初的样图! 8.接下来我们看下3D Vectors XYZ dXdYdZ。 后面DEF三列即作为dXdYdZ。 9.选中数据,进入Plot下的3D Symbol/Bar/Vector菜单。 点击3D Vectors XYZ dXdYdZ即可,效果图如下。 10.最后为了方便大家观察,双击弹出Plot Details对话框。 进入Line选项卡,勾选了Connect Symbols,将所有向量的尾连接起来。
个人分类: 文献|1007 次阅读|0 个评论
使用Microsoft Office 生成高分辨率的投稿图片
热度 1 kangjf1943 2016-2-6 20:56
2005年《美国放射杂志》刊登的一篇文章讲解了如何利用Microsoft PowerPoint (PPT) 制作通常投稿所需的高分辨率图片 ,小木虫和科学网上也有诸多文章讨论了这方面的内容 ,如采用Oringe输出、用AdobePhotoShop加工等。但是对于很多使用Excel进行数据处理兼作图的少年们来说,另存为图片分辨率不够,用PhotoShop处理之前也需要有足够清晰的原始图片,而且步骤比较多,这种情况下,用微软办公软件PPT进行图片加工是一个比较简便的方法。下面简要介绍该方法,我采用的工具是Excel2016和PowerPoint 2016,其他版本的使用方法大同小异。 1.更改注册表选项,设置PPT保存为图片的分辨率。一般我们将PPT另存为图片的时候,分辨率都是96dpi(图一),所以需要先更改注册表以改变其输出分辨率。按“win+r”进入运行框(图二),输入“regedit”进入注册表编辑界面,从左侧边栏依次找到: 计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\PowerPoint\Options,在右侧栏右击新建一个DWORD值,并命名为“ExportBitmapResolution”;双击该DWORD值编辑,因为一般杂志要求彩图分辨率至少为300dpi,黑白图为600dpi,因此这里我们输入值为十进制的600,如图三,这样另存PPT为图片后输出的结果就是600dpi了,下面我们来试一下。 2.设置PPT页面大小为设定大小: 设计 → 幻灯片大小 → 自定义大小。这里我把它设定成和Excel中作出来的图一样的大小,7.62cm*12.7cm。 3.将Excel中所做的图复制粘贴到设定好的PPT中,将PPT另存为图片格式,如JPEG、PNG或者TIFF,如图四。这时候我们可以看到输出的结果就是600dpi的了,如图五。 【参考资料】 Yam, C. S. (2005). Using PowerPoint tocreate high resolution images for journal publications. American Journal ofRoentgenology, 185(1), 273. 王旭科学网博客. 巧用Office生成高质量图片. http://blog.sciencenet.cn/blog-512365-551840.html 张玉茹科学网博客. 用PPT输出高质量图片. http://blog.sciencenet.cn/blog-713614-573508.html 李笃信科学网博客. 关于期刊投稿图片的处理方法. http://blog.sciencenet.cn/blog-89570-710312.html
4527 次阅读|1 个评论
Origin中如何将图片中的部分放大并置于右上角
junzhao37 2015-7-20 10:26
在制作图的过程中,经常会有将图片中某一部分放大的需求,这样使结果更能清楚的阐述。以下是在Origin中的操作方法: 原来的图做好之后, 鼠标 选择 放大器 ,同时按住ctrl 键,选择需要放大的区域,选择完成后,松开ctrl 就可以看到放大图,然后把放大的图移到你需要的位置,进行正常的操作即可。 信息整理自: http://emuch.net/html/201406/7495014.html
个人分类: Origin使用技巧|18647 次阅读|0 个评论
谈谈科技论文中复合图的制作
LetPubSCI 2015-4-20 09:23
翻开任意一本科技期刊,浏览一下各个论文的图表,我们会发现多数图(figure)都是复合图,也就是由多个小图片(panel)组成。有些期刊限制每篇文章图表的数量,只有使用复合图才可以把所有结果加入到图表中。那是不是只有这种情况才需要用复合图呢?其实不是,使用复合图可以更加集中,更有条理地表达你的结果,会使你的读者更容易理解你的论文。那么制作复合图时需要注意什么呢? 1. 如何决定哪些图可以放在一起组成一个复合图?这要根据图片所要表达的含义来决定。假设有这样一个试验:体外培养的成纤维细胞加入TGFβ刺激后,我们通过RT-PCR发现基因X的表达增加,Western blot 又发现蛋白X的水平也增加。那么这个RT-PCR和Western blot的结果就可以放在一个图里,因为它们都是说明TGFβ增强X的表达,这张图就有两个panel. 如果我们在mRNA和蛋白水平都分别做了TGFβ不同时间和不同浓度刺激的情况,这张图可能就变成了四个panel. 如果我们又做了免疫荧光染色,那我们可以再加一个panel. 总而言之,这张图表达的含义是TGFβ诱导X的表达。 假设我们下一步试图探索一下其中的机制,我们可以在实验体系中加入TGFβ受体的抑制剂;还可以用siRNA敲低SMAD1, SMAD2或者SMAD3来看一看TGFβ是不是通过canonical sigaling来诱导X的表达,具体通过哪个SMAD。这些关于机制的研究可以放在一起组成另一张图。通常一张图对应于结果部分的一个小节。 2.复合图的格式要求:图中的每个panel需要标上序号,一般期刊都要求用大写字母(A, B, C, D…),最好是用黑体。每个panel之间要留有一定的空白使它们相对独立,当然也要注意节省空白的空间。因为期刊对文章可能有页数限制,为了符合要求,期刊可能会缩小你的图表。对于同样大小的图来说,空白越多,每个图片所占的位置就越小,读者看起来就越困难。通常图片的顺序也和文字一样,从左到右,从上到下,如下面的图1. 但是如果图片的大小不一样,为了能将它们排得紧凑,先从上到下,再从左到右,也是可以接受的,如下面的图2. 当然你也可以把图2中小图片的序号改一下(比如将B和C对调)。但是要注意的是,在文中描述结果时,最好是按图片的序号依次提到这些图片,而不要跳来跳去的。也就是说,先说Figure 1A, 再说Figure 1B, Figure 1C, 等等。如果你改了图片的序号,可能相应要调整一下结果部分那几句话的顺序。 还要注意的是投稿时每一个复合图应该都已经组合好,一张图占一页纸,不要让你的读者(审稿人)翻了好几页才看完一张图。 3. 复合图的图表说明:复合图的图表说明(figure legend)首先要有一个小标题来总结这张图的结果,然后分别提到每个小图片就可以了。比如我们前面说的TGFβ诱导X表达的图,可以这样写说明: Figure 1. TGFβ induces X expression. Fibroblasts were stimulated with TGFβ at various concentrations for 24 h (A, C) or at 10 ng/ml for different periods of time (B, D). The mRNA levels of X were measured by RT-PCR (A-B), and the protein levels of X were measured by Western blot (C-D). 图表说明里没有必要重复对结果的描述(比如说在哪个浓度表达量最高,哪个时间点表达开始上升之类),因为你的读者可以从图里看出来。如果有什么特别需要提醒读者注意的可以加一句“Note that…”但是要少用,更多的应该是考虑什么样的图能让你的读者对你的结果一目了然,不需要你的特别提醒。 (此文由LetPub编辑原创,转载请注明来自LetPub中文官网: www.letpub.com.cn/index.php?page=sci_writing_31 ) 进一步了解, 请点击查看: www.letpub.com.cn SCI论文英语润色 │ 同行资深专家修改 │ 专业翻译 │ 格式排版整理 │ 联系我们
5102 次阅读|0 个评论
[转载]好的R作图全解。
yngcan 2015-3-16 21:30
值得好好学习 http://shinyapps.org/apps/RGraphCompendium/index.php A Compendium of Clean Graphs in R 1 Preface 2 Introduction 3 Correlations 3.1 The Electoral Advantage of Being Tall 4 Histograms 4.1 Including “rug” Tick Marks 4.2 Including a Density Estimator 4.3 Including Numbers on Top 5 Line Plots 5.1 Regular Line Plot 5.2 Box Plot 5.3 Violin Plot 5.4 Combined Line and Bar Plot 6 Bar Plots 6.1 Including Error Bars 7 Densities 7.1 Standard 7.2 With a Histogram on Top 7.3 Including Text 7.4 Another Example 7.5 Highlighting Specific Areas 7.6 More Highlighting of Specific Areas 7.7 Still More Highlighting 7.8 Density Ratios 7.9 Many Density Ratios 7.10 Stacked Densities 8 Functions 8.1 Plotting a Function 9 Time Series 9.1 A Diffusion Process 9.2 A Sequence of Choices 9.3 The Electoral Advantage of Being Tall Revisited 9.4 A Sequential Test on π 10 Multiple Panels 10.1 Two panel plot 10.2 Buffon’s Needle 10.3 Anscombe’s Quartet 10.4 Four Quite Different Panels 10.5 Nine-Panel Posterior Predictives 11 Graphs for JASP 11.1 11.2 11.3 11.4 11.5 12 Miscellaneous 12.1 Funnel Plot 12.2 Network Graph 12.3 Questionnaire Graph 13 References
个人分类: 利用R进行专利分析|2842 次阅读|0 个评论
ggplot2作图实例
wuzefeng 2015-3-1 17:28
ggplot2(学R的应该都知道)越来越受到多数科研工作者的青睐,然而在作图时复杂的参数设置让初学者“忘”而却步,本文以我分析的数据为例,详细介绍一下ggplot2作图的思路: 1.数据格式(.csv,格式)#即逗号分隔的两列数据(下面只列出部分数据) 1,T.urartu 1,T.urartu 2,T.urartu 2,A.tauschii 2,A.tauschii 2,A.tauschii 2,W A-genome 2,W B-genome ........... ........... ........... 89,A.tauschii 89,A.tauschii 89,A.tauschii 90,W A-genome 90,W D-genome #这里简单介绍一下我的数据来源于含义,第一列是90个转座子family(本人研究的是小麦基因组和小麦祖先A和D基因组中的转座子元件),每个family的数据有5个可能的来源,即T.urartu、A.tauschii、W A-genome 、W B-genome 和W D-genome(做小麦的都懂得(以现有的数据来说)),因此作图的目的就是想看一下每个family里面,这五个来源的比例。 思来想去,发现ggplot2中棒状图或柱状图函数p+geom_bar()比较适合, 所以直接上代码: library(ggplot2) #调用ggplot2(没有安装的请先安装) my_data-read.csv(’fam_sub_rename.csv',head=TRUE) #读取文件 label - list(expression(italic('A.tauschii')), expression(italic('T.urartu')),W A-genome,W B-genome,W D-genome) #设置图例的内容ps: 用expression函数的目的是斜体显示。 cbbPalette - c(palegreen4, coral4, wheat3, wheat2, wheat1) # 设置填充的颜色 gg_normal - ggplot(data = my_data, aes(x = factor(family), fill = source)) #确定数据以及坐标轴 gg_normal +geom_bar(position = fill) #颜色填充 +ggtitle(Distribution) #作图的main title +ylab(expression(paste(italic(Helitron ),Ratio))) #y轴标签名称 +xlab(expression(paste(italic(Helitron ),Family))) #x轴标签名称 +theme(panel.background=element_blank(),#去掉主题(个人认为默认主题颜色不太好,去掉更简洁) panel.grid.minor=element_blank(),#网格线也去掉 text = element_text(size=10),#所有文本相关属性参数设置 axis.text.x = element_text(size=5,colour = 'black',angle=90,vjust=0.5))#设置x轴刻度文本的参数(注意与上一个区别) +scale_fill_manual(values=cbbPalette,labels = label) #填充的内容 +coord_cartesian(ylim = c(0, 1)) #坐标系范围 最后直接上图
6452 次阅读|0 个评论
自由而无用的灵魂,阅读及写作的愉悦
热度 15 youmingqing 2014-10-24 12:15
0 学过平面几何的人都能出题目自己来做,学习也就具有了研究的性质。 1984 年我曾整理三角形作图问题,送给刚到农村初中任教的弟弟——学生问及好有个应对。前篇博文介绍了已知三高、三中线、三角平分线以及一边之高、中线和对角平分线的作图。 此情可待成追忆:中学平面几何 http://blog.sciencenet.cn/blog-275648-837601.html 应行仁老师说“几何题,所用到的知识 不多,妙在想对思路;一旦解出,清清楚楚无可辩驳”;李轻舟老师也说“ 探索性平面几何题(包括尺规作图 ) 的思维要求并不比一些‘科研’低 ”。因而 再给出两组三角形作图,并 说几句感想 。 1 已知三角形边 a 和对角 A ,作线段 BC = a 和 ∠ BCQ= ∠ A ,作 BC 的垂直平分线和 CQ 的垂线交 于点 O ;顶点 A 在以 O 为圆心、 OC 为半径的弦切圆上。 (1) 给定一边、一角以及中线 m a ,容易确定三角形。 (2) 给定高 h b ,则以 B 为心、以 h b 作圆;过 C 点作该圆之切线交圆 O 于点 A (3) 给定中线 m b ,则以 B 为心、 m b 为半径作圆,与 直径 OC 的圆交于 E ,延长 CE 交圆 O 于 A (4) 给定角平分线 t b 不能(?)以规尺作出三角形(说明省略)。 (5) 给定 t a , ATN 为角 A 平分线,记圆 O 半径为 R , MN=δ , AN=η ;基于三角形相似,有 δ / η= ( η – t a )/2 R , ( η – t a /2) 2 =( t a /2) 2 +2 Rδ 。 2 Rδ 等于 BN 平方,取 BF=FA’= t a /2 ,有 η=NA’ 2 已知边 a 和高 h a ,线段 BC = a ,再给一个条件可在与 BC 相距 h a 的平行直线 L 上确定顶点 A 。 (1) 给定一边、一角以及中线 m a ,容易确定点 A 。 (2) 给定高 h b ,则以 B 为心、半径 h b 作圆;过 C 点作该圆之切线交直线 L 于点 A (3) 给定中线 m b ,则以 B 为心、以 2 m b 在直线 L 上截取 A ’ ;而 AA’ = a ( 两解 ) (4) 给定角平分线 t b 不能(?)以规尺作出三角形 (5) 给定 t a ,可 如图 作 Rt Δ ADT ,记 ∠ T AD=γ, 有 h a = a , 即 sin A/ (cos A +cos2 γ )= a/ 2 h a ,记为 tan φ ,有 sin( A – φ )=sin φ cos2 γ ,可求得 ∠ A (似乎不够简明直接,敬请高人出手) 。 3 30 年前进行三角形作图时内心充满愉悦——复习过去所学并能有所收获;写作前述博文同样充满愉悦。看到应老师的评论“ 我初二时 ( 1961年 ) 自问自答一道尺规作图题:平面上任给一条直线和在直线同一边的两个点,要求画一个园过这两点与这直线相切 ”,随即想到“连接两点、延长与直线相交,交点至两点距离乘积为切线平方,确定切点(两解)”;并说“我知道了。我在文中提及割线定理,应老师特地来'点化'。谢谢应老师啦”。内心之愉悦不说可知。 AP 为直径 , DB ⊥ AP , 切线长 PC 1 =PD 后又见到应老师说“知道割线定理后,用尺规作图来实现,只需要一个小技巧”,也就会心一笑,没有说话:直角边平方等于其投影与斜边之乘积。随即就想到另一个题目:作圆过给定一点 P 并与两边相切——以图示相似变换即可实现。 这些该是中学数学教师的功课。我曾就岩石强度准则做过类似功课,最终写成 Comparisonoftheaccuracyofsomeconventionaltriaxialstrengthcriteriaforintactrock.InterJRockMechMinSci , 2011 , 48 : 852 – 863. 相关工作主要是增进自己的学术素养,尽管也提出单参数的正则抛物线准则和三参数的指数准则。 4 今年 6 月 27 日到复旦大学参加女儿的博士毕业典礼;听致词的一位同学说“复旦以自由和无用为灵魂”,颇有感触。我们确实过于功利——关心经费、关心项目、关心论文;许多人说研究的艰辛,说写作的困难,说发表的烦恼;而叙说读书、授课、写作之愉悦的却很少很少。 也许业绩考核使部分教师受压变形。学校制定的政策并不合情合理,可大家只能被动应付。就我所知,为了完成学校规定的业绩,少数同仁不得以申报没有新意的专利、发表没有读者的论文,内心充满苦痛而难以排解。 我曾多次说过,“我希望愉快地做一名正直的教师。因而,对于偏离正道的诱惑,抵御于内;对于偏离正道的逼迫,抗争于外”。当然,这并不容易,需要付出代价。 5 上周末回母校参加毕业 30 年聚会,大家叙说别后情形。我说,除了头发白了些,自己与 30 年前一样,没有什么变化呢。同学们竟认可我的说辞,有人说“社会变化啦,你不变怎行”。 许多同学知道我与勾 攀峰先生的争执,关切之情溢于言表。还好, 事情恰巧了结 。 ZWD 同学以兄长的口吻个别“教训”我有二十分钟之久,说“以后一定不允许这样”。不过, CW 同学在餐桌上所问“你这么干为什么?对你有什么好处”,使我略有些为难。我只得挺直腰、抬起头,说“不为什么。只是这样的事情总得有人去做啊。做成之后别有一种愉悦呢”。 6 我想,与 30 年前相比,现在的生活条件、工作环境已极大改善,需要的只是心态良好而已。也许,我们真该以“自由而无用的灵魂”,享受“阅读及写作的愉悦 ”。
个人分类: 教学|12826 次阅读|57 个评论
此情可待成追忆:中学平面几何
热度 12 youmingqing 2014-10-22 08:35
平面几何看似简单,学生能够问出的题目可不少呢。教师可真得有些准备才行啊。 尺规作图:被遗忘的思维体操 http://blog.sciencenet.cn/blog-217073-837265.html 1984 年下半年,我曾对三角形作图问题进行整理——Δ之边、角以及高、中线和角平分线之各种组合,寄给弟弟参考。 他刚刚师专毕业到农村初中任教数学 。 30 年过去了,相关内容还能清晰记得,略说几句供同好者回味中学时光。 (1) 已知三角平分线:不能以规尺作出Δ。 (2) 已知三高:作图基于Δ边长与高之乘积相等。以三高为边作Δ DEF ;再以该Δ之三高为边作Δ A’B’C’ ;最后对其相似变换至高为给定值即可。 或 从辅助圆 O 外一点 Q ,以三高为半径分别作圆与圆 O 相交;连接 Q 与交点之直线交圆 O 于另一点;以 3 个新交点与点 Q 间距离作Δ A’B’C’ ,其与所求Δ ABC 相似。 (3) 已知三中线:以 2/3 中线作 Δ MBD ,再如图延长其边长 DM 及中线 BE 即可( MC = BD )。 (4) 已知一边之高、中线及对角平分线: 作 Δ MDA 以及角平分线 AT ;延长 AT 与过 M 的 MD 垂线交于 N ;作 AN 之垂直平分线,与 NM 的延长线交于 O ,则 O 为所求Δ的外接圆之圆心;以 ON 为半径作圆交 MD 之延长线可得顶点 BC 。 这是我自己想出来的。不过,我觉得此前肯定有人做过,将来还会有人再做。 光线入射角与折射角之正弦比等于光速比,这是折射定律;其等价于光行最速即费马原理。我曾试图以几何方法证明而不得,见到 张志军博主的介绍真是高兴。因其博文没有作图而赘语如下。 张志军.光的反射和折射定律的初等证明思路 http://blog.sciencenet.cn/blog-1341067-794682.html 光线 AC 以角 α 入射, CB 以 角 β 折射;入射介质和折射介质的光速为 V 1 和 V 2 ,有 sin α /sin β = V 1 / V 2 。 D 为界面上任一点 ,作 DE ⊥ AC 和 DF ⊥ CB ;有 ∠ EDC = α , ∠ FDC = β 。因 DC = EC /sin α = FC /sin β ,有 EC / V 1 = FC / V 2 ;光线沿 ACB 用时为 AE / V 1 + FB / V 2 ,小于沿 ADB 用时。 D 点在 C 点另一侧证明过程相同. 我考虑过铅球最佳投掷角的初等求解,而见《力学与实践》介绍的方法似乎欠妥,也作文送到该刊而竟得采用。 铅球最佳出手角的初等解法及讨论 http://blog.sciencenet.cn/blog-275648-764192.html 我想,若是中学教师能够掌握上述知识,并介绍给学生,该是多好啊。 这不是什么研究,只是中学教师应该完成的功课。当然,大学教师同样有许多功课要做,与创新无关,与职称无关,与所谓的“业绩考核”无关。教师或许应以“ 称职、敬业而知耻 ”为努力目标;至于现在学校所要求的“项目、经费和获奖”,似乎并不是特别重要的东西。 家中没有圆规,不能进行线段量取,因而不能显示作图过程; 而扫描图片时挪动纸片,引起墨色脱落而影响整洁。 昨晚所做的事情,也不想再改。此情可待成追忆,只是当时已惘然。 已知三高的作图,也因没有圆规量取线段而不敢进行,只能以文字约略叙述。 应行仁 2014-10-22 13:17 我初二时,自问自答出了一道尺规作图题,平面上任给一条直线和在直线同一边的两个点,要求画一个园过这两点与这直线相切。后来到了工厂,与一大帮青工闲聊,出了这道题说只需要初二的知识,结果无人能答,几个理科大学生想了三天,认为不可能,我与他们打赌赢了一碗红烧肉。 几何题,所用到的知识不多,妙在想对思路,一但解出,清清楚楚无可辩驳。 博主回复(2014-10-22 14:13) : 应老师好。我花一分钟时间。 连接两点延长与直线相交,交点至两点距离乘积为切线平方,确定切点。 切点位置可在交点两侧,因而应该有两解。 我知道了。我在文中提及割线定理,应老师特地来“点化”。谢谢应老师啦。
个人分类: 教学|10337 次阅读|33 个评论
Prism GraphPad里更改 Y轴方向
gutbahn 2014-8-8 13:33
1.left button, single click the Y axis; right button, choose 'format axes' 2. choose the window of 'left Y axis' 3. Change the direction in 'gaps and directions' at the top of the panel.
个人分类: Phd Log|19079 次阅读|0 个评论
R 语言中折线图下带有柱形图的做法
热度 2 dugucan 2014-5-13 20:42
前几天帮同事作一幅统计图,要求折线图下带有柱形图。折线图描绘四组指标随着时间的变化,柱形图用来给出各个时间点不同组别的显著性标记。之前一直用 SPSS 和 Excel 作图,但是两种类型的图形合成在一块似乎不太好弄。试着用 R 语言画了一下,结果还看得下去。现将代码记录如下,方便以后粘贴使用。 library (ggplot2) graph1 - ggplot ( data = data1, aes ( x = factor (day), y = mean)) + geom_line ( aes ( group = group)) + #线图 geom_point ( aes ( shape = group), size = 3) + #点图 geom_bar ( aes ( y = me an/2, fill = group), colour = black, position = dodge ) + #柱形图 geom_errorbar ( aes ( ymax = mean/2 + se/2, ymin = mean/2, group = group), width = 0.2, position = position_dodge (0.9)) + #柱形图上误差棒 geom_linerange ( aes ( ymax = mean + se, ymin = mean)) + #折线图上误差竖线 geom_segment ( aes ( x = time - 0.05, xend = time + 0.05, y = mean + se, yend = mean + se)) + #折线图上误差横杠 geom_text ( aes ( y = mean/2 + se/2 + 3, label = note, group = group), position = position_dodge (0.9), size = 5, fontface = bold ) + #柱形图上显著性标记 scale_fill_manual ( values = c (black, #525252, #cccccc, white), labels = c (Ber Con, Ber SE, Qyuan Con, Qyuan SE)) + #填充灰色阶 scale_shape ( labels = c (Ber Con, Ber SE, Qyuan Con, Qyuan SE)) + #设置点图例 scale_x_discrete ( labels = paste ( c (0, 3, 5, 8, 12), day, sep = )) + labs ( shape = line, fill = bar, x = NULL, y = Body weight (g)) + #坐标轴标签 theme_bw () + theme ( panel.grid = element_blank (), legend.text = element_text ( size = 15), axis.title = element_text ( size = 20), axis.text = element_text ( size = 15), legend.title = element_text ( size = 15)) #白色主题 ggsave ( plot = graph1, filename = 0graph1.jpeg, width = 34.29, height = 15.84, units = cm) 做出来的图形如下:
个人分类: R 语言|27151 次阅读|2 个评论
通量数据的分析和模拟 Wolfram演示和R代码
zhuangwei 2014-4-11 17:11
在学习通量数据的分析和模拟的过程中,参考一下Schymanski的分享数据和模型代码,对我帮助很大,和大家分享。 下载网址 http://www.bgc-jena.mpg.de/bgc-theory/index.php/Group/OptCanopy 代码是用Wolfram Mathematica写的,Wolfram Mathematica非常适合数学运算的教学演示。从数据的分析,到水碳通量的模拟,作者一步步写出了,很清晰。结果发在了2007年的PCE。按照这个做,就好像是在手把手教。正版的Wolfram Mathematica只有30天的试用期。我把dataprep8i_web.nb前面的数据基本分析的内容,转成了R,供大家参考。 dataprep8i2.R 。 这段R代码是分析Schymanski的12 months of half-hourly eddy flux tower data中的HSdata090206_1yr.csv的。 HSdata090206_1yr.csv 是R读取的通量数据。 sunPosition.R 是计算太阳高度角的程序代码 PAR_Direct_Diffuse.R 是计算太阳辐射(包括光合有效辐射)中的散射光和直射光的分配。 请大家自行下载运行。运行前请确认已经安装package: ggplot2, xts, timeDate. 请把以上四个文件放在同一个文件夹中,根据你的路径修改dataprep8i2.R中的路径 path - E:\\data\\Schymanski\\dataprep8i_web\\ 图1 降雨年变化 图2 土壤含水量年变化 图3 日蒸散 这里用到了计算日平均(或者日总量)library xts中的apply.daily函数。 Daily_ET - apply.daily(Fdata.xts ,FUN=mean)*1/(2444444)*60*60*24 # ET mm/day 计算每月的蒸散量 Monthly_ET - apply.monthly(Fdata.xts *60*30,FUN=sum)*1/(2444444) # ET mm/month 图4 PAR 年变化 图5 将太阳辐射分配为直射和散射 具体方法请参考Schymanski 的博士论文 Transpiration as the Leak in the Carbon Factory: A Model of Self-Optimising Vegetation 中的Appendix 2.3 atmosphere forcing。 D_Schymanski_2007_Transpiration_as.pdf
个人分类: 科研工具|2918 次阅读|0 个评论
用origin为figure添加二维渐变色框
maocier 2013-12-30 17:09
在一些作图中需要为二维的figure添加渐变色框,有个师兄问到我,因为origin的画框没法渐变色填充,只能纯色填充(见下图1,图2)。 图一,工具条中的画框工具。 图二,然而对所画的框只能定义单色填充。 我当时说,要不把plot的figure输出,用photoshop添加渐变色条,这是我当时脑海第一个方案,因为在科研绘图中origin和PS作图是非常互补的。 —————————————以上为分割线————————————— 但骨子里还是有种用origin一站式解决问题的思维在脑海里,今天想到用origin plot的柱状图是可以渐变填充的,于是便想到如下的方法: 第一步,随便在表格中赋一组x、y值,plot成柱状图,去掉Axis、Legend等,只剩下柱状块。 图3,plot柱状图 图4,隐藏Axis等 图5,只剩下柱状块。 第二步,将此柱状块渐变填充(即改为,Increment;Gradient Fill选为Two Colors,此时可以定义渐变的两种颜色。)。 图6,修改渐变色填充的参数。 图7,渐变色条完成。 第三部,将此图层粘贴复制到需要渐变色条的Figure中,变换大小位置即可。 图8,粘贴复制到新Figure中。
31397 次阅读|0 个评论
研究论文作图(Figure preparation for research paper)
okxy 2013-10-9 22:51
写论文中作图花了不少时间,没有一个很好的hands-on的指导,摸索起来的不太容易。 所以记下一些心得,希望对于准备论文的朋友有所帮助。
个人分类: 科学文化|1 次阅读|0 个评论
谈谈gnuplot(九):输出 eps 图片
热度 1 yusufma 2011-10-20 02:33
到目前为止,我们所有的gnuplot作图都只是输出到电脑屏幕上。如果要在我们的文档里使用这些图片,我们必须把它们以某种文件格式存储下来。前面已经介绍过,gnuplot里面控制图像输出方式的命令是 terminal 。我们这次就讲一下如何把图片输出为 eps 文件。 之所以首先选择 eps ,是因为大量科学技术文档使用 LaTeX 来编辑排版,而 eps 是 LaTeX 最常用的图片格式,支持高质量的矢量图形,并且可以方便的转换为 pdf 、 svg 等其他常用格式。 首先,让我们看看如何设置 terminal 。在gnuplot里输入下面的命令: gnuplot set terminal postscript eps 这里的 terminal 其实是 postscript ,而 eps 是作为 postscript 的一个参数。这并不奇怪,因为 eps 本来就是 postscript 衍生出来的。输入这个命令之后,gnuplot会自动返回下面的信息: 这里给出了一些默认的其它参数。gnuplot下的每一个 terminal 所带的参数不完全相同,一些参数只针对某一 terminal 。我们只需要知道一些常用 terminal 的常用参数,而其它的 terminal 和参数,我们可以在使用的时候通过 help 命令查询。现在我们暂且不管这些参数,先画一个图试试。还是用我们上次用过的降水量数据文件: gnuplot set xlabel "Month" gnuplot set ylabel "Precipitation (mm)" gnuplot set xrange gnuplot set xtics 1,1,12 gnuplot set output "precipitation.eps" gnuplot plot "precipitation.dat" using 1:2 w lp pt 5 title "Beijing", "precipitation.dat" using 1:3 w lp pt 7 title "Shanghai" gnuplot set output gnuplot set term wxt 这里我们没有使用中文标签,因为在 postscript 使用中文字体并不容易。以后我们会介绍如何绕过这个障碍。 第五行有一个新命令: set output 。这没什么多说的,就是指定输出文件的文件名。第七行还有一个 set output ,但是后面没有跟任何文件名。这其实是告诉gnuplot,这个文件已经输出完毕,可以关闭了。另外也可以用 unset output ,其实是相同作用。之所以这么做,是因为有些 terminal 支持多页文件,所以在画完图之后,gnuplot并不自动关闭文件,等待你输入下一页内容,除非你手动关闭,切换 terminal ,或者退出gnuplot程序。 最后,别忘了把 terminal 切换回屏幕显示,这样可以避免一些意想不到的事情发生。注意:我们又用缩写了! 下面让我们来看看生成的 eps 文件吧: 这个图像可能并不是我们想要的。有几个地方我们想要修改一下: 这个图是黑白的!我们想要彩色图。 有一组连线是虚线。这也难怪,黑白图如果不用虚线,还真分辨不出来。但我们想要彩色实线。 让直线稍微加粗一点。 标签文字显得小了些,我们想要大一点的字体。 我们来重新画一下这个图: gnuplot set terminal postscript eps color solid linewidth 2 "Helvetica" 20 gnuplot set output "precipitation-color.eps" gnuplot replot gnuplot set output gnuplot set term wxt 这里我们用 color 参数表示我们要彩色图, solid 表示我们要实线不要虚线, linewidth 参数指定 2 倍线宽,而最后指定使用 Helvetica 20 号字体。让我们来看看新生成的 eps 文件: 这里的字体为 postscript level 2字体,共有35种。除了 Helvetica ,常用的还有 Times-Roman 。如果硬要多记两个字体名字,就记住 Courier 和 Symbol 吧。 Courier 是编程时常用的等宽字体,而 Symbol 字体可以用来显示希腊字母。如果你实在好奇还有哪些其它字体,可以看看下面的网页链接: http://xfig.org/userman/attributes.html#font-panel
个人分类: 开源软件|26720 次阅读|2 个评论
用JavaScript作图表一例
热度 1 jiangxun 2011-9-17 05:21
作者:蒋迅 这是我的朋友 Ben Lorica 利用一个作图的JavaScript包 d3.js 制作的几个图表。下面是几张截图。由于我无法嵌入JavaScript,所以不能动态地显现出他的图表。只好请大家到他的网站上去测试。我在图下面都给了连接。 U.S. Income Inequality: Share of Top Earners (1917-2008) 2010 U.S. Census Survey: Income by Ethnicity and Gender Diversity the 2010 Census 这个图类似于我曾经介绍过的“ 美国种族分布图 ”。 Ben Lorica 是一位数据工程师。他在 奥莱理媒体 任高级研究员,还开创了自己的公司 Verisi Data Studio 。我曾经写过一篇“ 新生的一类科学家 ─ 数据科学家 ”,就是在他的启发下写成的。
个人分类: 科技|6154 次阅读|4 个评论
[转载]做好统计图的20个建议
zhangdong 2010-12-9 08:51
原链接为: http://hi.baidu.com/%C7%E5%B7%E7%BF%CD_kj/blog/item/919cd89bdb36b9b8c9eaf4a1.html 1. 使用矢量图,如 eps 或 pdf 格式。 2. 使用易辩认的字体。对图表来说倾向于使用无衬线的字体如, Helvetica or Arial 字体。 3. 避免零乱的图例。如可能直接在图形元素上予以标注。实在要用图例也应尽量保持小而整洁。 4. 必须用图例的话,应将其放在图形的空白处。 5. 不用深色背景。白色背景打印出来的效果更好。 6. 不用深色的网络线。 7. 合适的坐标长度,以免给图形留出大量空白。 8. 确保适当的坐标刻度。特别是水平轴要注意区分分类变量和连续变量。 9. 不要忘了数据的单位。 10. 坐标间距应是合适的整数。 11. 坐标轴的标注应适当。 12. 图表的线应有足够的宽度,不至于缩小时不清楚。 13. 避免文本覆盖到图表的元素。 14. 简洁明了,保持高的数据墨水比。 15. 图表应该一目了然,固应有清晰的文字说明。 16. 图表的长宽比例适当,推荐为 1.6 : 1 17. 如需要公开发表需提前准备好图形的尺寸,变形了的字体看起来很糟 糕。 18. 如果变量间并无相关,使用点较线更为合适。 19. 使用图的目的一般是用于比较,所以各图应统一标准,可能的话将图 合成在一张上。 20. 尽量少用饼图,尤其是 3-D 饼图。
个人分类: 生活点滴|2657 次阅读|0 个评论
浅谈Origin批量作图
热度 4 konghui 2010-3-14 18:38
摘要部分: 本文介绍的技术适用于大量、重复地对某一类数据的作图任务。 简单来说,如果你需要对1000种不同参数下的度分布数据作1000幅度分布或者累计度分布的图,那本文可以有些帮助。 软件:Origin 如果你用Origin8的话,那就更好了。 Origin其他版本可以参考,8以前的Origin菜单项目只会比8少。 先给个效果图: 这副图是根据累积度分布数据: Node 8050 Total 10000 Parameter M=5 DR=0.05 GR=0.05 R=0.1 10 1 11 0.999875 12 0.999125 13 0.996375 …… 33 0.000625 34 0.00025 这种单个文本画出的。数据分为两部分,前三行为参数,也就是得到这个数值模拟结果的参数(可选,后面将介绍如何自定义),第二部分当然是数值的结果啦(这里以累积度分布举例,第一列是度数据,第二列是累积概率)。 所需材料准备: 基于Labtalk语言的C文件,信息过滤文件OIF,和作图模板OTP,如下图所示,另外还需要数据表模板OTW,存放在Origin的目录下。 Origin安装目录\Samples\Programming\Automation(适用于安装版的Origin7.5),至于精简绿色版和其他版本,可以直接套用,本文已附 Origin官方样本Automation.rar,点此下载 。 制作过程: 1、 数据表模板OTW文件: 以累积度分布为例,首先打开Origin8(貌似是句废话),新建一个Workbook,然后按照自己的喜好自定义吧。 Workbook是用来存储导入的数据,为下一步处理和画图做准备的,所以还是要跟数据文件保持相同样式(对累积度分布,就是两列数据),如图示: 如果想显示数据中的参数,把菜单Edit - Button Edit Mode勾上,添加可见的文本“Parameter:”和“Node”,在自己选定的位置上再新建文本,敲敲空格就可以了,选中这个文本,右击鼠标 - Programming Control,出现: 尤其要在Object Name上写你希望显示的变量名字,我当然是要它显示Node的数字8050和Parameter的“M=5 DR=0.05 GR=0.05 R=0.1”了,还可以在Mouse Click里锁定这些显示的位置,这样在查看数据的时候就不会把参数什么的已经排布好的地方拖乱了。 编辑完后,退出Button Edit Mode,另存这个Work book:菜单File - Save Template As,选个存放地址再给个文件名,就好了。 2、 绘图模板文件OTP: 跟前面OTW的步骤很多雷同,我就简单介绍下了。 新建个Graph文件,做一个空数据的图,然后同样地,进入Button Edit Mode,编辑完之后另存为模板文件OTP。 再贴个完整的OTP的图样: 3、 编辑C文件: 这么高深的C文件,当然是拿模板里的修改最方便了,其中有一句: // Set up name of custom template to be used for creating a graph 先把第2步编辑的OTP文件找个新文件夹存着,如“sample”把下面接着的那句改成OTP文件的地址。注意,这里地址用的是\\而不是\。如: string strGraphTemplateName = "C:\\Users\\Kong hui\\Desktop\\sample\\Cumulative Degree Distribution(Log-log).otp" ; 还有一个地方: // First build name for bmp file 这里可以定义输出图像的名称和存放地址,同样,我们定义到sample文件夹。 string strImageFileName ="C:\\Users\\Kong hui\\Desktop\\sample\\" + strNode + ".bmp" ; 后面还有一部分: // Use LabTalk Image object using Image = LabTalk.Image; // access Image object Image.FileName$ = strImageFileName; // set export file name Image.ShowOptions = 0; // turn off options dialog Image.Export.PagePixel( "bmp ", 1024, 768, 32, 0 ); // perform export 这里可以定义图像格式、分辨率、色彩,等等。功能多多,没事的时候可以多调几个玩玩。 4、 信息过滤文件OIF(最麻烦的部分): 首先把前一步制作的OTW文件复制到Origin.exe那个文件夹里,在Origin里通过菜单File - Import - Import Wizard调出文件导入向导,指向我们的Sample.txt数据文件,在Template这里选刚才放好的数据表样板(如下图),然后下一步。 接下来是导入的文件如何命名的问题,这里我选worksheet with variable - Node, 下一步勾Specify location of variable names and values using delimiters定义我们的系统变量,到自定义页面: 这里我们有3组变量:Node、Total和Parameter,搞定后下一步到最后的保存页面,记得一定要勾Save filter,否则第4步就得全部重来一遍。 勾最后的过滤选项,下一步后,输入如下命令: // OC file is located in Subfolder - first build path to this file %a=C:\; %b=Users\Kong hui\Desktop\sample\Cumulative Degree Distribution (Log-Log).c; %z=%a%b; iErr = run.LoadOC("%z"); if(0 != iErr) { type -b Could not load and compile Origni C file to perform post-processing.; break; } Doitnow13(); // 这里的Doitnow13也可以是其他的一些名字,看各位在第三步的C文件里定义的程序名了。 Check:在sample文件夹里应该有一个OIF、一个OTP和一个C文件。另外还有个数据文件sample.txt,其内容如本文开始介绍的那样。 新开一个Origin窗口,把里面的Folder1和Book1全部删掉,然后把sample.txt拖到Origin窗口里,sample文件夹里出现个新的bmp图像,就是本文的第一张图啦。 再看看origin里的数据: 大功告成,谢谢观赏! 批量画图?? 多找几个相同类型的数据文件么(多复制几个“sample.txt”么,顺便把里面的数据少许改下)。 一起拖进Origin里,是不是很快就给这些数据画好图了:) 技术指标: 一次最好不要超过200张,否则等待的时候会相当无聊。 超过400张/次,Origin8会有一半的概率无响应,概率大小依电脑性能而定。 本文中的一些图片上有个图标,我从头到尾都没介绍过,不知道哪位能指出它的出处呢?呵呵,知道的应该都是职业玩家,顺便拿那个图标当水印了。 顺便祝明天的我阳历生日快乐,祝下周日的我阴历生日快乐。 一年多以前搞这个技术也花了我的不少时间,而且国内迄今为止没有任何书和资料对这部分做过这么详细的介绍。 一切转载、引用事项请注明出处,并需征得我同意。 联系方式: konghui@nuaa.edu.cn ,或者在博客中短消息。
个人分类: 纯技术|39586 次阅读|4 个评论
测光-作光变曲线图总结
dabing 2009-11-7 22:48
根据已知的数据画光变曲线的总结 第一阶段: 1、把相应要用到的五个数据源(expt、flist、res.dat、utime、coord.dat)整理出 来; 2、修改coord.dat。根据XX网络已知星的参数,选取与目标星参数比较接近的星作比较星,删除coord.dat文件前面 的信息,将比较星提前(可选9颗提前)。 3、修改expt。根据程序中读取的数值,需更改格式如(EXPTIME = 20.000000这之间的空格应与程序的读出位 置一致) 4、修改res.dat。根据程序中读取的数值,需更改格式。如 (QXAnd_B_0000.fit 284.282 186.516 14.493 0.009) 第二阶段: 1、建立相应的数据存放文件,将an文件下的(sofe pag)中的fortran程序拷入其中; 2、得出的五个数据源拷入刚建立的目录中; 3、修改程序,编译读出数据(主要用到fmtlst.f 和 getlcc.f,要会读其中的变量,学会改数据)。 4、编译plot.f。应与pgplot建立起相应的环境变量操作如下: sudo gfortran -o plot plot.f -L/usr/local/pgplot -L/usr/local/X11R6/lib -lpgplot -lX11 ;编译plot.f文件,使其与pgplot和X11R6建立关联 6、运行下列程序画出光变曲线: export PGPLOT_DIR=/usr/local/pgplot ;导出的目录 export PGPLOT_DEV=/Xserve ;显示的设备 ./plot ;在运行另一文件夹中编译好的plot文件 7、根据画出的光变曲线图选取较好的比较星作光变曲线图。此时会产生一个tmp临时文件,用于后面kw程序执行。 8、执行 ./kw 程序,取出minimum times。会让输入文件 (tmp),然后有问是否擦除bad point,(一般选NO),用鼠标选取最小值的范围,会等到某一范围内的极小值。依次对第一天的数据这样做,将得到的极小值放入一个mini的文件中。 9、编译epoch,运行 ./epo 程序,会让输入数据文件(将mini输入),还会输入周期p,T0。最后产生一个tmp临时文件。 10、编译oc1.f,将tmp和oc拷入pgplot目录下,运行oc会得到EPOCH-L(o-c)图。 2009-11-24于河北兴隆
个人分类: IRAF测光|6121 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-6 03:07

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部