duangsuse::Echo
#Ruby 弄了半天我才知道 Ruby 里 Enumerator 还可以 with_index... 😂 还可以 map(Enumerator).with_index { |a, i| }...
require 'gnuplot'
xs = []; ys = []
_dataset = r.map { |it| it['published'] }
ps = _dataset.sort_by { |d| d.day }.reverse.each { |k| xs << k.day; ys << _dataset.count { |it| it.day == k.day } }
Gnuplot.open do |p|
Gnuplot::Plot.new(p) do |plot|
plot.title "duangsuse::Echo message publish time (all #{ys.size}, day from #{xs.min} to #{xs.max})"
plot.xlabel "day (1-31)"
plot.ylabel "messages count"
plot.data << Gnuplot::DataSet.new([xs, ys]) do |ds|
ds.with = "points"
ds.notitle
end
end
end
然后就可以画出类似下面的统计折线图: 🤔 #Ruby #Gnu #stat #Learn需要注意的是,gnuplot 比较底层和原始,它不会自动帮你处理好数据集合排序(如果需要的话,比如这里就需要)
弄不好会生成瞎* 🐔 折线图,会包含『反折』的线条角度...
Ruby 的 gnuplot Gem 很简单,之需了解 DataSet 和 Plot、GnuPlot 程序命令行接口的抽象即可
Plot 是图座标系的抽象,包含
title(图表名)、xlabel 和 ylabel,也可以设置初始 xrange,它包含的折线们就是 data 数组DataSet 就是要往 Plot 上画的点集合,每个新画上去的点都有一个 x value 和 y value(可以作为一个 xvalue, yvalue 数组传入
new),并且如果要连线就会和上一个点连接。DataSet 可以指定是
with 'lines' 'points' 还是 'linespoints'可以指定
linewidth 和 title(这条折线的 title)也可以 notitletelegramscanner_with_rb.zip
186.9 KB
好了,那么这周这个工程就这些。( 😃
🤔 所以,我们可以用 echarts 来完成更好的可视化需求(
依然是折线图,还是 187 个数据,我们看看使用 echarts 怎么样,待会发 html.
依然是折线图,还是 187 个数据,我们看看使用 echarts 怎么样,待会发 html.
差点忘了发 #share 结果图,gnuplot 完成度比较... 呃,或者说 GUI 功能有点限制,不好用,只能导出成这样,待会会有好的。
duangsuse::Echo
🤔 所以,我们可以用 echarts 来完成更好的可视化需求( 依然是折线图,还是 187 个数据,我们看看使用 echarts 怎么样,待会发 html.
我们使用条形图。 🤔
条形图的 xAxis 是时间,可缩放,yAxis 是这个时间里的消息条数。
基于这种需求,我们首先拿到数据点集合:
条形图的 xAxis 是时间,可缩放,yAxis 是这个时间里的消息条数。
基于这种需求,我们首先拿到数据点集合:
data = collect { |it| it['published'] }.map.with_index { |p, i| [self[i], p] }.sort_by(&:last)
result data.map(&:last).yield_self { |t| t.map { |s| [s, t.count(s) ] } }
puts result.to_json
这样就拿到了时间和条数的 pair 二维数组 🐱#statement #MS 比尔·盖茨的编程水平怎么样?算得上是大师级别吗? - 慕容渊的回答 - 知乎
https://www.zhihu.com/question/20105182/answer/30110837
其实这个人呐,观点会和自己的视角有很大连系。
以前我对 Gates 只知道他是『微软的创始人、哈佛辍读』,所以我硬以为他『只不过』是个成功的商人
后来我知道他开始修改了 DOS(虽然还是从别人那买的)、写了 Basic 解释器(现在我才知道还包含基础 IO 系统、文本编辑器,而且只要 4Kbyte 内存,还是基本在卡带上写的)
我对他的看法就是一个普通的程序员
再后来我学了更多东西,我再也不敢轻易评价他了,如果别人问我,我会说:
我不是很了解他,他从哈佛退学,建立了微软公司,微软是个很不错的公司,我知道他早些时候写过 Basic 解析器,买了 DOS 并且以一种聪明的方式利用它赚了很大一笔钱,但是就技术上我对他了解的不够,我想他应该是一个很不错的技术人员。
这可能就是视野的区别吧。 🤔
其实计算机科学明明是件很生活的东西,居然和问学上某些人对哲学观点的看法都有类似之处。
;;;;
https://www.zhihu.com/question/20105182/answer/30110837
其实这个人呐,观点会和自己的视角有很大连系。
以前我对 Gates 只知道他是『微软的创始人、哈佛辍读』,所以我硬以为他『只不过』是个成功的商人
后来我知道他开始修改了 DOS(虽然还是从别人那买的)、写了 Basic 解释器(现在我才知道还包含基础 IO 系统、文本编辑器,而且只要 4Kbyte 内存,还是基本在卡带上写的)
我对他的看法就是一个普通的程序员
再后来我学了更多东西,我再也不敢轻易评价他了,如果别人问我,我会说:
我不是很了解他,他从哈佛退学,建立了微软公司,微软是个很不错的公司,我知道他早些时候写过 Basic 解析器,买了 DOS 并且以一种聪明的方式利用它赚了很大一笔钱,但是就技术上我对他了解的不够,我想他应该是一个很不错的技术人员。
这可能就是视野的区别吧。 🤔
其实计算机科学明明是件很生活的东西,居然和问学上某些人对哲学观点的看法都有类似之处。
;;;;
Zhihu
比尔·盖茨的编程水平怎么样?算得上是大师级别吗? - 知乎
1. 单是写basic解释器这一点,就已经值得普通程序员膜拜了。如果你是程序员听不懂我在说什么,我觉得你最…