toji 2.3.1 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c2b379b857923729bb7cc1d3e9dc901537c7724876d13464da420fca8887ef41
4
- data.tar.gz: 99a62648b6353e647d3d2813b18d12cc7f5feb8111465aa5e9176aff4678d9c3
3
+ metadata.gz: 230074f3cfc1c17026ac87d7c6ccd0268a75f4dc5fe23e2c3fceaffc3c7dd426
4
+ data.tar.gz: 82e735ce458faced833dc0c1c40443a43d0d486e9663837d7040388336a7f3db
5
5
  SHA512:
6
- metadata.gz: 49e142c89f5a43181cbe02a3c2f771d999302fa548b672fa000ac278daf6f09e5823d33a20611833d1b4f19a6c2a6dfade767df0cff766ca5248b47054ca10bc
7
- data.tar.gz: 29d1955a3e00c7d78e3cda9f5072dbb7bc63b803cbc28ffb9dc0652eaf33750a63b4bb588e361781d922b912082c6b3438fc2ac3212b306d9fee0cedf83f8278
6
+ metadata.gz: cda9a70705ef31fcfd903f00f217038e048a4a85f8253895d14050b97cf61984151077f718a635102b07f766a0a7ad79ab413e4b76baa37177305cccb0ffe271
7
+ data.tar.gz: cfe743bbc06280ecfb41a0d208b959efcff8c69d757cbafde3595cd7278a825f5971c76f6ee5dc114e0d8b645d7903972024d5d415117349ad15bea4a3ae9ae8
@@ -302,7 +302,7 @@
302
302
  " name: \"仕1\",\n",
303
303
  " description: \"姫野国夫による酒母省略仕込\",\n",
304
304
  " recipe: Example::Recipe::TEMPLATES[:simple_sokujo_himeno].scale(600).round(0),\n",
305
- " start_date: Time.mktime(2020, 2, 24)\n",
305
+ " base_date: Time.mktime(2020, 2, 24)\n",
306
306
  "))\n",
307
307
  ".add(Example::Product.create(\n",
308
308
  " name: \"仕2\",\n",
@@ -311,7 +311,7 @@
311
311
  " r.steps[0].kake_interval_days = 5\n",
312
312
  " r.steps[2].kake_interval_days = 3\n",
313
313
  " },\n",
314
- " start_date: Time.mktime(2020, 2, 27)\n",
314
+ " base_date: Time.mktime(2020, 2, 27)\n",
315
315
  "))\n",
316
316
  ".add(Example::Product.create(\n",
317
317
  " name: \"仕3\",\n",
@@ -320,13 +320,13 @@
320
320
  " r.steps[1].koji_interval_days = 11\n",
321
321
  " r.steps[1].kake_interval_days = 13\n",
322
322
  " },\n",
323
- " start_date: Time.mktime(2020, 2, 20)\n",
323
+ " base_date: Time.mktime(2020, 2, 20)\n",
324
324
  "))\n",
325
325
  ".add(Example::Product.create(\n",
326
326
  " name: \"仕4\",\n",
327
327
  " description: \"酒造教本による標準型仕込配合\",\n",
328
328
  " recipe: Example::Recipe::TEMPLATES[:sokujo_textbook].scale(900).round(0),\n",
329
- " start_date: Time.mktime(2020, 2, 20)\n",
329
+ " base_date: Time.mktime(2020, 2, 20)\n",
330
330
  "))\n",
331
331
  ".add(Example::Product.create(\n",
332
332
  " name: \"仕5\",\n",
@@ -335,13 +335,13 @@
335
335
  " r.steps[1].koji_interval_days = 11\n",
336
336
  " r.steps[1].kake_interval_days = 13\n",
337
337
  " },\n",
338
- " start_date: Time.mktime(2020, 2, 27)\n",
338
+ " base_date: Time.mktime(2020, 2, 27)\n",
339
339
  "))\n",
340
340
  ".add(Example::Product.create(\n",
341
341
  " name: \"仕6\",\n",
342
342
  " description: \"酒造教本による標準型仕込配合\",\n",
343
343
  " recipe: Example::Recipe::TEMPLATES[:sokujo_textbook].scale(900).round(0),\n",
344
- " start_date: Time.mktime(2020, 2, 27)\n",
344
+ " base_date: Time.mktime(2020, 2, 27)\n",
345
345
  "))\n",
346
346
  "\n",
347
347
  "cal.products.each {|product|\n",
@@ -4,34 +4,34 @@ products:
4
4
  recipe: :simple_sokujo_himeno
5
5
  scale: 600
6
6
  round: 0
7
- start_date: 2020-2-24
7
+ base_date: 2020-2-24
8
8
  - name: 仕2
9
9
  description: 姫野国夫による酒母省略仕込
10
10
  recipe: :simple_sokujo_himeno
11
11
  scale: 550
12
12
  round: 0
13
- start_date: 2020-2-27
13
+ base_date: 2020-2-27
14
14
  - name: 仕3
15
15
  description: 灘における仕込配合
16
16
  recipe: :sokujo_nada
17
17
  scale: 900
18
18
  round: 0
19
- start_date: 2020-2-20
19
+ base_date: 2020-2-20
20
20
  - name: 仕4
21
21
  description: 酒造教本による標準型仕込配合
22
22
  recipe: :sokujo_textbook
23
23
  scale: 900
24
24
  round: 0
25
- start_date: 2020-2-20
25
+ base_date: 2020-2-20
26
26
  - name: 仕5
27
27
  description: 灘における仕込配合
28
28
  recipe: :sokujo_nada
29
29
  scale: 900
30
30
  round: 0
31
- start_date: 2020-2-27
31
+ base_date: 2020-2-27
32
32
  - name: 仕6
33
33
  description: 酒造教本による標準型仕込配合
34
34
  recipe: :sokujo_textbook
35
35
  scale: 900
36
36
  round: 0
37
- start_date: 2020-2-27
37
+ base_date: 2020-2-27
@@ -69,20 +69,6 @@ module Example
69
69
  class Step
70
70
  include Toji::Recipe::Step
71
71
 
72
- def to_h
73
- {
74
- name: name,
75
- kake: kake,
76
- koji: koji,
77
- water: water,
78
- lactic_acid: lactic_acid,
79
- alcohol: alcohol,
80
- yeast: yeast,
81
- koji_interval_days: koji_interval_days,
82
- kake_interval_days: kake_interval_days,
83
- }
84
- end
85
-
86
72
  def self.create(name:, kake: 0, koji: 0, water: 0, lactic_acid: 0, alcohol: 0, yeast: 0, koji_interval_days: 0, kake_interval_days: 0)
87
73
  new.tap {|o|
88
74
  o.name = name
@@ -106,16 +92,6 @@ module Example
106
92
  @steps = []
107
93
  end
108
94
 
109
- #def to_h
110
- # {
111
- # steps: steps.map(&:to_h),
112
- # cumulative_rice_totals: cumulative_rice_totals,
113
- # cumulative_shubo_rates: cumulative_shubo_rates,
114
- # shubo_rate: shubo_rate,
115
- # rice_rates: rice_rates,
116
- # }
117
- #end
118
-
119
95
  def self.create(steps)
120
96
  new.tap {|o|
121
97
  o.steps = steps
@@ -273,30 +249,15 @@ module Example
273
249
  attr_accessor :description
274
250
  attr_accessor :color
275
251
 
276
- def initialize(reduce_key, name, description, recipe, start_date, color=nil)
252
+ def initialize(reduce_key, name, description, recipe, base_date, color=nil)
277
253
  @reduce_key = reduce_key || SecureRandom.uuid
278
254
  @name = name
279
255
  @description = description
280
256
  @recipe = recipe
281
- @start_date = start_date
257
+ @base_date = base_date
282
258
  @color = color
283
259
  end
284
260
 
285
- def to_h
286
- {
287
- id: id,
288
- name: name,
289
- description: @description,
290
- recipe: @recipe.table_data,
291
- start_date: @start_date,
292
- koji_dates: koji_dates,
293
- kake_dates: kake_dates,
294
- events: events.map(&:to_h),
295
- events_group: events_group,
296
- color: @color,
297
- }
298
- end
299
-
300
261
  def self.create(args)
301
262
  if self===args
302
263
  args
@@ -317,7 +278,7 @@ module Example
317
278
  args[:name],
318
279
  args[:description],
319
280
  recipe,
320
- args[:start_date],
281
+ args[:base_date],
321
282
  args[:color]
322
283
  )
323
284
  else
@@ -7,7 +7,7 @@ koji = Example::Brew::Koji.load_yaml_file(File.dirname(__FILE__)+"/koji_making.y
7
7
  table = Terminal::Table.new do |t|
8
8
  t << ["作業", "日数", "品温(度)", "操作室温", "乾湿差(度)", "経過時間", "日時"]
9
9
  t << :separator
10
- koji.each {|s|
10
+ koji.wrapped_states.each {|s|
11
11
  temp = s.temps.map(&:to_s).join(" / ")
12
12
  t << [s.mark, s.day_label, temp, s.room_temp, s.room_psychrometry, s.elapsed_time, s.display_time]
13
13
  }
@@ -2,7 +2,7 @@
2
2
  "cells": [
3
3
  {
4
4
  "cell_type": "code",
5
- "execution_count": 1,
5
+ "execution_count": 4,
6
6
  "metadata": {
7
7
  "scrolled": false
8
8
  },
@@ -16,25 +16,25 @@
16
16
  " </script>\n",
17
17
  "\n",
18
18
  "\n",
19
- "<div id=\"28142862-0c71-4f6e-9371-7d1d44d9bc5d\" style=\"height: 100%; width: 100%;\"></div>\n",
19
+ "<div id=\"0e89b2f2-9a2a-4713-ba37-1f73b14ca4dd\" style=\"height: 100%; width: 100%;\"></div>\n",
20
20
  "\n",
21
21
  "<script>\n",
22
22
  " require(['plotly'], function(Plotly) { \n",
23
23
  "Plotly.newPlot(\n",
24
- " '28142862-0c71-4f6e-9371-7d1d44d9bc5d',\n",
25
- " [{\"x\":[0.0,1.0,86400.0,172800.0,259200.0,259201.0,345600.0,345601.0,432000.0,518400.0,604800.0,691200.0,777600.0,864000.0,950400.0,1036800.0,1123200.0,1209600.0,1296000.0,1382400.0,1468800.0,1555200.0,1641600.0,1728000.0,1814400.0,1900800.0,1987200.0,2073600.0],\"y\":[14.8,11.0,14.3,11.3,6.9,10.6,7.5,8.0,9.1,10.4,11.9,12.3,13.1,13.1,12.9,12.8,12.9,12.6,12.0,11.2,10.2,9.7,9.8,9.1,8.4,8.1,8.3,8.1],\"text\":[\"01/16 00:00\",\"01/16 00:00\",\"01/17 00:00\",\"01/18 00:00\",\"01/19 00:00\",\"01/19 00:00\",\"01/20 00:00\",\"01/20 00:00\",\"01/21 00:00\",\"01/22 00:00\",\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/03 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\",\"02/09 00:00\"],\"name\":\"temps\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#1f77b4\"}},{\"x\":[0.0,86400.0,172800.0,259200.0,345600.0,432000.0,518400.0,604800.0,691200.0,777600.0,864000.0,950400.0,1036800.0,1123200.0,1209600.0,1296000.0,1382400.0,1468800.0,1555200.0,1641600.0,1728000.0,1814400.0,1900800.0,1987200.0,2073600.0],\"y\":[9,9,8.5,9,6,7,7,8,8,7.5,7.5,7.5,7.0,8.0,8.0,7.0,7.0,6.5,7.0,8.0,6.0,5.0,5.0,7.0,6.0],\"text\":[\"01/16 00:00\",\"01/17 00:00\",\"01/18 00:00\",\"01/19 00:00\",\"01/20 00:00\",\"01/21 00:00\",\"01/22 00:00\",\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/03 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\",\"02/09 00:00\"],\"name\":\"room_temp\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#2ca02c\"}},{\"x\":[604800.0,691200.0,777600.0,864000.0,950400.0,1036800.0,1123200.0,1209600.0,1296000.0,1382400.0,1468800.0,1641600.0,1728000.0,1814400.0,1900800.0,1987200.0],\"y\":[8.6,8.0,7.2,5.8,4.8,4.0,3.4,2.7,2.1,1.7000000000000002,1.3,0.8,0.5,0.30000000000000004,0.2,-0.0],\"text\":[\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\"],\"name\":\"baume\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#9467bd\"}},{\"x\":[691200.0,777600.0,864000.0,1036800.0,1123200.0,1209600.0,1296000.0,1641600.0,1814400.0],\"y\":[4.8,6.75,7.992,10.7,11.6,12.7,13.7,16.0,16.3],\"text\":[\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/04 00:00\",\"02/06 00:00\"],\"name\":\"alcohol\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#7f7f7f\"}},{\"x\":[604800.0,691200.0,777600.0,864000.0,950400.0,1036800.0,1123200.0,1209600.0,1296000.0,1382400.0,1468800.0,1641600.0,1728000.0,1814400.0,1900800.0,1987200.0],\"y\":[34.4,40.0,43.2,40.6,38.4,36.0,34.0,29.700000000000003,25.200000000000003,22.1,18.2,12.8,8.5,5.4,3.8000000000000003,-0.0],\"text\":[\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\"],\"name\":\"bmd\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#bcbd22\"}}],\n",
24
+ " '0e89b2f2-9a2a-4713-ba37-1f73b14ca4dd',\n",
25
+ " [{\"x\":[0.0,1.0,86400.0,172800.0,259200.0,259201.0,345600.0,345601.0,432000.0,518400.0,604800.0,691200.0,777600.0,864000.0,950400.0,1036800.0,1123200.0,1209600.0,1296000.0,1382400.0,1468800.0,1555200.0,1641600.0,1728000.0,1814400.0,1900800.0,1987200.0,2073600.0],\"y\":[14.8,11.0,14.3,11.3,6.9,10.6,7.5,8.0,9.1,10.4,11.9,12.3,13.1,13.1,12.9,12.8,12.9,12.6,12.0,11.2,10.2,9.7,9.8,9.1,8.4,8.1,8.3,8.1],\"text\":[\"01/16 00:00\",\"01/16 00:00\",\"01/17 00:00\",\"01/18 00:00\",\"01/19 00:00\",\"01/19 00:00\",\"01/20 00:00\",\"01/20 00:00\",\"01/21 00:00\",\"01/22 00:00\",\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/03 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\",\"02/09 00:00\"],\"name\":\"temps\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#1f77b4\"}},{\"x\":[0.0,86400.0,172800.0,259200.0,345600.0,432000.0,518400.0,604800.0,691200.0,777600.0,864000.0,950400.0,1036800.0,1123200.0,1209600.0,1296000.0,1382400.0,1468800.0,1555200.0,1641600.0,1728000.0,1814400.0,1900800.0,1987200.0,2073600.0],\"y\":[9,9,8.5,9,6,7,7,8,8,7.5,7.5,7.5,7.0,8.0,8.0,7.0,7.0,6.5,7.0,8.0,6.0,5.0,5.0,7.0,6.0],\"text\":[\"01/16 00:00\",\"01/17 00:00\",\"01/18 00:00\",\"01/19 00:00\",\"01/20 00:00\",\"01/21 00:00\",\"01/22 00:00\",\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/03 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\",\"02/09 00:00\"],\"name\":\"room_temp\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#2ca02c\"}},{\"x\":[604800.0,691200.0,777600.0,864000.0,950400.0,1036800.0,1123200.0,1209600.0,1296000.0,1382400.0,1468800.0,1641600.0,1728000.0,1814400.0,1900800.0,1987200.0],\"y\":[8.6,8.0,7.2,5.8,4.8,4.0,3.4,2.7,2.1,1.7,1.3,0.8,0.5,0.3,0.2,-0.0],\"text\":[\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\"],\"name\":\"baume\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#9467bd\"}},{\"x\":[691200.0,777600.0,864000.0,1036800.0,1123200.0,1209600.0,1296000.0,1641600.0,1814400.0],\"y\":[4.8,6.75,7.992,10.7,11.6,12.7,13.7,16.0,16.3],\"text\":[\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/04 00:00\",\"02/06 00:00\"],\"name\":\"alcohol\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#7f7f7f\"}},{\"x\":[604800.0,691200.0,777600.0,864000.0,950400.0,1036800.0,1123200.0,1209600.0,1296000.0,1382400.0,1468800.0,1641600.0,1728000.0,1814400.0,1900800.0,1987200.0],\"y\":[34.4,40.0,43.2,40.6,38.4,36.0,34.0,29.700000000000003,25.200000000000003,22.099999999999998,18.2,12.8,8.5,5.3999999999999995,3.8000000000000003,-0.0],\"text\":[\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\"],\"name\":\"bmd\",\"line\":{\"dash\":\"solid\",\"shape\":\"linear\"},\"marker\":{\"color\":\"#bcbd22\"}}],\n",
26
26
  " {\"xaxis\":{\"dtick\":86400,\"tickvals\":[0,86400,172800,259200,345600,432000,518400,604800,691200,777600,864000,950400,1036800,1123200,1209600,1296000,1382400,1468800,1555200,1641600,1728000,1814400,1900800,1987200,2073600],\"ticktext\":[\"添\",\"踊\",\"踊\",\"仲\",\"留\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\"]},\"annotations\":[{\"x\":0.0,\"y\":14.8,\"xref\":\"x\",\"yref\":\"y\",\"text\":\"添\",\"showarrow\":true,\"arrowhead\":1,\"ax\":0,\"ay\":-40},{\"x\":259200.0,\"y\":6.9,\"xref\":\"x\",\"yref\":\"y\",\"text\":\"仲\",\"showarrow\":true,\"arrowhead\":1,\"ax\":0,\"ay\":-40},{\"x\":345600.0,\"y\":7.5,\"xref\":\"x\",\"yref\":\"y\",\"text\":\"留\",\"showarrow\":true,\"arrowhead\":1,\"ax\":0,\"ay\":-40}]},\n",
27
27
  " {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
28
28
  ")\n",
29
29
  "\n",
30
30
  "window.addEventListener('resize', function() {\n",
31
- " Plotly.Plots.resize(document.getElementById('28142862-0c71-4f6e-9371-7d1d44d9bc5d'))\n",
31
+ " Plotly.Plots.resize(document.getElementById('0e89b2f2-9a2a-4713-ba37-1f73b14ca4dd'))\n",
32
32
  "})\n",
33
33
  " }) \n",
34
34
  "</script>"
35
35
  ],
36
36
  "text/plain": [
37
- "#<Plotly::Offline::HTML:0x00007fc82196de58 @id=\"28142862-0c71-4f6e-9371-7d1d44d9bc5d\", @data=[{:x=>[0.0, 1.0, 86400.0, 172800.0, 259200.0, 259201.0, 345600.0, 345601.0, 432000.0, 518400.0, 604800.0, 691200.0, 777600.0, 864000.0, 950400.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1382400.0, 1468800.0, 1555200.0, 1641600.0, 1728000.0, 1814400.0, 1900800.0, 1987200.0, 2073600.0], :y=>[14.8, 11.0, 14.3, 11.3, 6.9, 10.6, 7.5, 8.0, 9.1, 10.4, 11.9, 12.3, 13.1, 13.1, 12.9, 12.8, 12.9, 12.6, 12.0, 11.2, 10.2, 9.7, 9.8, 9.1, 8.4, 8.1, 8.3, 8.1], :text=>[\"01/16 00:00\", \"01/16 00:00\", \"01/17 00:00\", \"01/18 00:00\", \"01/19 00:00\", \"01/19 00:00\", \"01/20 00:00\", \"01/20 00:00\", \"01/21 00:00\", \"01/22 00:00\", \"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/03 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\", \"02/09 00:00\"], :name=>\"temps\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#1f77b4\"}}, {:x=>[0.0, 86400.0, 172800.0, 259200.0, 345600.0, 432000.0, 518400.0, 604800.0, 691200.0, 777600.0, 864000.0, 950400.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1382400.0, 1468800.0, 1555200.0, 1641600.0, 1728000.0, 1814400.0, 1900800.0, 1987200.0, 2073600.0], :y=>[9, 9, 8.5, 9, 6, 7, 7, 8, 8, 7.5, 7.5, 7.5, 7.0, 8.0, 8.0, 7.0, 7.0, 6.5, 7.0, 8.0, 6.0, 5.0, 5.0, 7.0, 6.0], :text=>[\"01/16 00:00\", \"01/17 00:00\", \"01/18 00:00\", \"01/19 00:00\", \"01/20 00:00\", \"01/21 00:00\", \"01/22 00:00\", \"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/03 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\", \"02/09 00:00\"], :name=>\"room_temp\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#2ca02c\"}}, {:x=>[604800.0, 691200.0, 777600.0, 864000.0, 950400.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1382400.0, 1468800.0, 1641600.0, 1728000.0, 1814400.0, 1900800.0, 1987200.0], :y=>[8.6, 8.0, 7.2, 5.8, 4.8, 4.0, 3.4, 2.7, 2.1, 1.7000000000000002, 1.3, 0.8, 0.5, 0.30000000000000004, 0.2, -0.0], :text=>[\"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\"], :name=>\"baume\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#9467bd\"}}, {:x=>[691200.0, 777600.0, 864000.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1641600.0, 1814400.0], :y=>[4.8, 6.75, 7.992, 10.7, 11.6, 12.7, 13.7, 16.0, 16.3], :text=>[\"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/04 00:00\", \"02/06 00:00\"], :name=>\"alcohol\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#7f7f7f\"}}, {:x=>[604800.0, 691200.0, 777600.0, 864000.0, 950400.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1382400.0, 1468800.0, 1641600.0, 1728000.0, 1814400.0, 1900800.0, 1987200.0], :y=>[34.4, 40.0, 43.2, 40.6, 38.4, 36.0, 34.0, 29.700000000000003, 25.200000000000003, 22.1, 18.2, 12.8, 8.5, 5.4, 3.8000000000000003, -0.0], :text=>[\"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\"], :name=>\"bmd\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#bcbd22\"}}], @layout={:xaxis=>{:dtick=>86400, :tickvals=>[0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 950400, 1036800, 1123200, 1209600, 1296000, 1382400, 1468800, 1555200, 1641600, 1728000, 1814400, 1900800, 1987200, 2073600], :ticktext=>[\"添\", \"踊\", \"踊\", \"仲\", \"留\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\"]}, :annotations=>[{:x=>0.0, :y=>14.8, :xref=>\"x\", :yref=>\"y\", :text=>\"添\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}, {:x=>259200.0, :y=>6.9, :xref=>\"x\", :yref=>\"y\", :text=>\"仲\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}, {:x=>345600.0, :y=>7.5, :xref=>\"x\", :yref=>\"y\", :text=>\"留\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}]}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
37
+ "#<Plotly::Offline::HTML:0x00007fe57118c758 @id=\"0e89b2f2-9a2a-4713-ba37-1f73b14ca4dd\", @data=[{:x=>[0.0, 1.0, 86400.0, 172800.0, 259200.0, 259201.0, 345600.0, 345601.0, 432000.0, 518400.0, 604800.0, 691200.0, 777600.0, 864000.0, 950400.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1382400.0, 1468800.0, 1555200.0, 1641600.0, 1728000.0, 1814400.0, 1900800.0, 1987200.0, 2073600.0], :y=>[14.8, 11.0, 14.3, 11.3, 6.9, 10.6, 7.5, 8.0, 9.1, 10.4, 11.9, 12.3, 13.1, 13.1, 12.9, 12.8, 12.9, 12.6, 12.0, 11.2, 10.2, 9.7, 9.8, 9.1, 8.4, 8.1, 8.3, 8.1], :text=>[\"01/16 00:00\", \"01/16 00:00\", \"01/17 00:00\", \"01/18 00:00\", \"01/19 00:00\", \"01/19 00:00\", \"01/20 00:00\", \"01/20 00:00\", \"01/21 00:00\", \"01/22 00:00\", \"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/03 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\", \"02/09 00:00\"], :name=>\"temps\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#1f77b4\"}}, {:x=>[0.0, 86400.0, 172800.0, 259200.0, 345600.0, 432000.0, 518400.0, 604800.0, 691200.0, 777600.0, 864000.0, 950400.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1382400.0, 1468800.0, 1555200.0, 1641600.0, 1728000.0, 1814400.0, 1900800.0, 1987200.0, 2073600.0], :y=>[9, 9, 8.5, 9, 6, 7, 7, 8, 8, 7.5, 7.5, 7.5, 7.0, 8.0, 8.0, 7.0, 7.0, 6.5, 7.0, 8.0, 6.0, 5.0, 5.0, 7.0, 6.0], :text=>[\"01/16 00:00\", \"01/17 00:00\", \"01/18 00:00\", \"01/19 00:00\", \"01/20 00:00\", \"01/21 00:00\", \"01/22 00:00\", \"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/03 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\", \"02/09 00:00\"], :name=>\"room_temp\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#2ca02c\"}}, {:x=>[604800.0, 691200.0, 777600.0, 864000.0, 950400.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1382400.0, 1468800.0, 1641600.0, 1728000.0, 1814400.0, 1900800.0, 1987200.0], :y=>[8.6, 8.0, 7.2, 5.8, 4.8, 4.0, 3.4, 2.7, 2.1, 1.7, 1.3, 0.8, 0.5, 0.3, 0.2, -0.0], :text=>[\"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\"], :name=>\"baume\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#9467bd\"}}, {:x=>[691200.0, 777600.0, 864000.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1641600.0, 1814400.0], :y=>[4.8, 6.75, 7.992, 10.7, 11.6, 12.7, 13.7, 16.0, 16.3], :text=>[\"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/04 00:00\", \"02/06 00:00\"], :name=>\"alcohol\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#7f7f7f\"}}, {:x=>[604800.0, 691200.0, 777600.0, 864000.0, 950400.0, 1036800.0, 1123200.0, 1209600.0, 1296000.0, 1382400.0, 1468800.0, 1641600.0, 1728000.0, 1814400.0, 1900800.0, 1987200.0], :y=>[34.4, 40.0, 43.2, 40.6, 38.4, 36.0, 34.0, 29.700000000000003, 25.200000000000003, 22.099999999999998, 18.2, 12.8, 8.5, 5.3999999999999995, 3.8000000000000003, -0.0], :text=>[\"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\"], :name=>\"bmd\", :line=>{:dash=>:solid, :shape=>:linear}, :marker=>{:color=>\"#bcbd22\"}}], @layout={:xaxis=>{:dtick=>86400, :tickvals=>[0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 950400, 1036800, 1123200, 1209600, 1296000, 1382400, 1468800, 1555200, 1641600, 1728000, 1814400, 1900800, 1987200, 2073600], :ticktext=>[\"添\", \"踊\", \"踊\", \"仲\", \"留\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\"]}, :annotations=>[{:x=>0.0, :y=>14.8, :xref=>\"x\", :yref=>\"y\", :text=>\"添\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}, {:x=>259200.0, :y=>6.9, :xref=>\"x\", :yref=>\"y\", :text=>\"仲\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}, {:x=>345600.0, :y=>7.5, :xref=>\"x\", :yref=>\"y\", :text=>\"留\", :showarrow=>true, :arrowhead=>1, :ax=>0, :ay=>-40}]}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
38
38
  ]
39
39
  },
40
40
  "metadata": {},
@@ -49,25 +49,25 @@
49
49
  " </script>\n",
50
50
  "\n",
51
51
  "\n",
52
- "<div id=\"346afa88-18af-43dd-bcb9-4027cebafbb2\" style=\"height: 100%; width: 100%;\"></div>\n",
52
+ "<div id=\"7eb61d12-042e-4b84-9373-06ec2c071d79\" style=\"height: 100%; width: 100%;\"></div>\n",
53
53
  "\n",
54
54
  "<script>\n",
55
55
  " require(['plotly'], function(Plotly) { \n",
56
56
  "Plotly.newPlot(\n",
57
- " '346afa88-18af-43dd-bcb9-4027cebafbb2',\n",
58
- " [{\"type\":\"table\",\"header\":{\"values\":[\"day_label\",\"display_time\",\"mark\",\"temps\",\"room_temp\",\"display_baume\",\"alcohol\",\"bmd\"]},\"cells\":{\"values\":[[\"添\",\"踊\",\"踊\",\"仲\",\"留\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\"],[\"01/16 00:00\",\"01/17 00:00\",\"01/18 00:00\",\"01/19 00:00\",\"01/20 00:00\",\"01/21 00:00\",\"01/22 00:00\",\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/03 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\",\"02/09 00:00\"],[\"添\",\"\",\"\",\"仲\",\"留\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"],[\"14.8, 11.0\",\"14.3\",\"11.3\",\"6.9, 10.6\",\"7.5, 8.0\",\"9.1\",\"10.4\",\"11.9\",\"12.3\",\"13.1\",\"13.1\",\"12.9\",\"12.8\",\"12.9\",\"12.6\",\"12.0\",\"11.2\",\"10.2\",\"9.7\",\"9.8\",\"9.1\",\"8.4\",\"8.1\",\"8.3\",\"8.1\"],[9,9,8.5,9,6,7,7,8,8,7.5,7.5,7.5,7.0,8.0,8.0,7.0,7.0,6.5,7.0,8.0,6.0,5.0,5.0,7.0,6.0],[\"\",\"\",\"\",\"\",\"\",\"\",\"\",8.6,8.0,7.2,5.8,4.8,4.0,3.4,-27,-21,-17,-13,\"\",-8,-5,-3,-2,0,\"\"],[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",4.8,6.75,7.992,\"\",10.7,11.6,12.7,13.7,\"\",\"\",\"\",16.0,\"\",16.3,\"\",\"\",\"\"],[\"\",\"\",\"\",\"\",\"\",\"\",\"\",34.4,40.0,43.2,40.6,38.4,36.0,34.0,29.7,25.2,22.1,18.2,\"\",12.8,8.5,5.4,3.8,-0.0,\"\"]]}}],\n",
57
+ " '7eb61d12-042e-4b84-9373-06ec2c071d79',\n",
58
+ " [{\"type\":\"table\",\"header\":{\"values\":[\"day_label\",\"display_time\",\"mark\",\"temps\",\"room_temp\",\"display_baume\",\"alcohol\",\"bmd\"]},\"cells\":{\"values\":[[\"添\",\"踊\",\"踊\",\"仲\",\"留\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\"],[\"01/16 00:00\",\"01/17 00:00\",\"01/18 00:00\",\"01/19 00:00\",\"01/20 00:00\",\"01/21 00:00\",\"01/22 00:00\",\"01/23 00:00\",\"01/24 00:00\",\"01/25 00:00\",\"01/26 00:00\",\"01/27 00:00\",\"01/28 00:00\",\"01/29 00:00\",\"01/30 00:00\",\"01/31 00:00\",\"02/01 00:00\",\"02/02 00:00\",\"02/03 00:00\",\"02/04 00:00\",\"02/05 00:00\",\"02/06 00:00\",\"02/07 00:00\",\"02/08 00:00\",\"02/09 00:00\"],[\"添\",\"\",\"\",\"仲\",\"留\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"],[\"14.8, 11.0\",\"14.3\",\"11.3\",\"6.9, 10.6\",\"7.5, 8.0\",\"9.1\",\"10.4\",\"11.9\",\"12.3\",\"13.1\",\"13.1\",\"12.9\",\"12.8\",\"12.9\",\"12.6\",\"12.0\",\"11.2\",\"10.2\",\"9.7\",\"9.8\",\"9.1\",\"8.4\",\"8.1\",\"8.3\",\"8.1\"],[\"9\",\"9\",\"8.5\",\"9\",\"6\",\"7\",\"7\",\"8\",\"8\",\"7.5\",\"7.5\",\"7.5\",\"7.0\",\"8.0\",\"8.0\",\"7.0\",\"7.0\",\"6.5\",\"7.0\",\"8.0\",\"6.0\",\"5.0\",\"5.0\",\"7.0\",\"6.0\"],[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"8.6\",\"8.0\",\"7.2\",\"5.8\",\"4.8\",\"4.0\",\"3.4\",\"-27.0\",\"-21.0\",\"-17.0\",\"-13.0\",\"\",\"-8.0\",\"-5.0\",\"-3.0\",\"-2.0\",\"0.0\",\"\"],[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"4.8\",\"6.75\",\"7.992\",\"\",\"10.7\",\"11.6\",\"12.7\",\"13.7\",\"\",\"\",\"\",\"16.0\",\"\",\"16.3\",\"\",\"\",\"\"],[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"34.4\",\"40.0\",\"43.2\",\"40.6\",\"38.4\",\"36.0\",\"34.0\",\"29.7\",\"25.2\",\"22.1\",\"18.2\",\"\",\"12.8\",\"8.5\",\"5.4\",\"3.8\",\"-0.0\",\"\"]]}}],\n",
59
59
  " {\"height\":1000},\n",
60
60
  " {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
61
61
  ")\n",
62
62
  "\n",
63
63
  "window.addEventListener('resize', function() {\n",
64
- " Plotly.Plots.resize(document.getElementById('346afa88-18af-43dd-bcb9-4027cebafbb2'))\n",
64
+ " Plotly.Plots.resize(document.getElementById('7eb61d12-042e-4b84-9373-06ec2c071d79'))\n",
65
65
  "})\n",
66
66
  " }) \n",
67
67
  "</script>"
68
68
  ],
69
69
  "text/plain": [
70
- "#<Plotly::Offline::HTML:0x00007fc82291a1a8 @id=\"346afa88-18af-43dd-bcb9-4027cebafbb2\", @data=[{:type=>:table, :header=>{:values=>[:day_label, :display_time, :mark, :temps, :room_temp, :display_baume, :alcohol, :bmd]}, :cells=>{:values=>[[\"添\", \"踊\", \"踊\", \"仲\", \"留\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\"], [\"01/16 00:00\", \"01/17 00:00\", \"01/18 00:00\", \"01/19 00:00\", \"01/20 00:00\", \"01/21 00:00\", \"01/22 00:00\", \"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/03 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\", \"02/09 00:00\"], [\"添\", \"\", \"\", \"仲\", \"留\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\"], [\"14.8, 11.0\", \"14.3\", \"11.3\", \"6.9, 10.6\", \"7.5, 8.0\", \"9.1\", \"10.4\", \"11.9\", \"12.3\", \"13.1\", \"13.1\", \"12.9\", \"12.8\", \"12.9\", \"12.6\", \"12.0\", \"11.2\", \"10.2\", \"9.7\", \"9.8\", \"9.1\", \"8.4\", \"8.1\", \"8.3\", \"8.1\"], [9, 9, 8.5, 9, 6, 7, 7, 8, 8, 7.5, 7.5, 7.5, 7.0, 8.0, 8.0, 7.0, 7.0, 6.5, 7.0, 8.0, 6.0, 5.0, 5.0, 7.0, 6.0], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", 8.6, 8.0, 7.2, 5.8, 4.8, 4.0, 3.4, -27, -21, -17, -13, \"\", -8, -5, -3, -2, 0, \"\"], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", 4.8, 6.75, 7.992, \"\", 10.7, 11.6, 12.7, 13.7, \"\", \"\", \"\", 16.0, \"\", 16.3, \"\", \"\", \"\"], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", 34.4, 40.0, 43.2, 40.6, 38.4, 36.0, 34.0, 29.7, 25.2, 22.1, 18.2, \"\", 12.8, 8.5, 5.4, 3.8, -0.0, \"\"]]}}], @layout={:height=>1000}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
70
+ "#<Plotly::Offline::HTML:0x00007fe5752c8690 @id=\"7eb61d12-042e-4b84-9373-06ec2c071d79\", @data=[{:type=>:table, :header=>{:values=>[:day_label, :display_time, :mark, :temps, :room_temp, :display_baume, :alcohol, :bmd]}, :cells=>{:values=>[[\"添\", \"踊\", \"踊\", \"仲\", \"留\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\"], [\"01/16 00:00\", \"01/17 00:00\", \"01/18 00:00\", \"01/19 00:00\", \"01/20 00:00\", \"01/21 00:00\", \"01/22 00:00\", \"01/23 00:00\", \"01/24 00:00\", \"01/25 00:00\", \"01/26 00:00\", \"01/27 00:00\", \"01/28 00:00\", \"01/29 00:00\", \"01/30 00:00\", \"01/31 00:00\", \"02/01 00:00\", \"02/02 00:00\", \"02/03 00:00\", \"02/04 00:00\", \"02/05 00:00\", \"02/06 00:00\", \"02/07 00:00\", \"02/08 00:00\", \"02/09 00:00\"], [\"添\", \"\", \"\", \"仲\", \"留\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\"], [\"14.8, 11.0\", \"14.3\", \"11.3\", \"6.9, 10.6\", \"7.5, 8.0\", \"9.1\", \"10.4\", \"11.9\", \"12.3\", \"13.1\", \"13.1\", \"12.9\", \"12.8\", \"12.9\", \"12.6\", \"12.0\", \"11.2\", \"10.2\", \"9.7\", \"9.8\", \"9.1\", \"8.4\", \"8.1\", \"8.3\", \"8.1\"], [\"9\", \"9\", \"8.5\", \"9\", \"6\", \"7\", \"7\", \"8\", \"8\", \"7.5\", \"7.5\", \"7.5\", \"7.0\", \"8.0\", \"8.0\", \"7.0\", \"7.0\", \"6.5\", \"7.0\", \"8.0\", \"6.0\", \"5.0\", \"5.0\", \"7.0\", \"6.0\"], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"8.6\", \"8.0\", \"7.2\", \"5.8\", \"4.8\", \"4.0\", \"3.4\", \"-27.0\", \"-21.0\", \"-17.0\", \"-13.0\", \"\", \"-8.0\", \"-5.0\", \"-3.0\", \"-2.0\", \"0.0\", \"\"], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"4.8\", \"6.75\", \"7.992\", \"\", \"10.7\", \"11.6\", \"12.7\", \"13.7\", \"\", \"\", \"\", \"16.0\", \"\", \"16.3\", \"\", \"\", \"\"], [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"34.4\", \"40.0\", \"43.2\", \"40.6\", \"38.4\", \"36.0\", \"34.0\", \"29.7\", \"25.2\", \"22.1\", \"18.2\", \"\", \"12.8\", \"8.5\", \"5.4\", \"3.8\", \"-0.0\", \"\"]]}}], @layout={:height=>1000}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
71
71
  ]
72
72
  },
73
73
  "metadata": {},
@@ -82,25 +82,25 @@
82
82
  " </script>\n",
83
83
  "\n",
84
84
  "\n",
85
- "<div id=\"381a03bc-3fd1-4b6e-bb75-33898dc85c41\" style=\"height: 100%; width: 100%;\"></div>\n",
85
+ "<div id=\"1cbb8a13-f102-482a-8367-a98d4f4e480a\" style=\"height: 100%; width: 100%;\"></div>\n",
86
86
  "\n",
87
87
  "<script>\n",
88
88
  " require(['plotly'], function(Plotly) { \n",
89
89
  "Plotly.newPlot(\n",
90
- " '381a03bc-3fd1-4b6e-bb75-33898dc85c41',\n",
91
- " [{\"x\":[345600,432000,518400,604800,691200,777600,864000,950400,1036800,1123200,1209600,1382400,1468800,1555200,1641600,1728000],\"y\":[34.4,40.0,43.2,40.6,38.4,36.0,34.0,29.700000000000003,25.200000000000003,22.1,18.2,12.8,8.5,5.4,3.8000000000000003,-0.0],\"text\":[\"01/23 00:00\\u003cbr /\\u003emoromi day=4, be=8.6, bmd=34.4\",\"01/24 00:00\\u003cbr /\\u003emoromi day=5, be=8.0, bmd=40.0\",\"01/25 00:00\\u003cbr /\\u003emoromi day=6, be=7.2, bmd=43.2\",\"01/26 00:00\\u003cbr /\\u003emoromi day=7, be=5.8, bmd=40.6\",\"01/27 00:00\\u003cbr /\\u003emoromi day=8, be=4.8, bmd=38.4\",\"01/28 00:00\\u003cbr /\\u003emoromi day=9, be=4.0, bmd=36.0\",\"01/29 00:00\\u003cbr /\\u003emoromi day=10, be=3.4, bmd=34.0\",\"01/30 00:00\\u003cbr /\\u003emoromi day=11, be=2.7, bmd=29.700000000000003\",\"01/31 00:00\\u003cbr /\\u003emoromi day=12, be=2.1, bmd=25.200000000000003\",\"02/01 00:00\\u003cbr /\\u003emoromi day=13, be=1.7000000000000002, bmd=22.1\",\"02/02 00:00\\u003cbr /\\u003emoromi day=14, be=1.3, bmd=18.2\",\"02/04 00:00\\u003cbr /\\u003emoromi day=16, be=0.8, bmd=12.8\",\"02/05 00:00\\u003cbr /\\u003emoromi day=17, be=0.5, bmd=8.5\",\"02/06 00:00\\u003cbr /\\u003emoromi day=18, be=0.30000000000000004, bmd=5.4\",\"02/07 00:00\\u003cbr /\\u003emoromi day=19, be=0.2, bmd=3.8000000000000003\",\"02/08 00:00\\u003cbr /\\u003emoromi day=20, be=-0.0, bmd=-0.0\"],\"name\":\"actual\"}],\n",
90
+ " '1cbb8a13-f102-482a-8367-a98d4f4e480a',\n",
91
+ " [{\"x\":[345600,432000,518400,604800,691200,777600,864000,950400,1036800,1123200,1209600,1382400,1468800,1555200,1641600,1728000],\"y\":[34.4,40.0,43.2,40.6,38.4,36.0,34.0,29.700000000000003,25.200000000000003,22.099999999999998,18.2,12.8,8.5,5.3999999999999995,3.8000000000000003,-0.0],\"text\":[\"01/23 00:00\\u003cbr /\\u003emoromi day=4, be=8.6, bmd=34.4\",\"01/24 00:00\\u003cbr /\\u003emoromi day=5, be=8.0, bmd=40.0\",\"01/25 00:00\\u003cbr /\\u003emoromi day=6, be=7.2, bmd=43.2\",\"01/26 00:00\\u003cbr /\\u003emoromi day=7, be=5.8, bmd=40.6\",\"01/27 00:00\\u003cbr /\\u003emoromi day=8, be=4.8, bmd=38.4\",\"01/28 00:00\\u003cbr /\\u003emoromi day=9, be=4.0, bmd=36.0\",\"01/29 00:00\\u003cbr /\\u003emoromi day=10, be=3.4, bmd=34.0\",\"01/30 00:00\\u003cbr /\\u003emoromi day=11, be=2.7, bmd=29.700000000000003\",\"01/31 00:00\\u003cbr /\\u003emoromi day=12, be=2.1, bmd=25.200000000000003\",\"02/01 00:00\\u003cbr /\\u003emoromi day=13, be=1.7, bmd=22.099999999999998\",\"02/02 00:00\\u003cbr /\\u003emoromi day=14, be=1.3, bmd=18.2\",\"02/04 00:00\\u003cbr /\\u003emoromi day=16, be=0.8, bmd=12.8\",\"02/05 00:00\\u003cbr /\\u003emoromi day=17, be=0.5, bmd=8.5\",\"02/06 00:00\\u003cbr /\\u003emoromi day=18, be=0.3, bmd=5.3999999999999995\",\"02/07 00:00\\u003cbr /\\u003emoromi day=19, be=0.2, bmd=3.8000000000000003\",\"02/08 00:00\\u003cbr /\\u003emoromi day=20, be=-0.0, bmd=-0.0\"],\"name\":\"actual\"}],\n",
92
92
  " {\"xaxis\":{\"title\":\"Moromi day\",\"dtick\":86400,\"range\":[86400,1814400],\"tickvals\":[0,86400,172800,259200,345600,432000,518400,604800,691200,777600,864000,950400,1036800,1123200,1209600,1296000,1382400,1468800,1555200,1641600,1728000],\"ticktext\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]},\"yaxis\":{\"title\":\"BMD\"}},\n",
93
93
  " {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
94
94
  ")\n",
95
95
  "\n",
96
96
  "window.addEventListener('resize', function() {\n",
97
- " Plotly.Plots.resize(document.getElementById('381a03bc-3fd1-4b6e-bb75-33898dc85c41'))\n",
97
+ " Plotly.Plots.resize(document.getElementById('1cbb8a13-f102-482a-8367-a98d4f4e480a'))\n",
98
98
  "})\n",
99
99
  " }) \n",
100
100
  "</script>"
101
101
  ],
102
102
  "text/plain": [
103
- "#<Plotly::Offline::HTML:0x00007fc8222826d8 @id=\"381a03bc-3fd1-4b6e-bb75-33898dc85c41\", @data=[{:x=>[345600, 432000, 518400, 604800, 691200, 777600, 864000, 950400, 1036800, 1123200, 1209600, 1382400, 1468800, 1555200, 1641600, 1728000], :y=>[34.4, 40.0, 43.2, 40.6, 38.4, 36.0, 34.0, 29.700000000000003, 25.200000000000003, 22.1, 18.2, 12.8, 8.5, 5.4, 3.8000000000000003, -0.0], :text=>[\"01/23 00:00<br />moromi day=4, be=8.6, bmd=34.4\", \"01/24 00:00<br />moromi day=5, be=8.0, bmd=40.0\", \"01/25 00:00<br />moromi day=6, be=7.2, bmd=43.2\", \"01/26 00:00<br />moromi day=7, be=5.8, bmd=40.6\", \"01/27 00:00<br />moromi day=8, be=4.8, bmd=38.4\", \"01/28 00:00<br />moromi day=9, be=4.0, bmd=36.0\", \"01/29 00:00<br />moromi day=10, be=3.4, bmd=34.0\", \"01/30 00:00<br />moromi day=11, be=2.7, bmd=29.700000000000003\", \"01/31 00:00<br />moromi day=12, be=2.1, bmd=25.200000000000003\", \"02/01 00:00<br />moromi day=13, be=1.7000000000000002, bmd=22.1\", \"02/02 00:00<br />moromi day=14, be=1.3, bmd=18.2\", \"02/04 00:00<br />moromi day=16, be=0.8, bmd=12.8\", \"02/05 00:00<br />moromi day=17, be=0.5, bmd=8.5\", \"02/06 00:00<br />moromi day=18, be=0.30000000000000004, bmd=5.4\", \"02/07 00:00<br />moromi day=19, be=0.2, bmd=3.8000000000000003\", \"02/08 00:00<br />moromi day=20, be=-0.0, bmd=-0.0\"], :name=>:actual}], @layout={:xaxis=>{:title=>\"Moromi day\", :dtick=>86400, :range=>[86400, 1814400], :tickvals=>[0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 950400, 1036800, 1123200, 1209600, 1296000, 1382400, 1468800, 1555200, 1641600, 1728000], :ticktext=>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]}, :yaxis=>{:title=>\"BMD\"}}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
103
+ "#<Plotly::Offline::HTML:0x00007fe5753222d0 @id=\"1cbb8a13-f102-482a-8367-a98d4f4e480a\", @data=[{:x=>[345600, 432000, 518400, 604800, 691200, 777600, 864000, 950400, 1036800, 1123200, 1209600, 1382400, 1468800, 1555200, 1641600, 1728000], :y=>[34.4, 40.0, 43.2, 40.6, 38.4, 36.0, 34.0, 29.700000000000003, 25.200000000000003, 22.099999999999998, 18.2, 12.8, 8.5, 5.3999999999999995, 3.8000000000000003, -0.0], :text=>[\"01/23 00:00<br />moromi day=4, be=8.6, bmd=34.4\", \"01/24 00:00<br />moromi day=5, be=8.0, bmd=40.0\", \"01/25 00:00<br />moromi day=6, be=7.2, bmd=43.2\", \"01/26 00:00<br />moromi day=7, be=5.8, bmd=40.6\", \"01/27 00:00<br />moromi day=8, be=4.8, bmd=38.4\", \"01/28 00:00<br />moromi day=9, be=4.0, bmd=36.0\", \"01/29 00:00<br />moromi day=10, be=3.4, bmd=34.0\", \"01/30 00:00<br />moromi day=11, be=2.7, bmd=29.700000000000003\", \"01/31 00:00<br />moromi day=12, be=2.1, bmd=25.200000000000003\", \"02/01 00:00<br />moromi day=13, be=1.7, bmd=22.099999999999998\", \"02/02 00:00<br />moromi day=14, be=1.3, bmd=18.2\", \"02/04 00:00<br />moromi day=16, be=0.8, bmd=12.8\", \"02/05 00:00<br />moromi day=17, be=0.5, bmd=8.5\", \"02/06 00:00<br />moromi day=18, be=0.3, bmd=5.3999999999999995\", \"02/07 00:00<br />moromi day=19, be=0.2, bmd=3.8000000000000003\", \"02/08 00:00<br />moromi day=20, be=-0.0, bmd=-0.0\"], :name=>:actual}], @layout={:xaxis=>{:title=>\"Moromi day\", :dtick=>86400, :range=>[86400, 1814400], :tickvals=>[0, 86400, 172800, 259200, 345600, 432000, 518400, 604800, 691200, 777600, 864000, 950400, 1036800, 1123200, 1209600, 1296000, 1382400, 1468800, 1555200, 1641600, 1728000], :ticktext=>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]}, :yaxis=>{:title=>\"BMD\"}}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
104
104
  ]
105
105
  },
106
106
  "metadata": {},
@@ -115,25 +115,25 @@
115
115
  " </script>\n",
116
116
  "\n",
117
117
  "\n",
118
- "<div id=\"91412496-bb06-4568-9cd5-a0750faed761\" style=\"height: 100%; width: 100%;\"></div>\n",
118
+ "<div id=\"be5e3e28-c1f7-4993-b255-596bf278f355\" style=\"height: 100%; width: 100%;\"></div>\n",
119
119
  "\n",
120
120
  "<script>\n",
121
121
  " require(['plotly'], function(Plotly) { \n",
122
122
  "Plotly.newPlot(\n",
123
- " '91412496-bb06-4568-9cd5-a0750faed761',\n",
124
- " [{\"x\":[4.8,6.75,7.992,10.7,11.6,12.7,13.7,16.0,16.3],\"y\":[8.0,7.2,5.8,4.0,3.4,2.7,2.1,0.8,0.30000000000000004],\"text\":[\"01/24 00:00\\u003cbr /\\u003ealc=4.8, be=8.0\",\"01/25 00:00\\u003cbr /\\u003ealc=6.75, be=7.2\",\"01/26 00:00\\u003cbr /\\u003ealc=7.992, be=5.8\",\"01/28 00:00\\u003cbr /\\u003ealc=10.7, be=4.0\",\"01/29 00:00\\u003cbr /\\u003ealc=11.6, be=3.4\",\"01/30 00:00\\u003cbr /\\u003ealc=12.7, be=2.7\",\"01/31 00:00\\u003cbr /\\u003ealc=13.7, be=2.1\",\"02/04 00:00\\u003cbr /\\u003ealc=16.0, be=0.8\",\"02/06 00:00\\u003cbr /\\u003ealc=16.3, be=0.30000000000000004\"],\"name\":\"actual\"},{\"x\":[16.05,4.049999999999999],\"y\":[0.0,8.0],\"name\":\"+3.0 16.5\"},{\"x\":[16.55,4.549999999999999],\"y\":[0.0,8.0],\"name\":\"+3.0 17.0\"},{\"x\":[16.5,4.5],\"y\":[0.0,8.0],\"name\":\"+0.0 16.5\"}],\n",
123
+ " 'be5e3e28-c1f7-4993-b255-596bf278f355',\n",
124
+ " [{\"x\":[4.8,6.75,7.992,10.7,11.6,12.7,13.7,16.0,16.3],\"y\":[8.0,7.2,5.8,4.0,3.4,2.7,2.1,0.8,0.3],\"text\":[\"01/24 00:00\\u003cbr /\\u003ealc=4.8, be=8.0\",\"01/25 00:00\\u003cbr /\\u003ealc=6.75, be=7.2\",\"01/26 00:00\\u003cbr /\\u003ealc=7.992, be=5.8\",\"01/28 00:00\\u003cbr /\\u003ealc=10.7, be=4.0\",\"01/29 00:00\\u003cbr /\\u003ealc=11.6, be=3.4\",\"01/30 00:00\\u003cbr /\\u003ealc=12.7, be=2.7\",\"01/31 00:00\\u003cbr /\\u003ealc=13.7, be=2.1\",\"02/04 00:00\\u003cbr /\\u003ealc=16.0, be=0.8\",\"02/06 00:00\\u003cbr /\\u003ealc=16.3, be=0.3\"],\"name\":\"actual\"},{\"x\":[16.08,4.879999999999999],\"y\":[0.0,8.0],\"name\":\"+3.0 16.5\"},{\"x\":[16.58,5.379999999999999],\"y\":[0.0,8.0],\"name\":\"+3.0 17.0\"},{\"x\":[16.5,5.300000000000001],\"y\":[0.0,8.0],\"name\":\"+0.0 16.5\"}],\n",
125
125
  " {\"xaxis\":{\"title\":\"Alcohol\",\"dtick\":2,\"range\":[0,20]},\"yaxis\":{\"title\":\"Baume\",\"dtick\":1,\"range\":[0,10]}},\n",
126
126
  " {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
127
127
  ")\n",
128
128
  "\n",
129
129
  "window.addEventListener('resize', function() {\n",
130
- " Plotly.Plots.resize(document.getElementById('91412496-bb06-4568-9cd5-a0750faed761'))\n",
130
+ " Plotly.Plots.resize(document.getElementById('be5e3e28-c1f7-4993-b255-596bf278f355'))\n",
131
131
  "})\n",
132
132
  " }) \n",
133
133
  "</script>"
134
134
  ],
135
135
  "text/plain": [
136
- "#<Plotly::Offline::HTML:0x00007fc82327a720 @id=\"91412496-bb06-4568-9cd5-a0750faed761\", @data=[{:x=>[4.8, 6.75, 7.992, 10.7, 11.6, 12.7, 13.7, 16.0, 16.3], :y=>[8.0, 7.2, 5.8, 4.0, 3.4, 2.7, 2.1, 0.8, 0.30000000000000004], :text=>[\"01/24 00:00<br />alc=4.8, be=8.0\", \"01/25 00:00<br />alc=6.75, be=7.2\", \"01/26 00:00<br />alc=7.992, be=5.8\", \"01/28 00:00<br />alc=10.7, be=4.0\", \"01/29 00:00<br />alc=11.6, be=3.4\", \"01/30 00:00<br />alc=12.7, be=2.7\", \"01/31 00:00<br />alc=13.7, be=2.1\", \"02/04 00:00<br />alc=16.0, be=0.8\", \"02/06 00:00<br />alc=16.3, be=0.30000000000000004\"], :name=>:actual}, {:x=>[16.05, 4.049999999999999], :y=>[0.0, 8.0], :name=>\"+3.0 16.5\"}, {:x=>[16.55, 4.549999999999999], :y=>[0.0, 8.0], :name=>\"+3.0 17.0\"}, {:x=>[16.5, 4.5], :y=>[0.0, 8.0], :name=>\"+0.0 16.5\"}], @layout={:xaxis=>{:title=>\"Alcohol\", :dtick=>2, :range=>[0, 20]}, :yaxis=>{:title=>\"Baume\", :dtick=>1, :range=>[0, 10]}}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
136
+ "#<Plotly::Offline::HTML:0x00007fe575351b70 @id=\"be5e3e28-c1f7-4993-b255-596bf278f355\", @data=[{:x=>[4.8, 6.75, 7.992, 10.7, 11.6, 12.7, 13.7, 16.0, 16.3], :y=>[8.0, 7.2, 5.8, 4.0, 3.4, 2.7, 2.1, 0.8, 0.3], :text=>[\"01/24 00:00<br />alc=4.8, be=8.0\", \"01/25 00:00<br />alc=6.75, be=7.2\", \"01/26 00:00<br />alc=7.992, be=5.8\", \"01/28 00:00<br />alc=10.7, be=4.0\", \"01/29 00:00<br />alc=11.6, be=3.4\", \"01/30 00:00<br />alc=12.7, be=2.7\", \"01/31 00:00<br />alc=13.7, be=2.1\", \"02/04 00:00<br />alc=16.0, be=0.8\", \"02/06 00:00<br />alc=16.3, be=0.3\"], :name=>:actual}, {:x=>[16.08, 4.879999999999999], :y=>[0.0, 8.0], :name=>\"+3.0 16.5\"}, {:x=>[16.58, 5.379999999999999], :y=>[0.0, 8.0], :name=>\"+3.0 17.0\"}, {:x=>[16.5, 5.300000000000001], :y=>[0.0, 8.0], :name=>\"+0.0 16.5\"}], @layout={:xaxis=>{:title=>\"Alcohol\", :dtick=>2, :range=>[0, 20]}, :yaxis=>{:title=>\"Baume\", :dtick=>1, :range=>[0, 10]}}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
137
137
  ]
138
138
  },
139
139
  "metadata": {},
@@ -142,10 +142,10 @@
142
142
  {
143
143
  "data": {
144
144
  "text/plain": [
145
- "#<CZTop::Socket::PUB:0x7fc8261220a0 last_endpoint=\"tcp://127.0.0.1:49571\">"
145
+ "#<CZTop::Socket::PUB:0x7fe5759f3ab0 last_endpoint=\"tcp://127.0.0.1:54895\">"
146
146
  ]
147
147
  },
148
- "execution_count": 1,
148
+ "execution_count": 4,
149
149
  "metadata": {},
150
150
  "output_type": "execute_result"
151
151
  }
@@ -161,7 +161,7 @@
161
161
  "moromi.progress.table.tap{|t| t.layout.height=1000}.show\n",
162
162
  "moromi.bmd.plot.show\n",
163
163
  "\n",
164
- "moromi.ab(1.5)\n",
164
+ "moromi.ab(1.4)\n",
165
165
  " .expect(16.5, +3)\n",
166
166
  " .expect(17.0, +3)\n",
167
167
  " .expect(16.5, +0)\n",
@@ -3,12 +3,12 @@ require_relative 'example_core'
3
3
  require 'terminal-table'
4
4
 
5
5
 
6
- moromi = Toji::Brew::Moromi.load_yaml_file(File.dirname(__FILE__)+"/moromi.yaml")
6
+ moromi = Example::Brew::Moromi.load_yaml_file(File.dirname(__FILE__)+"/moromi.yaml")
7
7
 
8
8
  table = Terminal::Table.new do |t|
9
9
  t << ["作業", "日数", "品温(度)", "操作室温", "ボーメ及び日本酒度", "アルコール度数", "BMD", "アルコール期待値(16.5 +3)", "経過時間", "日時"]
10
10
  t << :separator
11
- moromi.each {|s|
11
+ moromi.wrapped_states.each {|s|
12
12
  temp = s.temps.map(&:to_s).join(" / ")
13
13
  t << [s.mark, s.day_label, temp, s.room_temp, s.display_baume, s.alcohol, s.bmd&.round(2), s.expected_alcohol(16.5, +3, 1.5)&.round(2), s.elapsed_time, s.display_time]
14
14
  }
@@ -2,30 +2,37 @@ require 'toji'
2
2
  require_relative 'example_core'
3
3
  require 'terminal-table'
4
4
 
5
- recipe = Example::Recipe::TEMPLATES[:sokujo_nada].scale(900)
5
+ recipe = Example::Recipe::TEMPLATES[:sokujo_nada].scale(900).round(2)
6
6
  step_names = recipe.steps.map(&:name)
7
7
 
8
8
  table = Terminal::Table.new do |t|
9
9
  t << [""] + step_names
10
10
  t << :separator
11
11
  t << ["[原料]"]
12
- t << ["酵母(g or 本)"] + recipe.steps.map(&:yeast).map{|v| v&.round(2)}
13
- t << ["乳酸(ml)"] + recipe.steps.map(&:lactic_acid).map{|v| v&.round(6)}
14
- t << ["掛米(g)"] + recipe.steps.map(&:kake).map{|v| v&.round(2)}
15
- t << ["麹米(g)"] + recipe.steps.map(&:koji).map{|v| v&.round(2)}
16
- t << ["汲水(ml)"] + recipe.steps.map(&:water).map{|v| v&.round(2)}
17
- t << ["醸造アルコール(ml)"] + recipe.steps.map(&:alcohol).map{|v| v&.round(2)}
12
+ t << ["酵母(g or 本)"] + recipe.steps.map(&:yeast)
13
+ t << ["乳酸(ml)"] + recipe.steps.map(&:lactic_acid)
14
+ t << ["掛米(g)"] + recipe.steps.map(&:kake)
15
+ t << ["麹米(g)"] + recipe.steps.map(&:koji)
16
+ t << ["汲水(ml)"] + recipe.steps.map(&:water)
17
+ t << ["醸造アルコール(ml)"] + recipe.steps.map(&:alcohol)
18
18
  t << :separator
19
19
  t << ["[合計]"]
20
- t << ["総米(g)"] + recipe.steps.map(&:rice_total).map{|v| v&.round(2)}
20
+ t << ["総米(g)"] + recipe.steps.map(&:rice_total)
21
21
  t << ["麹歩合(%)"] + recipe.steps.map{|s| s.koji_rate * 100}.map{|v| v&.round(2)}
22
22
  t << ["汲水歩合(%)"] + recipe.steps.map{|s| s.water_rate * 100}.map{|v| v&.round(2)}
23
23
  t << :separator
24
24
  t << ["[累計]"]
25
- t << ["総米(g)"] + recipe.cumulative_rice_totals.map{|v| v&.round(2)}
25
+ t << ["総米(g)"] + recipe.cumulative_rice_totals
26
26
  t << ["白米比率"] + recipe.rice_rates.map{|v| v&.round(2)}
27
27
  t << ["酒母歩合(%)"] + recipe.cumulative_shubo_rates.map{|s| s * 100}.map{|v| v&.round(2)}
28
- t << ["タンク内容量(ml)"] + recipe.cumulative_weight_totals.map{|v| v&.round(2)}
28
+ t << ["タンク内容量(ml)"] + recipe.steps.map {|s|
29
+ kake = Toji::Ingredient::Kake::Expected.create(s.kake)
30
+ koji = Toji::Ingredient::Koji::Expected.create(s.koji)
31
+ s.yeast.to_f + s.lactic_acid.to_f + kake.steamed.to_f + koji.dekoji.to_f + s.water.to_f + s.alcohol.to_f
32
+ }.then {|a|
33
+ sum = 0.0
34
+ a.map {|x| sum += x}
35
+ }.map{|v| v&.round(2)}
29
36
  end
30
37
  puts table
31
38
  puts
@@ -7,7 +7,7 @@ shubo = Example::Brew::Shubo.load_yaml_file(File.dirname(__FILE__)+"/shubo.yaml"
7
7
  table = Terminal::Table.new do |t|
8
8
  t << ["作業", "日数", "品温(度)", "ボーメ", "酸度", "経過時間", "日時"]
9
9
  t << :separator
10
- shubo.each {|s|
10
+ shubo.wrapped_states.each {|s|
11
11
  temp = s.temps.map(&:to_s).join(" / ")
12
12
  t << [s.mark, s.day_label, temp, s.baume, s.acid, s.elapsed_time, s.display_time]
13
13
  }
@@ -1,8 +1,6 @@
1
1
  module Toji
2
2
  module Brew
3
3
  module Base
4
- include Enumerable
5
-
6
4
  REQUIRED_KEYS = [
7
5
  :time,
8
6
  :elapsed_time,
@@ -45,10 +43,6 @@ module Toji
45
43
  nil
46
44
  end
47
45
 
48
- def each(&block)
49
- wrapped_states.each(&block)
50
- end
51
-
52
46
  def has_keys
53
47
  result = REQUIRED_KEYS.dup
54
48
 
@@ -2,14 +2,17 @@ module Toji
2
2
  module Brew
3
3
  module Graph
4
4
  class Ab
5
- attr_reader :coef
6
-
7
- def initialize(coef=1.5)
8
- @coef = coef
5
+ def initialize
6
+ @coef = 1.0
9
7
  @actuals = []
10
8
  @expects = []
11
9
  end
12
10
 
11
+ def coef(coef)
12
+ @coef = coef
13
+ self
14
+ end
15
+
13
16
  def actual(moromi, name=:actual)
14
17
  @actuals << [moromi, name]
15
18
  self
@@ -20,11 +23,18 @@ module Toji
20
23
  self
21
24
  end
22
25
 
26
+ def expects(expects)
27
+ expects.each {|o|
28
+ expect(o.alcohol, o.nihonshudo)
29
+ }
30
+ self
31
+ end
32
+
23
33
  def plot_data
24
34
  result = []
25
35
 
26
36
  @actuals.each {|moromi, name|
27
- states = moromi.select{|s| s.alcohol && s.baume}
37
+ states = moromi.wrapped_states.select{|s| s.alcohol && s.baume}
28
38
 
29
39
  xs = states.map(&:alcohol)
30
40
  ys = states.map(&:baume)
@@ -47,13 +57,13 @@ module Toji
47
57
 
48
58
  def min_baume
49
59
  @actuals.map {|moromi, name|
50
- moromi.map(&:baume).compact.min
60
+ moromi.wrapped_states.map(&:baume).compact.min
51
61
  }.compact.min || 0
52
62
  end
53
63
 
54
64
  def max_baume
55
65
  @actuals.map {|moromi, name|
56
- moromi.map(&:baume).compact.max
66
+ moromi.wrapped_states.map(&:baume).compact.max
57
67
  }.compact.max || 0
58
68
  end
59
69
 
@@ -56,13 +56,13 @@ module Toji
56
56
  xs = []
57
57
  ys = []
58
58
  text = []
59
- @brew.each {|r|
60
- val = r.send(key)
59
+ @brew.wrapped_states.each {|s|
60
+ val = s.send(key)
61
61
  if val
62
62
  [val].flatten.each_with_index {|v,i|
63
- xs << r.elapsed_time_with_offset + i
63
+ xs << s.elapsed_time_with_offset + i
64
64
  ys << v
65
- text << r.display_time
65
+ text << s.display_time
66
66
  }
67
67
  end
68
68
  }
@@ -102,7 +102,7 @@ module Toji
102
102
  def annotations
103
103
  return [] if !@enable_annotations
104
104
 
105
- @brew.select{|s| s.mark}.map {|s|
105
+ @brew.wrapped_states.select{|s| s.mark}.map {|s|
106
106
  {
107
107
  x: s.elapsed_time_with_offset,
108
108
  y: s.temps.first || 0,
@@ -131,7 +131,7 @@ module Toji
131
131
  end
132
132
 
133
133
  rows = []
134
- @brew.each {|state|
134
+ @brew.wrapped_states.each {|state|
135
135
  rows << keys.map {|k|
136
136
  v = state&.send(k)
137
137
  if Array===v
@@ -36,8 +36,8 @@ module Toji
36
36
  Graph::Bmd.new.actual(self)
37
37
  end
38
38
 
39
- def ab(coef=1.5)
40
- Graph::Ab.new(coef).actual(self)
39
+ def ab(coef, expects=[])
40
+ Graph::Ab.new.coef(coef).actual(self).expects(expects)
41
41
  end
42
42
  end
43
43
  end
@@ -104,33 +104,6 @@ module Toji
104
104
  target_alc - (_baume - target_nihonshudo * -0.1) * coef
105
105
  end
106
106
  end
107
-
108
- def to_h
109
- {
110
- elapsed_time: elapsed_time,
111
- time: time,
112
- mark: mark,
113
- temps: temps,
114
- preset_temp: preset_temp,
115
- room_temp: room_temp,
116
- room_psychrometry: room_psychrometry,
117
- acid: acid,
118
- amino_acid: amino_acid,
119
- alcohol: alcohol,
120
- warmings: warmings,
121
- note: note,
122
-
123
- day: day,
124
- day_label: day_label,
125
- elapsed_time_with_offset: elapsed_time_with_offset,
126
- baume: baume,
127
- nihonshudo: nihonshudo,
128
- display_baume: display_baume,
129
- display_time: display_time,
130
- moromi_day: moromi_day,
131
- bmd: bmd,
132
- }
133
- end
134
107
  end
135
108
  end
136
109
  end
@@ -10,7 +10,7 @@ module Toji
10
10
  end
11
11
 
12
12
  def <<(product)
13
- @products << product
13
+ @products += [product].flatten
14
14
  self
15
15
  end
16
16
  alias_method :add, :<<
@@ -5,17 +5,17 @@ module Toji
5
5
  attr_reader :reduce_key
6
6
  attr_accessor :name
7
7
  attr_accessor :recipe
8
- attr_accessor :start_date
8
+ attr_accessor :base_date
9
9
 
10
10
  def koji_dates
11
- date = start_date
11
+ date = base_date
12
12
  recipe.steps.map {|step|
13
13
  date = date.next_day(step.koji_interval_days)
14
14
  }
15
15
  end
16
16
 
17
17
  def kake_dates
18
- date = start_date
18
+ date = base_date
19
19
  recipe.steps.map {|step|
20
20
  date = date.next_day(step.kake_interval_days)
21
21
  }
@@ -39,16 +39,6 @@ module Toji
39
39
  def weight
40
40
  @product.recipe.steps[@index].send(@type)
41
41
  end
42
-
43
- def to_h
44
- {
45
- date: date,
46
- type: type,
47
- index: index,
48
- group_index: group_index,
49
- weight: weight,
50
- }
51
- end
52
42
  end
53
43
  end
54
44
  end
@@ -1,8 +1,11 @@
1
1
  require 'toji/recipe/step'
2
+ require 'toji/recipe/ab_expect'
2
3
 
3
4
  module Toji
4
5
  module Recipe
5
6
  attr_accessor :steps
7
+ attr_accessor :ab_coef
8
+ attr_accessor :ab_expects
6
9
 
7
10
  def scale(rice_total)
8
11
  rate = rice_total / steps.map(&:rice_total).sum
@@ -69,15 +72,15 @@ module Toji
69
72
  end
70
73
 
71
74
  def table_data
72
- headers = [""] + @steps.map(&:name) + [:total]
75
+ headers = [""] + steps.map(&:name) + [:total]
73
76
  keys = [:rice_total, :kake, :koji, :alcohol, :water, :lactic_acid]
74
77
 
75
78
  cells = [keys]
76
- cells += @steps.map {|step|
79
+ cells += steps.map {|step|
77
80
  [step.rice_total, step.kake, step.koji, step.alcohol, step.water, step.lactic_acid]
78
81
  }
79
82
  cells << keys.map {|key|
80
- @steps.map(&key).compact.sum
83
+ steps.map(&key).compact.sum
81
84
  }
82
85
 
83
86
  cells = cells.map {|cell|
@@ -0,0 +1,8 @@
1
+ module Toji
2
+ module Recipe
3
+ module AbExpect
4
+ attr_accessor :alcohol
5
+ attr_accessor :nihonshudo
6
+ end
7
+ end
8
+ end
@@ -1,15 +1,21 @@
1
1
  module Toji
2
2
  module Recipe
3
3
  module Step
4
- attr_accessor :name
5
- attr_accessor :kake
6
4
  attr_accessor :koji
5
+ attr_accessor :koji_soaked_rate
6
+ attr_accessor :koji_steamed_rate
7
+ attr_accessor :koji_dekoji_rate
8
+ attr_accessor :koji_interval_days
9
+
10
+ attr_accessor :kake
11
+ attr_accessor :kake_soaked_rate
12
+ attr_accessor :kake_steamed_rate
13
+ attr_accessor :kake_interval_days
14
+
7
15
  attr_accessor :water
8
16
  attr_accessor :lactic_acid
9
17
  attr_accessor :alcohol
10
18
  attr_accessor :yeast
11
- attr_accessor :koji_interval_days
12
- attr_accessor :kake_interval_days
13
19
 
14
20
  # 総米
15
21
  def rice_total
@@ -22,7 +28,8 @@ module Toji
22
28
  # なお、留め仕込みまでの麹歩合が20%を下回ると蒸米の溶解糖化に影響が出るので注意がいる
23
29
  # 出典: 酒造教本 P95
24
30
  def koji_rate
25
- koji.to_f / rice_total
31
+ val = koji.to_f / rice_total
32
+ val.nan? ? 0.0 : val
26
33
  end
27
34
 
28
35
  # 汲水歩合
@@ -35,7 +42,8 @@ module Toji
35
42
  #
36
43
  # 出典: 酒造教本 P96
37
44
  def water_rate
38
- water.to_f / rice_total
45
+ val = water.to_f / rice_total
46
+ val.nan? ? 0.0 : val
39
47
  end
40
48
 
41
49
  def round(ndigit=0, mini_ndigit=nil, half: :up)
@@ -44,30 +52,42 @@ module Toji
44
52
  end
45
53
 
46
54
  self.class.new.tap {|o|
47
- o.name = name
48
- o.kake = kake.to_f.round(ndigit, half: half)
49
55
  o.koji = koji.to_f.round(ndigit, half: half)
56
+ o.koji_soaked_rate = koji_soaked_rate.to_f
57
+ o.koji_steamed_rate = koji_steamed_rate.to_f
58
+ o.koji_dekoji_rate = koji_dekoji_rate.to_f
59
+ o.koji_interval_days = koji_interval_days.to_i
60
+
61
+ o.kake = kake.to_f.round(ndigit, half: half)
62
+ o.kake_soaked_rate = kake_soaked_rate.to_f
63
+ o.kake_steamed_rate = kake_steamed_rate.to_f
64
+ o.kake_interval_days = kake_interval_days.to_i
65
+
50
66
  o.water = water.to_f.round(ndigit, half: half)
51
67
  o.lactic_acid = lactic_acid.to_f.round(mini_ndigit, half: half)
52
68
  o.alcohol = alcohol.to_f.round(ndigit, half: half)
53
69
  o.yeast = yeast.to_f.round(mini_ndigit, half: half)
54
- o.koji_interval_days = koji_interval_days.to_i
55
- o.kake_interval_days = kake_interval_days.to_i
56
70
  }
57
71
  end
58
72
 
59
73
  def +(other)
60
74
  if Step===other
61
75
  self.class.new.tap {|o|
62
- o.name = name
63
- o.kake = kake.to_f + other.kake.to_f
64
76
  o.koji = koji.to_f + other.koji.to_f
77
+ o.koji_soaked_rate = koji_soaked_rate.to_f
78
+ o.koji_steamed_rate = koji_steamed_rate.to_f
79
+ o.koji_dekoji_rate = koji_dekoji_rate.to_f
80
+ o.koji_interval_days = koji_interval_days.to_i
81
+
82
+ o.kake = kake.to_f + other.kake.to_f
83
+ o.kake_soaked_rate = kake_soaked_rate.to_f
84
+ o.kake_steamed_rate = kake_steamed_rate.to_f
85
+ o.kake_interval_days = kake_interval_days.to_i
86
+
65
87
  o.water = water.to_f + other.water.to_f
66
88
  o.lactic_acid = lactic_acid.to_f + other.lactic_acid.to_f
67
89
  o.alcohol = alcohol.to_f + other.alcohol.to_f
68
90
  o.yeast = yeast.to_f + other.yeast.to_f
69
- o.koji_interval_days = koji_interval_days.to_i
70
- o.kake_interval_days = kake_interval_days.to_i
71
91
  }
72
92
  else
73
93
  x, y = other.coerce(self)
@@ -78,15 +98,21 @@ module Toji
78
98
  def *(other)
79
99
  if Integer===other || Float===other
80
100
  self.class.new.tap {|o|
81
- o.name = name
82
- o.kake = kake.to_f * other
83
101
  o.koji = koji.to_f * other
102
+ o.koji_soaked_rate = koji_soaked_rate.to_f
103
+ o.koji_steamed_rate = koji_steamed_rate.to_f
104
+ o.koji_dekoji_rate = koji_dekoji_rate.to_f
105
+ o.koji_interval_days = koji_interval_days.to_i
106
+
107
+ o.kake = kake.to_f * other
108
+ o.kake_soaked_rate = kake_soaked_rate.to_f
109
+ o.kake_steamed_rate = kake_steamed_rate.to_f
110
+ o.kake_interval_days = kake_interval_days.to_i
111
+
84
112
  o.water = water.to_f * other
85
113
  o.lactic_acid = lactic_acid.to_f * other
86
114
  o.alcohol = alcohol.to_f * other
87
115
  o.yeast = yeast.to_f * other
88
- o.koji_interval_days = koji_interval_days.to_i
89
- o.kake_interval_days = kake_interval_days.to_i
90
116
  }
91
117
  else
92
118
  x, y = other.coerce(self)
@@ -1,3 +1,3 @@
1
1
  module Toji
2
- VERSION = "2.3.1"
2
+ VERSION = "2.6.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: toji
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.1
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshida Tetsuya
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-22 00:00:00.000000000 Z
11
+ date: 2020-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -163,6 +163,7 @@ files:
163
163
  - lib/toji/product.rb
164
164
  - lib/toji/product/event.rb
165
165
  - lib/toji/recipe.rb
166
+ - lib/toji/recipe/ab_expect.rb
166
167
  - lib/toji/recipe/step.rb
167
168
  - lib/toji/version.rb
168
169
  - toji.gemspec
@@ -188,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
189
  - !ruby/object:Gem::Version
189
190
  version: '0'
190
191
  requirements: []
191
- rubygems_version: 3.1.2
192
+ rubygems_version: 3.0.4
192
193
  signing_key:
193
194
  specification_version: 4
194
195
  summary: Management tools for brewing japanese sake.