toji 2.3.1 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.