我想用一个色标来可视化/绘制数据,代表 GIC.Fish 和 GIC 中的值。按 Dive.Number 缩放列。这有点像相关矩阵或热图,除了 Fish 和 Zoop 值彼此不相关,而是与潜水次数相关。以下数据是数据帧"temp"。
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | [1,] 1 0.83 0.37 [2,] 2 0.88 0.41 [3,] 3 0.98 0.57 [4,] 4 0.90 0.43 [5,] 5 1.00 0.58 [6,] 6 0.92 0.44 [7,] 7 0.71 0.33 [8,] 8 0.99 0.55 [9,] 9 0.94 0.47 [10,] 10 0.95 0.48 [11,] 11 0.91 0.44 [12,] 12 0.96 0.50 [13,] 13 0.86 0.39 [14,] 14 0.94 0.47 [15,] 15 0.91 0.43 [16,] 16 0.89 0.41 [17,] 17 0.92 0.45 [18,] 18 0.94 0.47 [19,] 19 1.00 0.59 [20,] 20 0.96 0.53 [21,] 21 0.96 0.52 [22,] 22 1.00 0.68 [23,] 23 0.99 0.73 [24,] 24 0.98 0.77 [25,] 25 0.96 0.80 [26,] 26 0.83 0.98 [27,] 27 0.72 1.00 [28,] 28 0.98 0.77 [29,] 29 0.44 0.73 [30,] 30 0.29 0.44 [31,] 31 0.31 0.48 [32,] 32 0.64 0.97 [33,] 33 0.08 0.04 [34,] 34 0.09 0.05 [35,] 35 0.61 0.96 [36,] 36 0.36 0.59 |
这段代码让我有点接近,但只有一列相关数据。
2 3 4 | geom_tile() + scale_fill_gradient2(midpoint=.5, low="blue", high="red") + guides(fill=FALSE) |
这让我更接近了,但我不想要 Dive Number 列,也不想在单元格中显示实际值,我希望能够更改颜色栏中的颜色。
2 3 4 5 6 | con = gzcon(url('http://www.systematicportfolio.com/sit.gz', 'rb')) source(con) close(con) as.matrix(temp) plot.table(temp, highlight=TRUE, colorbar=TRUE) |
这是你所追求的吗?假设您的数据是
2 3 4 5 6 7 8 | library(reshape2) dat.m <- melt(dat, variable.name ="GIC.type", value.name ="GIC") p <- ggplot(dat.m, aes(GIC, Dive.Number)) + geom_point(aes(colour = GIC)) + scale_colour_gradient(low ="blue", high ="red") + facet_wrap(~GIC.type) p |

编辑
根据您的评论,也许这更像您的想象:
2 | scale_fill_gradient(low ="blue", high ="red") |

(警告。不是 ggplot2 创作。我从来没有学会用那个模型思考。)我想你可能正在寻找一个可以用颜色编码的二维密度地图,所以我绘制了 GIC.Zoop 和 GIC.Fish。从该结果生成密度图的概念似乎不符合数据的模式,因此我画了线以查看是否存在明显的序列。然后我用 Dive.Number 标记点,用颜色编码:
2 3 4 5 | with(dat, lines(GIC.Fish ~ GIC.Zoop) ) with(dat, text(GIC.Zoop, GIC.Fish+.05, labels=Dive.Number , col= colorRampPalette( c("#FFFFD4","#FED98E","#FE9929", "#D95F0E","#993404"), space ="Lab")(36)[Dive.Number]) ) |

您可以尝试颜色过渡。此颜色矢量提供更多对比度:
我有一大串格式化数据(例如JSON),我想使用Psychinruby同时保留格式转储到YAML。基本上,我希望JSON使用literalstyle出现在YAML中:---json:|{"page":1,"results":["item","another"],"total_pages":0}但是,当我使用YAML.dump时,它不使用文字样式。我得到这样的东西:---json:!"{\n\"page\":1,\n\"results\":[\n\"item\",\"another\"\n],\n\"total_pages\":0\n}\n"我如何告诉Psych以想要的样式转储标量?解
我正在为一个项目制作一个简单的shell,我希望像在Bash中一样解析参数字符串。foobar"helloworld"fooz应该变成:["foo","bar","helloworld","fooz"]等等。到目前为止,我一直在使用CSV::parse_line,将列分隔符设置为""和.compact输出。问题是我现在必须选择是要支持单引号还是双引号。CSV不支持超过一个分隔符。Python有一个名为shlex的模块:>>>shlex.split("Test'helloworld'foo")['Test','helloworld','foo']>>>shlex.split('Test"
我即将开始一个将录制和编辑音频文件的项目,我正在寻找一个好的库(最好是Ruby,但会考虑Java或.NET以外的任何库)以进行实时可视化波形。有人知道我应该从哪里开始搜索吗? 最佳答案 要流入浏览器的数据量很大。Flash或Flex图表可能是唯一能提高内存效率的解决方案。Javascript图表往往会因大型数据集而崩溃。 关于ruby-Ruby中的波形可视化,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c
我有带有Logo图像的公司模型has_attached_file:logo我用他们的Logo创建了许多公司。现在,我需要添加新样式has_attached_file:logo,:styles=>{:small=>"30x15>",:medium=>"155x85>"}我是否应该重新上传所有旧数据以重新生成新样式?我不这么认为……或者有什么rake任务可以重新生成样式吗? 最佳答案 参见Thumbnail-Generation.如果rake任务不适合你,你应该能够在控制台中使用一个片段来调用重新处理!关于相关公司
我发现自己需要这个。假设cart是一个包含用户列表的模型。defindex_of_itemcart.users.each_with_indexdo|u,i|ifu==current_userreturniendend获取此类关联索引的更简单方法是什么? 最佳答案 indexArray上的方法与您的index_of_item方法相同,例如cart.users.index(current_user)返回数组中第一个对象的索引==给obj。如果未找到匹配项,则返回nil。 关于ruby-on-
因此,当我遵循MichaelHartl的RubyonRails教程时,我注意到在用户表中,我们为:email属性添加了一个唯一索引,以提高find的效率方法,因此它不会逐行搜索。到目前为止,我们一直在根据情况使用find_by_email和find_by_id进行搜索。然而,我们从未为:id属性设置索引。:id是否自动索引,因为它在默认情况下是唯一的并且本质上是顺序的?或者情况并非如此,我应该为:id搜索添加索引吗? 最佳答案 大多数数据库(包括sqlite,这是RoR中的默认数据库)会自动索引主键,对于RailsMigration
我在我的rails应用程序中安装了来自github.com的acts_as_versioned插件,但有一段代码我不完全理解,我希望有人能帮我解决这个问题class_eval我知道block内的方法(或任何它是什么)被定义为类内的实例方法,但我在插件的任何地方都找不到定义为常量的CLASS_METHODS,而且我也不确定是什么here,并且有问题的代码从lib/acts_as_versioned.rb的第199行开始。如果有人愿意告诉我这里的内幕,我将不胜感激。谢谢-C 最佳答案 这是一个异端。http://en.wikipedia
我想用sunspot重现以下原始solr查询q=exact_term_text:fooORterm_textv:foo*ORalternate_text:bar*但我无法通过标准的太阳黑子界面理解这是否可能以及如何实现,因为看起来:fulltext方法似乎不接受多个文本/搜索字段参数我不知道将什么参数作为第一个参数传递给fulltext,就好像我通过了"foo"或"bar"结果不匹配如果我传递一个空参数,我得到一个q=*:*范围过滤器(例如with(:term).starting_with('foo*')(顾名思义)作为过滤器查询应用,因此不参与评分。似乎可以手动编写字符串(或者可能使
假设我有一个可枚举对象enum,现在我想获取第三个项目。我知道一种通用方法是转换成数组,然后使用索引访问,如:enum.to_a[2]但这种方式会创建一个临时数组,效率可能很低。现在我使用:enum.each_with_index{|v,i|breakvifi==2}但这非常丑陋和多余。执行此操作最有效的方法是什么? 最佳答案 你可以使用take剥离前三个元素,然后剥离last从take给你的数组中获取第三个元素:third=enum.take(3).last如果您根本不想生成任何数组,那么也许:#Ifenumisn'tanEnum
在我的场景中,Logstash收到的系统日志行的“时间戳”是UTC,我们在Elasticsearch输出中使用事件“时间戳”:output{elasticsearch{embedded=>falsehost=>localhostport=>9200protocol=>httpcluster=>'elasticsearch'index=>"syslog-%{+YYYY.MM.dd}"}}我的问题是,在UTC午夜,Logstash在外时区(GMT-4=>America/Montreal)结束前将日志发送到不同的索引,并且索引在20小时(晚上8点)之后没有日志,因为“时间戳”是UTC。我们已