diff --git a/plugins/plotly-express/docs/example-data.md b/plugins/plotly-express/docs/example-data.md new file mode 100644 index 000000000..ce05d1125 --- /dev/null +++ b/plugins/plotly-express/docs/example-data.md @@ -0,0 +1,111 @@ +# Example data + +The Deephaven Express package includes several built-in, deterministically generated ticking datasets for testing and experimentation. These datasets initialize with a default number of rows and are designed to demonstrate a range of plot types and pivot table use cases. + +### `iris` dataset + +```python +from deephaven.plot import express as dx + +iris = dx.data.iris() +``` + +```{eval-rst} +.. dhautofunction:: deephaven.plot.express.data.iris +``` + +### `marketing` dataset + +```python +from deephaven.plot import express as dx + +marketing = dx.data.marketing() +``` + +```{eval-rst} +.. dhautofunction:: deephaven.plot.express.data.marketing +``` + +### `jobs` dataset + +```python +from deephaven.plot import express as dx + +jobs = dx.data.jobs() +``` + +```{eval-rst} +.. dhautofunction:: deephaven.plot.express.data.jobs +``` + +### `stocks` dataset + +```python +from deephaven.plot import express as dx + +stocks = dx.data.stocks() +``` + +```{eval-rst} +.. dhautofunction:: deephaven.plot.express.data.stocks +``` + +### `tips` dataset + +```python +from deephaven.plot import express as dx + +tips = dx.data.tips() +``` + +```{eval-rst} +.. dhautofunction:: deephaven.plot.express.data.tips +``` + +### `election` dataset + +```python +from deephaven.plot import express as dx + +election = dx.data.election() +``` + +```{eval-rst} +.. dhautofunction:: deephaven.plot.express.data.election +``` + +### `wind` dataset + +```python +from deephaven.plot import express as dx + +wind = dx.data.wind() +``` + +```{eval-rst} +.. dhautofunction:: deephaven.plot.express.data.wind +``` + +### `gapminder` dataset + +```python +from deephaven.plot import express as dx + +gapminder = dx.data.gapminder() +``` + +```{eval-rst} +.. dhautofunction:: deephaven.plot.express.data.gapminder +``` + +### `fish_market` dataset + +```python +from deephaven.plot import express as dx + +fish_market = dx.data.fish_market() +``` + +```{eval-rst} +.. dhautofunction:: deephaven.plot.express.data.fish_market +``` diff --git a/plugins/plotly-express/docs/sidebar.json b/plugins/plotly-express/docs/sidebar.json index 9d84107d6..1dbbff929 100644 --- a/plugins/plotly-express/docs/sidebar.json +++ b/plugins/plotly-express/docs/sidebar.json @@ -156,6 +156,10 @@ { "label": "Limitations", "path": "limitations.md" + }, + { + "label": "Example Data", + "path": "example-data.md" } ] } diff --git a/plugins/plotly-express/docs/snapshots/0d46a7160c26bac3d461055643be674b.json b/plugins/plotly-express/docs/snapshots/0d46a7160c26bac3d461055643be674b.json new file mode 100644 index 000000000..f3f4c6114 --- /dev/null +++ b/plugins/plotly-express/docs/snapshots/0d46a7160c26bac3d461055643be674b.json @@ -0,0 +1 @@ +{"file":"example-data.md","objects":{"gapminder":{"type":"Table","data":{"columns":[{"name":"Country","type":"java.lang.String"},{"name":"Continent","type":"java.lang.String"},{"name":"Year","type":"long"},{"name":"Month","type":"long"},{"name":"LifeExp","type":"double"},{"name":"Pop","type":"long"},{"name":"GdpPerCap","type":"double"}],"rows":[[{"value":"Afghanistan"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"28.8010"},{"value":"8,425,333"},{"value":"779.4453"}],[{"value":"Albania"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"55.2300"},{"value":"1,282,697"},{"value":"1,601.0561"}],[{"value":"Algeria"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"43.0770"},{"value":"9,279,525"},{"value":"2,449.0082"}],[{"value":"Angola"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"30.0150"},{"value":"4,232,095"},{"value":"3,520.6103"}],[{"value":"Argentina"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"62.4850"},{"value":"17,876,956"},{"value":"5,911.3151"}],[{"value":"Australia"},{"value":"Oceania"},{"value":"1,952"},{"value":"1"},{"value":"69.1200"},{"value":"8,691,212"},{"value":"10,039.5956"}],[{"value":"Austria"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"66.8000"},{"value":"6,927,772"},{"value":"6,137.0765"}],[{"value":"Bahrain"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"50.9390"},{"value":"120,447"},{"value":"9,867.0848"}],[{"value":"Bangladesh"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"37.4840"},{"value":"46,886,859"},{"value":"684.2442"}],[{"value":"Belgium"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"68.0000"},{"value":"8,730,405"},{"value":"8,343.1051"}],[{"value":"Benin"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"38.2230"},{"value":"1,738,315"},{"value":"1,062.7522"}],[{"value":"Bolivia"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"40.4140"},{"value":"2,883,315"},{"value":"2,677.3263"}],[{"value":"Bosnia and Herzegovina"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"53.8200"},{"value":"2,791,000"},{"value":"973.5332"}],[{"value":"Botswana"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"47.6220"},{"value":"442,308"},{"value":"851.2411"}],[{"value":"Brazil"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"50.9170"},{"value":"56,602,560"},{"value":"2,108.9444"}],[{"value":"Bulgaria"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"59.6000"},{"value":"7,274,900"},{"value":"2,444.2866"}],[{"value":"Burkina Faso"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"31.9750"},{"value":"4,469,979"},{"value":"543.2552"}],[{"value":"Burundi"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"39.0310"},{"value":"2,445,618"},{"value":"339.2965"}],[{"value":"Cambodia"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"39.4170"},{"value":"4,693,836"},{"value":"368.4693"}],[{"value":"Cameroon"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"38.5230"},{"value":"5,009,067"},{"value":"1,172.6677"}],[{"value":"Canada"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"68.7500"},{"value":"14,785,584"},{"value":"11,367.1611"}],[{"value":"Central African Republic"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"35.4630"},{"value":"1,291,695"},{"value":"1,071.3107"}],[{"value":"Chad"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"38.0920"},{"value":"2,682,462"},{"value":"1,178.6659"}],[{"value":"Chile"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"54.7450"},{"value":"6,377,619"},{"value":"3,939.9788"}],[{"value":"China"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"44.0000"},{"value":"556,263,527"},{"value":"400.4486"}],[{"value":"Colombia"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"50.6430"},{"value":"12,350,771"},{"value":"2,144.1151"}],[{"value":"Comoros"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"40.7150"},{"value":"153,936"},{"value":"1,102.9909"}],[{"value":"Congo, Dem. Rep."},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"39.1430"},{"value":"14,100,005"},{"value":"780.5423"}],[{"value":"Congo, Rep."},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"42.1110"},{"value":"854,885"},{"value":"2,125.6214"}],[{"value":"Costa Rica"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"57.2060"},{"value":"926,317"},{"value":"2,627.0095"}],[{"value":"Cote d'Ivoire"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"40.4770"},{"value":"2,977,019"},{"value":"1,388.5947"}],[{"value":"Croatia"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"61.2100"},{"value":"3,882,229"},{"value":"3,119.2365"}],[{"value":"Cuba"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"59.4210"},{"value":"6,007,797"},{"value":"5,586.5388"}],[{"value":"Czech Republic"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"66.8700"},{"value":"9,125,183"},{"value":"6,876.1403"}],[{"value":"Denmark"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"70.7800"},{"value":"4,334,000"},{"value":"9,692.3852"}],[{"value":"Djibouti"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"34.8120"},{"value":"63,149"},{"value":"2,669.5295"}],[{"value":"Dominican Republic"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"45.9280"},{"value":"2,491,346"},{"value":"1,397.7171"}],[{"value":"Ecuador"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"48.3570"},{"value":"3,548,753"},{"value":"3,522.1107"}],[{"value":"Egypt"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"41.8930"},{"value":"22,223,309"},{"value":"1,418.8224"}],[{"value":"El Salvador"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"45.2620"},{"value":"2,042,865"},{"value":"3,048.3029"}],[{"value":"Equatorial Guinea"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"34.4820"},{"value":"216,964"},{"value":"375.6431"}],[{"value":"Eritrea"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"35.9280"},{"value":"1,438,760"},{"value":"328.9406"}],[{"value":"Ethiopia"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"34.0780"},{"value":"20,860,941"},{"value":"362.1463"}],[{"value":"Finland"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"66.5500"},{"value":"4,090,500"},{"value":"6,424.5191"}],[{"value":"France"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"67.4100"},{"value":"42,459,667"},{"value":"7,029.8093"}],[{"value":"Gabon"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"37.0030"},{"value":"420,702"},{"value":"4,293.4765"}],[{"value":"Gambia"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"30.0000"},{"value":"284,320"},{"value":"485.2307"}],[{"value":"Germany"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"67.5000"},{"value":"69,145,952"},{"value":"7,144.1144"}],[{"value":"Ghana"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"43.1490"},{"value":"5,581,001"},{"value":"911.2989"}],[{"value":"Greece"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"65.8600"},{"value":"7,733,250"},{"value":"3,530.6901"}],[{"value":"Guatemala"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"42.0230"},{"value":"3,146,381"},{"value":"2,428.2378"}],[{"value":"Guinea"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"33.6090"},{"value":"2,664,249"},{"value":"510.1965"}],[{"value":"Guinea-Bissau"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"32.5000"},{"value":"580,653"},{"value":"299.8503"}],[{"value":"Haiti"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"37.5790"},{"value":"3,201,488"},{"value":"1,840.3669"}],[{"value":"Honduras"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"41.9120"},{"value":"1,517,453"},{"value":"2,194.9262"}],[{"value":"Hong Kong, China"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"60.9600"},{"value":"2,125,900"},{"value":"3,054.4212"}],[{"value":"Hungary"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"64.0300"},{"value":"9,504,000"},{"value":"5,263.6738"}],[{"value":"Iceland"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"72.4900"},{"value":"147,962"},{"value":"7,267.6884"}],[{"value":"India"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"37.3730"},{"value":"372,000,000"},{"value":"546.5657"}],[{"value":"Indonesia"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"37.4680"},{"value":"82,052,000"},{"value":"749.6817"}],[{"value":"Iran"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"44.8690"},{"value":"17,272,000"},{"value":"3,035.3260"}],[{"value":"Iraq"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"45.3200"},{"value":"5,441,766"},{"value":"4,129.7661"}],[{"value":"Ireland"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"66.9100"},{"value":"2,952,156"},{"value":"5,210.2803"}],[{"value":"Israel"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"65.3900"},{"value":"1,620,914"},{"value":"4,086.5221"}],[{"value":"Italy"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"65.9400"},{"value":"47,666,000"},{"value":"4,931.4042"}],[{"value":"Jamaica"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"58.5300"},{"value":"1,426,095"},{"value":"2,898.5309"}],[{"value":"Japan"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"63.0300"},{"value":"86,459,025"},{"value":"3,216.9563"}],[{"value":"Jordan"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"43.1580"},{"value":"607,914"},{"value":"1,546.9078"}],[{"value":"Kenya"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"42.2700"},{"value":"6,464,046"},{"value":"853.5409"}],[{"value":"Korea, Dem. Rep."},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"50.0560"},{"value":"8,865,488"},{"value":"1,088.2778"}],[{"value":"Korea, Rep."},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"47.4530"},{"value":"20,947,571"},{"value":"1,030.5922"}],[{"value":"Kuwait"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"55.5650"},{"value":"160,000"},{"value":"108,382.3529"}],[{"value":"Lebanon"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"55.9280"},{"value":"1,439,529"},{"value":"4,834.8041"}],[{"value":"Lesotho"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"42.1380"},{"value":"748,747"},{"value":"298.8462"}],[{"value":"Liberia"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"38.4800"},{"value":"863,308"},{"value":"575.5730"}],[{"value":"Libya"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"42.7230"},{"value":"1,019,729"},{"value":"2,387.5481"}],[{"value":"Madagascar"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"36.6810"},{"value":"4,762,912"},{"value":"1,443.0117"}],[{"value":"Malawi"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"36.2560"},{"value":"2,917,802"},{"value":"369.1651"}],[{"value":"Malaysia"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"48.4630"},{"value":"6,748,378"},{"value":"1,831.1329"}],[{"value":"Mali"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"33.6850"},{"value":"3,838,168"},{"value":"452.3370"}],[{"value":"Mauritania"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"40.5430"},{"value":"1,022,556"},{"value":"743.1159"}],[{"value":"Mauritius"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"50.9860"},{"value":"516,556"},{"value":"1,967.9557"}],[{"value":"Mexico"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"50.7890"},{"value":"30,144,317"},{"value":"3,478.1255"}],[{"value":"Mongolia"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"42.2440"},{"value":"800,663"},{"value":"786.5669"}],[{"value":"Montenegro"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"59.1640"},{"value":"413,834"},{"value":"2,647.5856"}],[{"value":"Morocco"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"42.8730"},{"value":"9,939,217"},{"value":"1,688.2036"}],[{"value":"Mozambique"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"31.2860"},{"value":"6,446,316"},{"value":"468.5260"}],[{"value":"Myanmar"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"36.3190"},{"value":"20,092,996"},{"value":"331.0000"}],[{"value":"Namibia"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"41.7250"},{"value":"485,831"},{"value":"2,423.7804"}],[{"value":"Nepal"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"36.1570"},{"value":"9,182,536"},{"value":"545.8657"}],[{"value":"Netherlands"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"72.1300"},{"value":"10,381,988"},{"value":"8,941.5719"}],[{"value":"New Zealand"},{"value":"Oceania"},{"value":"1,952"},{"value":"1"},{"value":"69.3900"},{"value":"1,994,794"},{"value":"10,556.5757"}],[{"value":"Nicaragua"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"42.3140"},{"value":"1,165,790"},{"value":"3,112.3639"}],[{"value":"Niger"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"37.4440"},{"value":"3,379,468"},{"value":"761.8794"}],[{"value":"Nigeria"},{"value":"Africa"},{"value":"1,952"},{"value":"1"},{"value":"36.3240"},{"value":"33,119,096"},{"value":"1,077.2819"}],[{"value":"Norway"},{"value":"Europe"},{"value":"1,952"},{"value":"1"},{"value":"72.6700"},{"value":"3,327,728"},{"value":"10,095.4217"}],[{"value":"Oman"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"37.5780"},{"value":"507,833"},{"value":"1,828.2303"}],[{"value":"Pakistan"},{"value":"Asia"},{"value":"1,952"},{"value":"1"},{"value":"43.4360"},{"value":"41,346,560"},{"value":"684.5971"}],[{"value":"Panama"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"55.1910"},{"value":"940,080"},{"value":"2,480.3803"}],[{"value":"Paraguay"},{"value":"Americas"},{"value":"1,952"},{"value":"1"},{"value":"62.6490"},{"value":"1,555,876"},{"value":"1,952.3087"}]]}}}} \ No newline at end of file diff --git a/plugins/plotly-express/docs/snapshots/117daf0612240f025f73da1ba1ce2ccb.json b/plugins/plotly-express/docs/snapshots/117daf0612240f025f73da1ba1ce2ccb.json new file mode 100644 index 000000000..6fbf21a18 --- /dev/null +++ b/plugins/plotly-express/docs/snapshots/117daf0612240f025f73da1ba1ce2ccb.json @@ -0,0 +1 @@ +{"file":"example-data.md","objects":{"iris":{"type":"Table","data":{"columns":[{"name":"Timestamp","type":"java.time.Instant"},{"name":"SepalLength","type":"double"},{"name":"SepalWidth","type":"double"},{"name":"PetalLength","type":"double"},{"name":"PetalWidth","type":"double"},{"name":"Species","type":"java.lang.String"},{"name":"SpeciesID","type":"long"}],"rows":[[{"value":"1936-01-01 08:00:00.000"},{"value":"5.1000"},{"value":"3.5000"},{"value":"1.4000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:01.000"},{"value":"4.9000"},{"value":"3.0000"},{"value":"1.4000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:02.000"},{"value":"4.7000"},{"value":"3.2000"},{"value":"1.3000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:03.000"},{"value":"4.6000"},{"value":"3.1000"},{"value":"1.5000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:04.000"},{"value":"5.0000"},{"value":"3.6000"},{"value":"1.4000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:05.000"},{"value":"5.4000"},{"value":"3.9000"},{"value":"1.7000"},{"value":"0.4000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:06.000"},{"value":"4.6000"},{"value":"3.4000"},{"value":"1.4000"},{"value":"0.3000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:07.000"},{"value":"5.0000"},{"value":"3.4000"},{"value":"1.5000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:08.000"},{"value":"4.4000"},{"value":"2.9000"},{"value":"1.4000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:09.000"},{"value":"4.9000"},{"value":"3.1000"},{"value":"1.5000"},{"value":"0.1000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:10.000"},{"value":"5.4000"},{"value":"3.7000"},{"value":"1.5000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:11.000"},{"value":"4.8000"},{"value":"3.4000"},{"value":"1.6000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:12.000"},{"value":"4.8000"},{"value":"3.0000"},{"value":"1.4000"},{"value":"0.1000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:13.000"},{"value":"4.3000"},{"value":"3.0000"},{"value":"1.1000"},{"value":"0.1000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:14.000"},{"value":"5.8000"},{"value":"4.0000"},{"value":"1.2000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:15.000"},{"value":"5.7000"},{"value":"4.4000"},{"value":"1.5000"},{"value":"0.4000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:16.000"},{"value":"5.4000"},{"value":"3.9000"},{"value":"1.3000"},{"value":"0.4000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:17.000"},{"value":"5.1000"},{"value":"3.5000"},{"value":"1.4000"},{"value":"0.3000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:18.000"},{"value":"5.7000"},{"value":"3.8000"},{"value":"1.7000"},{"value":"0.3000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:19.000"},{"value":"5.1000"},{"value":"3.8000"},{"value":"1.5000"},{"value":"0.3000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:20.000"},{"value":"5.4000"},{"value":"3.4000"},{"value":"1.7000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:21.000"},{"value":"5.1000"},{"value":"3.7000"},{"value":"1.5000"},{"value":"0.4000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:22.000"},{"value":"4.6000"},{"value":"3.6000"},{"value":"1.0000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:23.000"},{"value":"5.1000"},{"value":"3.3000"},{"value":"1.7000"},{"value":"0.5000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:24.000"},{"value":"4.8000"},{"value":"3.4000"},{"value":"1.9000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:25.000"},{"value":"5.0000"},{"value":"3.0000"},{"value":"1.6000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:26.000"},{"value":"5.0000"},{"value":"3.4000"},{"value":"1.6000"},{"value":"0.4000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:27.000"},{"value":"5.2000"},{"value":"3.5000"},{"value":"1.5000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:28.000"},{"value":"5.2000"},{"value":"3.4000"},{"value":"1.4000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:29.000"},{"value":"4.7000"},{"value":"3.2000"},{"value":"1.6000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:30.000"},{"value":"4.8000"},{"value":"3.1000"},{"value":"1.6000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:31.000"},{"value":"5.4000"},{"value":"3.4000"},{"value":"1.5000"},{"value":"0.4000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:32.000"},{"value":"5.2000"},{"value":"4.1000"},{"value":"1.5000"},{"value":"0.1000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:33.000"},{"value":"5.5000"},{"value":"4.2000"},{"value":"1.4000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:34.000"},{"value":"4.9000"},{"value":"3.1000"},{"value":"1.5000"},{"value":"0.1000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:35.000"},{"value":"5.0000"},{"value":"3.2000"},{"value":"1.2000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:36.000"},{"value":"5.5000"},{"value":"3.5000"},{"value":"1.3000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:37.000"},{"value":"4.9000"},{"value":"3.1000"},{"value":"1.5000"},{"value":"0.1000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:38.000"},{"value":"4.4000"},{"value":"3.0000"},{"value":"1.3000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:39.000"},{"value":"5.1000"},{"value":"3.4000"},{"value":"1.5000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:40.000"},{"value":"5.0000"},{"value":"3.5000"},{"value":"1.3000"},{"value":"0.3000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:41.000"},{"value":"4.5000"},{"value":"2.3000"},{"value":"1.3000"},{"value":"0.3000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:42.000"},{"value":"4.4000"},{"value":"3.2000"},{"value":"1.3000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:43.000"},{"value":"5.0000"},{"value":"3.5000"},{"value":"1.6000"},{"value":"0.6000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:44.000"},{"value":"5.1000"},{"value":"3.8000"},{"value":"1.9000"},{"value":"0.4000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:45.000"},{"value":"4.8000"},{"value":"3.0000"},{"value":"1.4000"},{"value":"0.3000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:46.000"},{"value":"5.1000"},{"value":"3.8000"},{"value":"1.6000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:47.000"},{"value":"4.6000"},{"value":"3.2000"},{"value":"1.4000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:48.000"},{"value":"5.3000"},{"value":"3.7000"},{"value":"1.5000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:49.000"},{"value":"5.0000"},{"value":"3.3000"},{"value":"1.4000"},{"value":"0.2000"},{"value":"setosa"},{"value":"1"}],[{"value":"1936-01-01 08:00:50.000"},{"value":"7.0000"},{"value":"3.2000"},{"value":"4.7000"},{"value":"1.4000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:00:51.000"},{"value":"6.4000"},{"value":"3.2000"},{"value":"4.5000"},{"value":"1.5000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:00:52.000"},{"value":"6.9000"},{"value":"3.1000"},{"value":"4.9000"},{"value":"1.5000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:00:53.000"},{"value":"5.5000"},{"value":"2.3000"},{"value":"4.0000"},{"value":"1.3000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:00:54.000"},{"value":"6.5000"},{"value":"2.8000"},{"value":"4.6000"},{"value":"1.5000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:00:55.000"},{"value":"5.7000"},{"value":"2.8000"},{"value":"4.5000"},{"value":"1.3000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:00:56.000"},{"value":"6.3000"},{"value":"3.3000"},{"value":"4.7000"},{"value":"1.6000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:00:57.000"},{"value":"4.9000"},{"value":"2.4000"},{"value":"3.3000"},{"value":"1.0000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:00:58.000"},{"value":"6.6000"},{"value":"2.9000"},{"value":"4.6000"},{"value":"1.3000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:00:59.000"},{"value":"5.2000"},{"value":"2.7000"},{"value":"3.9000"},{"value":"1.4000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:00.000"},{"value":"5.0000"},{"value":"2.0000"},{"value":"3.5000"},{"value":"1.0000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:01.000"},{"value":"5.9000"},{"value":"3.0000"},{"value":"4.2000"},{"value":"1.5000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:02.000"},{"value":"6.0000"},{"value":"2.2000"},{"value":"4.0000"},{"value":"1.0000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:03.000"},{"value":"6.1000"},{"value":"2.9000"},{"value":"4.7000"},{"value":"1.4000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:04.000"},{"value":"5.6000"},{"value":"2.9000"},{"value":"3.6000"},{"value":"1.3000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:05.000"},{"value":"6.7000"},{"value":"3.1000"},{"value":"4.4000"},{"value":"1.4000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:06.000"},{"value":"5.6000"},{"value":"3.0000"},{"value":"4.5000"},{"value":"1.5000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:07.000"},{"value":"5.8000"},{"value":"2.7000"},{"value":"4.1000"},{"value":"1.0000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:08.000"},{"value":"6.2000"},{"value":"2.2000"},{"value":"4.5000"},{"value":"1.5000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:09.000"},{"value":"5.6000"},{"value":"2.5000"},{"value":"3.9000"},{"value":"1.1000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:10.000"},{"value":"5.9000"},{"value":"3.2000"},{"value":"4.8000"},{"value":"1.8000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:11.000"},{"value":"6.1000"},{"value":"2.8000"},{"value":"4.0000"},{"value":"1.3000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:12.000"},{"value":"6.3000"},{"value":"2.5000"},{"value":"4.9000"},{"value":"1.5000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:13.000"},{"value":"6.1000"},{"value":"2.8000"},{"value":"4.7000"},{"value":"1.2000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:14.000"},{"value":"6.4000"},{"value":"2.9000"},{"value":"4.3000"},{"value":"1.3000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:15.000"},{"value":"6.6000"},{"value":"3.0000"},{"value":"4.4000"},{"value":"1.4000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:16.000"},{"value":"6.8000"},{"value":"2.8000"},{"value":"4.8000"},{"value":"1.4000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:17.000"},{"value":"6.7000"},{"value":"3.0000"},{"value":"5.0000"},{"value":"1.7000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:18.000"},{"value":"6.0000"},{"value":"2.9000"},{"value":"4.5000"},{"value":"1.5000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:19.000"},{"value":"5.7000"},{"value":"2.6000"},{"value":"3.5000"},{"value":"1.0000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:20.000"},{"value":"5.5000"},{"value":"2.4000"},{"value":"3.8000"},{"value":"1.1000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:21.000"},{"value":"5.5000"},{"value":"2.4000"},{"value":"3.7000"},{"value":"1.0000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:22.000"},{"value":"5.8000"},{"value":"2.7000"},{"value":"3.9000"},{"value":"1.2000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:23.000"},{"value":"6.0000"},{"value":"2.7000"},{"value":"5.1000"},{"value":"1.6000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:24.000"},{"value":"5.4000"},{"value":"3.0000"},{"value":"4.5000"},{"value":"1.5000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:25.000"},{"value":"6.0000"},{"value":"3.4000"},{"value":"4.5000"},{"value":"1.6000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:26.000"},{"value":"6.7000"},{"value":"3.1000"},{"value":"4.7000"},{"value":"1.5000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:27.000"},{"value":"6.3000"},{"value":"2.3000"},{"value":"4.4000"},{"value":"1.3000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:28.000"},{"value":"5.6000"},{"value":"3.0000"},{"value":"4.1000"},{"value":"1.3000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:29.000"},{"value":"5.5000"},{"value":"2.5000"},{"value":"4.0000"},{"value":"1.3000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:30.000"},{"value":"5.5000"},{"value":"2.6000"},{"value":"4.4000"},{"value":"1.2000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:31.000"},{"value":"6.1000"},{"value":"3.0000"},{"value":"4.6000"},{"value":"1.4000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:32.000"},{"value":"5.8000"},{"value":"2.6000"},{"value":"4.0000"},{"value":"1.2000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:33.000"},{"value":"5.0000"},{"value":"2.3000"},{"value":"3.3000"},{"value":"1.0000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:34.000"},{"value":"5.6000"},{"value":"2.7000"},{"value":"4.2000"},{"value":"1.3000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:35.000"},{"value":"5.7000"},{"value":"3.0000"},{"value":"4.2000"},{"value":"1.2000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:36.000"},{"value":"5.7000"},{"value":"2.9000"},{"value":"4.2000"},{"value":"1.3000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:37.000"},{"value":"6.2000"},{"value":"2.9000"},{"value":"4.3000"},{"value":"1.3000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:38.000"},{"value":"5.1000"},{"value":"2.5000"},{"value":"3.0000"},{"value":"1.1000"},{"value":"versicolor"},{"value":"2"}],[{"value":"1936-01-01 08:01:39.000"},{"value":"5.7000"},{"value":"2.8000"},{"value":"4.1000"},{"value":"1.3000"},{"value":"versicolor"},{"value":"2"}]]}}}} \ No newline at end of file diff --git a/plugins/plotly-express/docs/snapshots/2f179e429124c726ac30a938315409bb.json b/plugins/plotly-express/docs/snapshots/2f179e429124c726ac30a938315409bb.json new file mode 100644 index 000000000..0602b5a92 --- /dev/null +++ b/plugins/plotly-express/docs/snapshots/2f179e429124c726ac30a938315409bb.json @@ -0,0 +1 @@ +{"file":"example-data.md","objects":{"marketing":{"type":"Table","data":{"columns":[{"name":"Stage","type":"java.lang.String"},{"name":"Count","type":"long"}],"rows":[[{"value":"VisitedWebsite"},{"value":"101"}],[{"value":"Downloaded"},{"value":"49"}],[{"value":"PotentialCustomer"},{"value":"39"}],[{"value":"RequestedPrice"},{"value":"33"}],[{"value":"InvoiceSent"},{"value":"10"}]]}}}} \ No newline at end of file diff --git a/plugins/plotly-express/docs/snapshots/49d3fd3db5d3ff802a3dbdf52c76eb1e.json b/plugins/plotly-express/docs/snapshots/49d3fd3db5d3ff802a3dbdf52c76eb1e.json new file mode 100644 index 000000000..7545b6fac --- /dev/null +++ b/plugins/plotly-express/docs/snapshots/49d3fd3db5d3ff802a3dbdf52c76eb1e.json @@ -0,0 +1 @@ +{"file":"example-data.md","objects":{"stocks":{"type":"Table","data":{"columns":[{"name":"Timestamp","type":"java.time.Instant"},{"name":"Sym","type":"java.lang.String"},{"name":"Exchange","type":"java.lang.String"},{"name":"Size","type":"long"},{"name":"Price","type":"double"},{"name":"Dollars","type":"double"},{"name":"Side","type":"java.lang.String"},{"name":"SPet500","type":"double"},{"name":"Index","type":"long"},{"name":"Random","type":"double"}],"rows":[[{"value":"2018-06-01 08:00:00.000"},{"value":"FISH"},{"value":"NYPE"},{"value":"836"},{"value":"127.9400"},{"value":"106,957.8400"},{"value":"buy"},{"value":"150.9417"},{"value":"0"},{"value":"0.9417"}],[{"value":"2018-06-01 08:00:00.100"},{"value":"CAT"},{"value":"PETX"},{"value":"2,140"},{"value":"102.2900"},{"value":"218,900.6000"},{"value":"buy"},{"value":"151.1752"},{"value":"1"},{"value":"1.2882"}],[{"value":"2018-06-01 08:00:00.200"},{"value":"CAT"},{"value":"TPET"},{"value":"12,780"},{"value":"103.2100"},{"value":"1,319,023.8000"},{"value":"buy"},{"value":"151.7902"},{"value":"2"},{"value":"2.3382"}],[{"value":"2018-06-01 08:00:00.300"},{"value":"CAT"},{"value":"TPET"},{"value":"1"},{"value":"103.8000"},{"value":"103.8000"},{"value":"buy"},{"value":"152.3109"},{"value":"3"},{"value":"0.0947"}],[{"value":"2018-06-01 08:00:00.400"},{"value":"CAT"},{"value":"NYPE"},{"value":"1"},{"value":"104.1800"},{"value":"104.1800"},{"value":"buy"},{"value":"152.7447"},{"value":"4"},{"value":"0.0409"}],[{"value":"2018-06-01 08:00:00.500"},{"value":"CAT"},{"value":"PETX"},{"value":"1,639"},{"value":"103.9500"},{"value":"170,374.0500"},{"value":"sell"},{"value":"152.8861"},{"value":"5"},{"value":"-1.1788"}],[{"value":"2018-06-01 08:00:00.600"},{"value":"CAT"},{"value":"NYPE"},{"value":"125"},{"value":"104.0000"},{"value":"13,000.0000"},{"value":"buy"},{"value":"153.0924"},{"value":"6"},{"value":"0.4997"}],[{"value":"2018-06-01 08:00:00.700"},{"value":"DOG"},{"value":"PETX"},{"value":"100"},{"value":"107.7400"},{"value":"10,774.0000"},{"value":"sell"},{"value":"153.2150"},{"value":"7"},{"value":"-0.2559"}],[{"value":"2018-06-01 08:00:00.800"},{"value":"LIZARD"},{"value":"PETX"},{"value":"53"},{"value":"225.3700"},{"value":"11,944.6100"},{"value":"buy"},{"value":"153.3830"},{"value":"8"},{"value":"0.3734"}],[{"value":"2018-06-01 08:00:00.900"},{"value":"FISH"},{"value":"TPET"},{"value":"100"},{"value":"127.5700"},{"value":"12,757.0000"},{"value":"sell"},{"value":"153.3501"},{"value":"9"},{"value":"-0.9408"}],[{"value":"2018-06-01 08:00:01.000"},{"value":"DOG"},{"value":"TPET"},{"value":"3"},{"value":"107.3700"},{"value":"322.1100"},{"value":"sell"},{"value":"153.1502"},{"value":"10"},{"value":"-0.9537"}],[{"value":"2018-06-01 08:00:01.100"},{"value":"FISH"},{"value":"PETX"},{"value":"20"},{"value":"126.8700"},{"value":"2,537.4000"},{"value":"sell"},{"value":"152.7647"},{"value":"11"},{"value":"-1.2241"}],[{"value":"2018-06-01 08:00:01.200"},{"value":"FISH"},{"value":"NYPE"},{"value":"3,019"},{"value":"125.8700"},{"value":"380,001.5300"},{"value":"sell"},{"value":"152.1871"},{"value":"12"},{"value":"-1.4452"}],[{"value":"2018-06-01 08:00:01.300"},{"value":"FISH"},{"value":"PETX"},{"value":"1"},{"value":"125.2300"},{"value":"125.2300"},{"value":"sell"},{"value":"151.6986"},{"value":"13"},{"value":"-0.0860"}],[{"value":"2018-06-01 08:00:01.400"},{"value":"FISH"},{"value":"PETX"},{"value":"1,810"},{"value":"125.3200"},{"value":"226,829.2000"},{"value":"buy"},{"value":"151.5197"},{"value":"14"},{"value":"1.2195"}],[{"value":"2018-06-01 08:00:01.500"},{"value":"FISH"},{"value":"NYPE"},{"value":"4"},{"value":"125.4400"},{"value":"501.7600"},{"value":"buy"},{"value":"151.4003"},{"value":"15"},{"value":"0.1495"}],[{"value":"2018-06-01 08:00:01.600"},{"value":"DOG"},{"value":"NYPE"},{"value":"402"},{"value":"106.8500"},{"value":"42,953.7000"},{"value":"sell"},{"value":"151.1689"},{"value":"16"},{"value":"-0.7379"}],[{"value":"2018-06-01 08:00:01.700"},{"value":"CAT"},{"value":"PETX"},{"value":"5,791"},{"value":"103.3300"},{"value":"598,384.0300"},{"value":"sell"},{"value":"150.6538"},{"value":"17"},{"value":"-1.7957"}],[{"value":"2018-06-01 08:00:01.800"},{"value":"CAT"},{"value":"TPET"},{"value":"100"},{"value":"103.1600"},{"value":"10,316.0000"},{"value":"buy"},{"value":"150.3438"},{"value":"18"},{"value":"0.6160"}],[{"value":"2018-06-01 08:00:01.900"},{"value":"CAT"},{"value":"PETX"},{"value":"100"},{"value":"102.7500"},{"value":"10,275.0000"},{"value":"sell"},{"value":"149.9495"},{"value":"19"},{"value":"-0.7750"}],[{"value":"2018-06-01 08:00:02.000"},{"value":"FISH"},{"value":"NYPE"},{"value":"2,010"},{"value":"126.0000"},{"value":"253,260.0000"},{"value":"buy"},{"value":"149.8556"},{"value":"20"},{"value":"1.2628"}],[{"value":"2018-06-01 08:00:02.100"},{"value":"CAT"},{"value":"NYPE"},{"value":"474"},{"value":"102.8100"},{"value":"48,731.9400"},{"value":"buy"},{"value":"149.9200"},{"value":"21"},{"value":"0.7792"}],[{"value":"2018-06-01 08:00:02.200"},{"value":"DOG"},{"value":"NYPE"},{"value":"150"},{"value":"106.7500"},{"value":"16,012.5000"},{"value":"buy"},{"value":"150.0690"},{"value":"22"},{"value":"0.5312"}],[{"value":"2018-06-01 08:00:02.300"},{"value":"BIRD"},{"value":"NYPE"},{"value":"100"},{"value":"166.1700"},{"value":"16,617.0000"},{"value":"buy"},{"value":"150.5843"},{"value":"23"},{"value":"2.1700"}],[{"value":"2018-06-01 08:00:02.400"},{"value":"LIZARD"},{"value":"NYPE"},{"value":"91"},{"value":"225.2000"},{"value":"20,493.2000"},{"value":"sell"},{"value":"150.9249"},{"value":"24"},{"value":"-0.4486"}],[{"value":"2018-06-01 08:00:02.500"},{"value":"LIZARD"},{"value":"PETX"},{"value":"4,385"},{"value":"224.4500"},{"value":"984,213.2500"},{"value":"sell"},{"value":"150.9070"},{"value":"25"},{"value":"-1.6367"}],[{"value":"2018-06-01 08:00:02.600"},{"value":"CAT"},{"value":"TPET"},{"value":"1"},{"value":"102.8500"},{"value":"102.8500"},{"value":"sell"},{"value":"150.8904"},{"value":"26"},{"value":"-0.0115"}],[{"value":"2018-06-01 08:00:02.700"},{"value":"DOG"},{"value":"NYPE"},{"value":"794"},{"value":"106.3200"},{"value":"84,418.0800"},{"value":"sell"},{"value":"150.7089"},{"value":"27"},{"value":"-0.9257"}],[{"value":"2018-06-01 08:00:02.800"},{"value":"DOG"},{"value":"TPET"},{"value":"65"},{"value":"106.2200"},{"value":"6,904.3000"},{"value":"buy"},{"value":"150.6332"},{"value":"28"},{"value":"0.4017"}],[{"value":"2018-06-01 08:00:02.900"},{"value":"DOG"},{"value":"TPET"},{"value":"100"},{"value":"105.8100"},{"value":"10,581.0000"},{"value":"sell"},{"value":"150.4117"},{"value":"29"},{"value":"-0.8795"}],[{"value":"2018-06-01 08:00:03.000"},{"value":"DOG"},{"value":"NYPE"},{"value":"515"},{"value":"105.2500"},{"value":"54,203.7500"},{"value":"sell"},{"value":"150.0852"},{"value":"30"},{"value":"-0.8015"}],[{"value":"2018-06-01 08:00:03.100"},{"value":"CAT"},{"value":"PETX"},{"value":"116"},{"value":"103.0600"},{"value":"11,954.9600"},{"value":"buy"},{"value":"149.9060"},{"value":"31"},{"value":"0.4869"}],[{"value":"2018-06-01 08:00:03.200"},{"value":"FISH"},{"value":"NYPE"},{"value":"100"},{"value":"126.5900"},{"value":"12,659.0000"},{"value":"buy"},{"value":"149.8705"},{"value":"32"},{"value":"0.6128"}],[{"value":"2018-06-01 08:00:03.300"},{"value":"CAT"},{"value":"PETX"},{"value":"2,091"},{"value":"102.6800"},{"value":"214,703.8800"},{"value":"sell"},{"value":"149.6096"},{"value":"33"},{"value":"-1.2786"}],[{"value":"2018-06-01 08:00:03.400"},{"value":"FISH"},{"value":"PETX"},{"value":"2,227"},{"value":"126.4300"},{"value":"281,559.6100"},{"value":"sell"},{"value":"149.1593"},{"value":"34"},{"value":"-1.3057"}],[{"value":"2018-06-01 08:00:03.500"},{"value":"FISH"},{"value":"PETX"},{"value":"4,013"},{"value":"125.7100"},{"value":"504,474.2300"},{"value":"sell"},{"value":"148.5026"},{"value":"35"},{"value":"-1.5890"}],[{"value":"2018-06-01 08:00:03.600"},{"value":"BIRD"},{"value":"TPET"},{"value":"2,499"},{"value":"165.6400"},{"value":"413,934.3600"},{"value":"sell"},{"value":"147.7190"},{"value":"36"},{"value":"-1.3569"}],[{"value":"2018-06-01 08:00:03.700"},{"value":"CAT"},{"value":"NYPE"},{"value":"6"},{"value":"102.3800"},{"value":"614.2800"},{"value":"sell"},{"value":"147.0445"},{"value":"37"},{"value":"-0.1816"}],[{"value":"2018-06-01 08:00:03.800"},{"value":"CAT"},{"value":"TPET"},{"value":"400"},{"value":"101.9400"},{"value":"40,776.0000"},{"value":"sell"},{"value":"146.3694"},{"value":"38"},{"value":"-0.6775"}],[{"value":"2018-06-01 08:00:03.900"},{"value":"CAT"},{"value":"TPET"},{"value":"15"},{"value":"101.7600"},{"value":"1,526.4000"},{"value":"buy"},{"value":"145.8614"},{"value":"39"},{"value":"0.2463"}],[{"value":"2018-06-01 08:00:04.000"},{"value":"CAT"},{"value":"PETX"},{"value":"7,783"},{"value":"100.8700"},{"value":"785,071.2100"},{"value":"sell"},{"value":"145.0862"},{"value":"40"},{"value":"-1.9817"}],[{"value":"2018-06-01 08:00:04.100"},{"value":"CAT"},{"value":"PETX"},{"value":"150"},{"value":"100.1300"},{"value":"15,019.5000"},{"value":"sell"},{"value":"144.3553"},{"value":"41"},{"value":"-0.5312"}],[{"value":"2018-06-01 08:00:04.200"},{"value":"BIRD"},{"value":"TPET"},{"value":"3"},{"value":"165.2600"},{"value":"495.7800"},{"value":"sell"},{"value":"143.7307"},{"value":"42"},{"value":"-0.1441"}],[{"value":"2018-06-01 08:00:04.300"},{"value":"DOG"},{"value":"PETX"},{"value":"3,370"},{"value":"105.4900"},{"value":"355,501.3000"},{"value":"buy"},{"value":"143.4910"},{"value":"43"},{"value":"1.4986"}],[{"value":"2018-06-01 08:00:04.400"},{"value":"CAT"},{"value":"PETX"},{"value":"1,155"},{"value":"99.2600"},{"value":"114,645.3000"},{"value":"sell"},{"value":"143.1046"},{"value":"44"},{"value":"-1.0489"}],[{"value":"2018-06-01 08:00:04.500"},{"value":"CAT"},{"value":"TPET"},{"value":"4"},{"value":"98.6800"},{"value":"394.7200"},{"value":"sell"},{"value":"142.7596"},{"value":"45"},{"value":"-0.1585"}],[{"value":"2018-06-01 08:00:04.600"},{"value":"BIRD"},{"value":"TPET"},{"value":"460"},{"value":"165.3300"},{"value":"76,051.8000"},{"value":"buy"},{"value":"142.6169"},{"value":"46"},{"value":"0.7717"}],[{"value":"2018-06-01 08:00:04.700"},{"value":"CAT"},{"value":"PETX"},{"value":"255"},{"value":"98.0700"},{"value":"25,007.8500"},{"value":"sell"},{"value":"142.3853"},{"value":"47"},{"value":"-0.6333"}],[{"value":"2018-06-01 08:00:04.800"},{"value":"CAT"},{"value":"PETX"},{"value":"131"},{"value":"97.5000"},{"value":"12,772.5000"},{"value":"sell"},{"value":"142.1037"},{"value":"48"},{"value":"-0.5077"}],[{"value":"2018-06-01 08:00:04.900"},{"value":"DOG"},{"value":"TPET"},{"value":"100"},{"value":"106.0200"},{"value":"10,602.0000"},{"value":"buy"},{"value":"142.0440"},{"value":"49"},{"value":"0.9428"}],[{"value":"2018-06-01 08:00:05.000"},{"value":"DOG"},{"value":"NYPE"},{"value":"487"},{"value":"106.0200"},{"value":"51,631.7400"},{"value":"sell"},{"value":"141.8526"},{"value":"50"},{"value":"-0.7866"}],[{"value":"2018-06-01 08:00:05.100"},{"value":"FISH"},{"value":"TPET"},{"value":"2"},{"value":"125.2900"},{"value":"250.5800"},{"value":"buy"},{"value":"141.7045"},{"value":"51"},{"value":"0.0481"}],[{"value":"2018-06-01 08:00:05.200"},{"value":"DOG"},{"value":"TPET"},{"value":"37"},{"value":"106.1600"},{"value":"3,927.9200"},{"value":"buy"},{"value":"141.6434"},{"value":"52"},{"value":"0.3318"}],[{"value":"2018-06-01 08:00:05.300"},{"value":"CAT"},{"value":"TPET"},{"value":"3,780"},{"value":"96.5500"},{"value":"364,959.0000"},{"value":"sell"},{"value":"141.3111"},{"value":"53"},{"value":"-1.5577"}],[{"value":"2018-06-01 08:00:05.400"},{"value":"DOG"},{"value":"PETX"},{"value":"102"},{"value":"106.4200"},{"value":"10,854.8400"},{"value":"buy"},{"value":"141.1234"},{"value":"54"},{"value":"0.4658"}],[{"value":"2018-06-01 08:00:05.500"},{"value":"FISH"},{"value":"PETX"},{"value":"2"},{"value":"125.8500"},{"value":"251.7000"},{"value":"buy"},{"value":"141.3447"},{"value":"55"},{"value":"2.0683"}],[{"value":"2018-06-01 08:00:05.600"},{"value":"DOG"},{"value":"NYPE"},{"value":"1,960"},{"value":"107.0800"},{"value":"209,876.8000"},{"value":"buy"},{"value":"141.7527"},{"value":"56"},{"value":"1.2517"}],[{"value":"2018-06-01 08:00:05.700"},{"value":"CAT"},{"value":"NYPE"},{"value":"2,130"},{"value":"96.4700"},{"value":"205,481.1000"},{"value":"buy"},{"value":"142.3202"},{"value":"57"},{"value":"1.2873"}],[{"value":"2018-06-01 08:00:05.800"},{"value":"LIZARD"},{"value":"NYPE"},{"value":"4"},{"value":"223.7600"},{"value":"895.0400"},{"value":"sell"},{"value":"142.6772"},{"value":"58"},{"value":"-0.5932"}],[{"value":"2018-06-01 08:00:05.900"},{"value":"CAT"},{"value":"PETX"},{"value":"50"},{"value":"96.5800"},{"value":"4,829.0000"},{"value":"buy"},{"value":"143.0375"},{"value":"59"},{"value":"0.3751"}],[{"value":"2018-06-01 08:00:06.000"},{"value":"FISH"},{"value":"TPET"},{"value":"102"},{"value":"126.0000"},{"value":"12,852.0000"},{"value":"sell"},{"value":"143.2479"},{"value":"60"},{"value":"-0.4667"}],[{"value":"2018-06-01 08:00:06.100"},{"value":"BIRD"},{"value":"TPET"},{"value":"2,072"},{"value":"164.8700"},{"value":"341,610.6400"},{"value":"sell"},{"value":"143.1891"},{"value":"61"},{"value":"-1.2748"}],[{"value":"2018-06-01 08:00:06.200"},{"value":"CAT"},{"value":"TPET"},{"value":"300"},{"value":"96.8600"},{"value":"29,058.0000"},{"value":"buy"},{"value":"143.2415"},{"value":"62"},{"value":"0.5544"}],[{"value":"2018-06-01 08:00:06.300"},{"value":"DOG"},{"value":"TPET"},{"value":"485"},{"value":"107.1600"},{"value":"51,972.6000"},{"value":"sell"},{"value":"143.1420"},{"value":"63"},{"value":"-0.7855"}],[{"value":"2018-06-01 08:00:06.400"},{"value":"LIZARD"},{"value":"PETX"},{"value":"2,714"},{"value":"222.7900"},{"value":"604,652.0600"},{"value":"sell"},{"value":"142.8076"},{"value":"64"},{"value":"-1.3948"}],[{"value":"2018-06-01 08:00:06.500"},{"value":"FISH"},{"value":"PETX"},{"value":"100"},{"value":"125.8200"},{"value":"12,582.0000"},{"value":"sell"},{"value":"142.4055"},{"value":"65"},{"value":"-0.7083"}],[{"value":"2018-06-01 08:00:06.600"},{"value":"DOG"},{"value":"NYPE"},{"value":"896"},{"value":"107.6000"},{"value":"96,409.6000"},{"value":"buy"},{"value":"142.2510"},{"value":"66"},{"value":"0.9639"}],[{"value":"2018-06-01 08:00:06.700"},{"value":"CAT"},{"value":"TPET"},{"value":"4"},{"value":"97.6200"},{"value":"390.4800"},{"value":"buy"},{"value":"142.4000"},{"value":"67"},{"value":"1.5196"}],[{"value":"2018-06-01 08:00:06.800"},{"value":"DOG"},{"value":"TPET"},{"value":"2"},{"value":"107.8100"},{"value":"215.6200"},{"value":"sell"},{"value":"142.4994"},{"value":"68"},{"value":"-0.1244"}],[{"value":"2018-06-01 08:00:06.900"},{"value":"LIZARD"},{"value":"PETX"},{"value":"6"},{"value":"222.1300"},{"value":"1,332.7800"},{"value":"sell"},{"value":"142.5482"},{"value":"69"},{"value":"-0.1802"}],[{"value":"2018-06-01 08:00:07.000"},{"value":"DOG"},{"value":"TPET"},{"value":"349"},{"value":"108.2100"},{"value":"37,765.2900"},{"value":"buy"},{"value":"142.7157"},{"value":"70"},{"value":"0.7040"}],[{"value":"2018-06-01 08:00:07.100"},{"value":"FISH"},{"value":"PETX"},{"value":"100"},{"value":"125.4600"},{"value":"12,546.0000"},{"value":"sell"},{"value":"142.7401"},{"value":"71"},{"value":"-0.6218"}],[{"value":"2018-06-01 08:00:07.200"},{"value":"CAT"},{"value":"PETX"},{"value":"4"},{"value":"98.5600"},{"value":"394.2400"},{"value":"buy"},{"value":"142.9781"},{"value":"72"},{"value":"1.2029"}],[{"value":"2018-06-01 08:00:07.300"},{"value":"BIRD"},{"value":"TPET"},{"value":"200"},{"value":"164.5100"},{"value":"32,902.0000"},{"value":"sell"},{"value":"143.1332"},{"value":"73"},{"value":"-0.2200"}],[{"value":"2018-06-01 08:00:07.400"},{"value":"FISH"},{"value":"TPET"},{"value":"449"},{"value":"125.5500"},{"value":"56,371.9500"},{"value":"buy"},{"value":"143.3988"},{"value":"74"},{"value":"0.7655"}],[{"value":"2018-06-01 08:00:07.500"},{"value":"FISH"},{"value":"PETX"},{"value":"1,063"},{"value":"125.2000"},{"value":"133,087.6000"},{"value":"sell"},{"value":"143.4314"},{"value":"75"},{"value":"-1.0206"}],[{"value":"2018-06-01 08:00:07.600"},{"value":"DOG"},{"value":"NYPE"},{"value":"4,766"},{"value":"107.8000"},{"value":"513,774.8000"},{"value":"sell"},{"value":"143.1530"},{"value":"76"},{"value":"-1.6829"}],[{"value":"2018-06-01 08:00:07.700"},{"value":"LIZARD"},{"value":"TPET"},{"value":"20"},{"value":"221.8400"},{"value":"4,436.8000"},{"value":"buy"},{"value":"142.9739"},{"value":"77"},{"value":"0.2697"}],[{"value":"2018-06-01 08:00:07.800"},{"value":"DOG"},{"value":"PETX"},{"value":"6"},{"value":"107.6200"},{"value":"645.7200"},{"value":"buy"},{"value":"142.8594"},{"value":"78"},{"value":"0.1771"}],[{"value":"2018-06-01 08:00:07.900"},{"value":"DOG"},{"value":"PETX"},{"value":"183"},{"value":"107.7300"},{"value":"19,714.5900"},{"value":"buy"},{"value":"142.8684"},{"value":"79"},{"value":"0.5669"}],[{"value":"2018-06-01 08:00:08.000"},{"value":"DOG"},{"value":"PETX"},{"value":"5"},{"value":"107.7300"},{"value":"538.6500"},{"value":"sell"},{"value":"142.8453"},{"value":"80"},{"value":"-0.1682"}],[{"value":"2018-06-01 08:00:08.100"},{"value":"BIRD"},{"value":"PETX"},{"value":"100"},{"value":"163.8500"},{"value":"16,385.0000"},{"value":"sell"},{"value":"142.6273"},{"value":"81"},{"value":"-1.0982"}],[{"value":"2018-06-01 08:00:08.200"},{"value":"DOG"},{"value":"NYPE"},{"value":"363"},{"value":"108.0100"},{"value":"39,207.6300"},{"value":"buy"},{"value":"142.5781"},{"value":"82"},{"value":"0.7128"}],[{"value":"2018-06-01 08:00:08.300"},{"value":"FISH"},{"value":"NYPE"},{"value":"7,656"},{"value":"124.2100"},{"value":"950,951.7600"},{"value":"sell"},{"value":"142.1805"},{"value":"83"},{"value":"-1.9709"}],[{"value":"2018-06-01 08:00:08.400"},{"value":"DOG"},{"value":"NYPE"},{"value":"20"},{"value":"108.0800"},{"value":"2,161.6000"},{"value":"sell"},{"value":"141.8084"},{"value":"84"},{"value":"-0.2565"}],[{"value":"2018-06-01 08:00:08.500"},{"value":"FISH"},{"value":"NYPE"},{"value":"80"},{"value":"123.7800"},{"value":"9,902.4000"},{"value":"buy"},{"value":"141.5819"},{"value":"85"},{"value":"0.4304"}],[{"value":"2018-06-01 08:00:08.600"},{"value":"LIZARD"},{"value":"NYPE"},{"value":"1"},{"value":"221.6900"},{"value":"221.6900"},{"value":"buy"},{"value":"141.4081"},{"value":"86"},{"value":"0.0648"}],[{"value":"2018-06-01 08:00:08.700"},{"value":"FISH"},{"value":"PETX"},{"value":"62"},{"value":"123.6800"},{"value":"7,668.1600"},{"value":"buy"},{"value":"141.3372"},{"value":"87"},{"value":"0.3939"}],[{"value":"2018-06-01 08:00:08.800"},{"value":"BIRD"},{"value":"NYPE"},{"value":"140"},{"value":"163.2500"},{"value":"22,855.0000"},{"value":"sell"},{"value":"141.1853"},{"value":"88"},{"value":"-0.5184"}],[{"value":"2018-06-01 08:00:08.900"},{"value":"BIRD"},{"value":"NYPE"},{"value":"1,700"},{"value":"163.3600"},{"value":"277,712.0000"},{"value":"buy"},{"value":"141.2770"},{"value":"89"},{"value":"1.1928"}],[{"value":"2018-06-01 08:00:09.000"},{"value":"FISH"},{"value":"PETX"},{"value":"50"},{"value":"123.6600"},{"value":"6,183.0000"},{"value":"buy"},{"value":"141.3751"},{"value":"90"},{"value":"0.1266"}],[{"value":"2018-06-01 08:00:09.100"},{"value":"DOG"},{"value":"TPET"},{"value":"151"},{"value":"108.3300"},{"value":"16,357.8300"},{"value":"buy"},{"value":"141.5519"},{"value":"91"},{"value":"0.5324"}],[{"value":"2018-06-01 08:00:09.200"},{"value":"FISH"},{"value":"NYPE"},{"value":"3"},{"value":"123.2100"},{"value":"369.6300"},{"value":"sell"},{"value":"141.4910"},{"value":"92"},{"value":"-1.1346"}],[{"value":"2018-06-01 08:00:09.300"},{"value":"FISH"},{"value":"TPET"},{"value":"100"},{"value":"123.3200"},{"value":"12,332.0000"},{"value":"buy"},{"value":"141.6216"},{"value":"93"},{"value":"0.9951"}],[{"value":"2018-06-01 08:00:09.400"},{"value":"LIZARD"},{"value":"TPET"},{"value":"100"},{"value":"221.4000"},{"value":"22,140.0000"},{"value":"sell"},{"value":"141.6391"},{"value":"94"},{"value":"-0.4927"}],[{"value":"2018-06-01 08:00:09.500"},{"value":"DOG"},{"value":"TPET"},{"value":"1"},{"value":"108.5200"},{"value":"108.5200"},{"value":"buy"},{"value":"141.6674"},{"value":"95"},{"value":"0.0766"}],[{"value":"2018-06-01 08:00:09.600"},{"value":"FISH"},{"value":"PETX"},{"value":"3,376"},{"value":"122.8000"},{"value":"414,572.8000"},{"value":"sell"},{"value":"141.4186"},{"value":"96"},{"value":"-1.5000"}],[{"value":"2018-06-01 08:00:09.700"},{"value":"CAT"},{"value":"TPET"},{"value":"237"},{"value":"99.3800"},{"value":"23,553.0600"},{"value":"buy"},{"value":"141.3270"},{"value":"97"},{"value":"0.6185"}],[{"value":"2018-06-01 08:00:09.800"},{"value":"FISH"},{"value":"PETX"},{"value":"1,598"},{"value":"122.0300"},{"value":"195,003.9400"},{"value":"sell"},{"value":"141.0401"},{"value":"98"},{"value":"-1.1691"}],[{"value":"2018-06-01 08:00:09.900"},{"value":"BIRD"},{"value":"PETX"},{"value":"167"},{"value":"163.2100"},{"value":"27,256.0700"},{"value":"sell"},{"value":"140.7055"},{"value":"99"},{"value":"-0.5502"}]]}}}} \ No newline at end of file diff --git a/plugins/plotly-express/docs/snapshots/518c4fa14e1947217c97ca5db46d39e4.json b/plugins/plotly-express/docs/snapshots/518c4fa14e1947217c97ca5db46d39e4.json new file mode 100644 index 000000000..226f8815f --- /dev/null +++ b/plugins/plotly-express/docs/snapshots/518c4fa14e1947217c97ca5db46d39e4.json @@ -0,0 +1 @@ +{"file":"example-data.md","objects":{"election":{"type":"Table","data":{"columns":[{"name":"District","type":"java.lang.String"},{"name":"Coderre","type":"long"},{"name":"Bergeron","type":"long"},{"name":"Joly","type":"long"},{"name":"Total","type":"long"},{"name":"Winner","type":"java.lang.String"},{"name":"Result","type":"java.lang.String"},{"name":"DistrictID","type":"long"}],"rows":[[{"value":"101-Bois-de-Liesse"},{"value":"2,481"},{"value":"1,829"},{"value":"3,024"},{"value":"7,334"},{"value":"Joly"},{"value":"plurality"},{"value":"101"}],[{"value":"102-Cap-Saint-Jacques"},{"value":"2,525"},{"value":"1,163"},{"value":"2,675"},{"value":"6,363"},{"value":"Joly"},{"value":"plurality"},{"value":"102"}],[{"value":"11-Sault-au-Récollet"},{"value":"3,348"},{"value":"2,770"},{"value":"2,532"},{"value":"8,650"},{"value":"Coderre"},{"value":"plurality"},{"value":"11"}],[{"value":"111-Mile-End"},{"value":"1,734"},{"value":"4,782"},{"value":"2,514"},{"value":"9,030"},{"value":"Bergeron"},{"value":"majority"},{"value":"111"}],[{"value":"112-DeLorimier"},{"value":"1,770"},{"value":"5,933"},{"value":"3,044"},{"value":"10,747"},{"value":"Bergeron"},{"value":"majority"},{"value":"112"}],[{"value":"113-Jeanne-Mance"},{"value":"1,455"},{"value":"3,599"},{"value":"2,316"},{"value":"7,370"},{"value":"Bergeron"},{"value":"plurality"},{"value":"113"}],[{"value":"12-Saint-Sulpice"},{"value":"3,252"},{"value":"2,521"},{"value":"2,543"},{"value":"8,316"},{"value":"Coderre"},{"value":"plurality"},{"value":"12"}],[{"value":"121-La Pointe-aux-Prairies"},{"value":"5,456"},{"value":"1,760"},{"value":"3,330"},{"value":"10,546"},{"value":"Coderre"},{"value":"majority"},{"value":"121"}],[{"value":"122-Pointe-aux-Trembles"},{"value":"4,734"},{"value":"1,879"},{"value":"2,852"},{"value":"9,465"},{"value":"Coderre"},{"value":"majority"},{"value":"122"}],[{"value":"123-Rivière-des-Prairies"},{"value":"5,737"},{"value":"958"},{"value":"1,656"},{"value":"8,351"},{"value":"Coderre"},{"value":"majority"},{"value":"123"}],[{"value":"13-Ahuntsic"},{"value":"2,979"},{"value":"3,430"},{"value":"2,873"},{"value":"9,282"},{"value":"Bergeron"},{"value":"plurality"},{"value":"13"}],[{"value":"131-Saint-Édouard"},{"value":"1,827"},{"value":"6,408"},{"value":"2,815"},{"value":"11,050"},{"value":"Bergeron"},{"value":"majority"},{"value":"131"}],[{"value":"132-Étienne-Desmarteau"},{"value":"2,331"},{"value":"5,748"},{"value":"2,788"},{"value":"10,867"},{"value":"Bergeron"},{"value":"majority"},{"value":"132"}],[{"value":"133-Vieux-Rosemont"},{"value":"2,670"},{"value":"4,962"},{"value":"3,234"},{"value":"10,866"},{"value":"Bergeron"},{"value":"plurality"},{"value":"133"}],[{"value":"134-Marie-Victorin"},{"value":"3,673"},{"value":"3,155"},{"value":"2,431"},{"value":"9,259"},{"value":"Coderre"},{"value":"plurality"},{"value":"134"}],[{"value":"14-Bordeaux-Cartierville"},{"value":"3,612"},{"value":"1,554"},{"value":"2,081"},{"value":"7,247"},{"value":"Coderre"},{"value":"plurality"},{"value":"14"}],[{"value":"141-Côte-de-Liesse"},{"value":"4,308"},{"value":"1,320"},{"value":"3,959"},{"value":"9,587"},{"value":"Coderre"},{"value":"plurality"},{"value":"141"}],[{"value":"142-Norman-McLaren"},{"value":"4,104"},{"value":"1,459"},{"value":"2,822"},{"value":"8,385"},{"value":"Coderre"},{"value":"plurality"},{"value":"142"}]]}}}} \ No newline at end of file diff --git a/plugins/plotly-express/docs/snapshots/6a6341094212e2f1e299d8395a5e8b55.json b/plugins/plotly-express/docs/snapshots/6a6341094212e2f1e299d8395a5e8b55.json new file mode 100644 index 000000000..b33718095 --- /dev/null +++ b/plugins/plotly-express/docs/snapshots/6a6341094212e2f1e299d8395a5e8b55.json @@ -0,0 +1 @@ +{"file":"example-data.md","objects":{"tips":{"type":"Table","data":{"columns":[{"name":"TotalBill","type":"double"},{"name":"Tip","type":"double"},{"name":"Sex","type":"java.lang.String"},{"name":"Smoker","type":"java.lang.String"},{"name":"Day","type":"java.lang.String"},{"name":"Time","type":"java.lang.String"},{"name":"Size","type":"long"}],"rows":[[{"value":"16.9900"},{"value":"1.0100"},{"value":"Female"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"10.3400"},{"value":"1.6600"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"3"}],[{"value":"21.0100"},{"value":"3.5000"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"3"}],[{"value":"23.6800"},{"value":"3.3100"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"24.5900"},{"value":"3.6100"},{"value":"Female"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"4"}],[{"value":"25.2900"},{"value":"4.7100"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"4"}],[{"value":"8.7700"},{"value":"2.0000"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"26.8800"},{"value":"3.1200"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"4"}],[{"value":"15.0400"},{"value":"1.9600"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"14.7800"},{"value":"3.2300"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"10.2700"},{"value":"1.7100"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"35.2600"},{"value":"5.0000"},{"value":"Female"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"4"}],[{"value":"15.4200"},{"value":"1.5700"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"18.4300"},{"value":"3.0000"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"4"}],[{"value":"14.8300"},{"value":"3.0200"},{"value":"Female"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"21.5800"},{"value":"3.9200"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"10.3300"},{"value":"1.6700"},{"value":"Female"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"3"}],[{"value":"16.2900"},{"value":"3.7100"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"3"}],[{"value":"16.9700"},{"value":"3.5000"},{"value":"Female"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"3"}],[{"value":"20.6500"},{"value":"3.3500"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"3"}],[{"value":"17.9200"},{"value":"4.0800"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"20.2900"},{"value":"2.7500"},{"value":"Female"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"15.7700"},{"value":"2.2300"},{"value":"Female"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"39.4200"},{"value":"7.5800"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"4"}],[{"value":"19.8200"},{"value":"3.1800"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"17.8100"},{"value":"2.3400"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"4"}],[{"value":"13.3700"},{"value":"2.0000"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"12.6900"},{"value":"2.0000"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"21.7000"},{"value":"4.3000"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"19.6500"},{"value":"3.0000"},{"value":"Female"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"9.5500"},{"value":"1.4500"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"18.3500"},{"value":"2.5000"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"4"}],[{"value":"15.0600"},{"value":"3.0000"},{"value":"Female"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"20.6900"},{"value":"2.4500"},{"value":"Female"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"4"}],[{"value":"17.7800"},{"value":"3.2700"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"24.0600"},{"value":"3.6000"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"3"}],[{"value":"16.3100"},{"value":"2.0000"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"3"}],[{"value":"16.9300"},{"value":"3.0700"},{"value":"Female"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"3"}],[{"value":"18.6900"},{"value":"2.3100"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"3"}],[{"value":"31.2700"},{"value":"5.0000"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"3"}],[{"value":"16.0400"},{"value":"2.2400"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"3"}],[{"value":"17.4600"},{"value":"2.5400"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"13.9400"},{"value":"3.0600"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"9.6800"},{"value":"1.3200"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"30.4000"},{"value":"5.6000"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"4"}],[{"value":"18.2900"},{"value":"3.0000"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"22.2300"},{"value":"5.0000"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"32.4000"},{"value":"6.0000"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"4"}],[{"value":"28.5500"},{"value":"2.0500"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"3"}],[{"value":"18.0400"},{"value":"3.0000"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"12.5400"},{"value":"2.5000"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"10.2900"},{"value":"2.6000"},{"value":"Female"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"34.8100"},{"value":"5.2000"},{"value":"Female"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"4"}],[{"value":"9.9400"},{"value":"1.5600"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"25.5600"},{"value":"4.3400"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"4"}],[{"value":"19.4900"},{"value":"3.5100"},{"value":"Male"},{"value":"No"},{"value":"Sun"},{"value":"Dinner"},{"value":"2"}],[{"value":"38.0100"},{"value":"3.0000"},{"value":"Male"},{"value":"Yes"},{"value":"Sat"},{"value":"Dinner"},{"value":"4"}],[{"value":"26.4100"},{"value":"1.5000"},{"value":"Female"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"11.2400"},{"value":"1.7600"},{"value":"Male"},{"value":"Yes"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"48.2700"},{"value":"6.7300"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"4"}],[{"value":"20.2900"},{"value":"3.2100"},{"value":"Male"},{"value":"Yes"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"13.8100"},{"value":"2.0000"},{"value":"Male"},{"value":"Yes"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"11.0200"},{"value":"1.9800"},{"value":"Male"},{"value":"Yes"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"18.2900"},{"value":"3.7600"},{"value":"Male"},{"value":"Yes"},{"value":"Sat"},{"value":"Dinner"},{"value":"4"}],[{"value":"17.5900"},{"value":"2.6400"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"3"}],[{"value":"20.0800"},{"value":"3.1500"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"3"}],[{"value":"16.4500"},{"value":"2.4700"},{"value":"Female"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"3.0700"},{"value":"1.0000"},{"value":"Female"},{"value":"Yes"},{"value":"Sat"},{"value":"Dinner"},{"value":"1"}],[{"value":"20.2300"},{"value":"2.0100"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"15.0100"},{"value":"2.0900"},{"value":"Male"},{"value":"Yes"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"12.0200"},{"value":"1.9700"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"17.0700"},{"value":"3.0000"},{"value":"Female"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"3"}],[{"value":"26.8600"},{"value":"3.1400"},{"value":"Female"},{"value":"Yes"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"25.2800"},{"value":"5.0000"},{"value":"Female"},{"value":"Yes"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"14.7300"},{"value":"2.2000"},{"value":"Female"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"10.5100"},{"value":"1.2500"},{"value":"Male"},{"value":"No"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"17.9200"},{"value":"3.0800"},{"value":"Male"},{"value":"Yes"},{"value":"Sat"},{"value":"Dinner"},{"value":"2"}],[{"value":"27.2000"},{"value":"4.0000"},{"value":"Male"},{"value":"No"},{"value":"Thur"},{"value":"Lunch"},{"value":"4"}],[{"value":"22.7600"},{"value":"3.0000"},{"value":"Male"},{"value":"No"},{"value":"Thur"},{"value":"Lunch"},{"value":"2"}],[{"value":"17.2900"},{"value":"2.7100"},{"value":"Male"},{"value":"No"},{"value":"Thur"},{"value":"Lunch"},{"value":"2"}],[{"value":"19.4400"},{"value":"3.0000"},{"value":"Male"},{"value":"Yes"},{"value":"Thur"},{"value":"Lunch"},{"value":"2"}],[{"value":"16.6600"},{"value":"3.4000"},{"value":"Male"},{"value":"No"},{"value":"Thur"},{"value":"Lunch"},{"value":"2"}],[{"value":"10.0700"},{"value":"1.8300"},{"value":"Female"},{"value":"No"},{"value":"Thur"},{"value":"Lunch"},{"value":"1"}],[{"value":"32.6800"},{"value":"5.0000"},{"value":"Male"},{"value":"Yes"},{"value":"Thur"},{"value":"Lunch"},{"value":"2"}],[{"value":"15.9800"},{"value":"2.0300"},{"value":"Male"},{"value":"No"},{"value":"Thur"},{"value":"Lunch"},{"value":"2"}],[{"value":"34.8300"},{"value":"5.1700"},{"value":"Female"},{"value":"No"},{"value":"Thur"},{"value":"Lunch"},{"value":"4"}],[{"value":"13.0300"},{"value":"2.0000"},{"value":"Male"},{"value":"No"},{"value":"Thur"},{"value":"Lunch"},{"value":"2"}],[{"value":"18.2800"},{"value":"4.0000"},{"value":"Male"},{"value":"No"},{"value":"Thur"},{"value":"Lunch"},{"value":"2"}],[{"value":"24.7100"},{"value":"5.8500"},{"value":"Male"},{"value":"No"},{"value":"Thur"},{"value":"Lunch"},{"value":"2"}],[{"value":"21.1600"},{"value":"3.0000"},{"value":"Male"},{"value":"No"},{"value":"Thur"},{"value":"Lunch"},{"value":"2"}],[{"value":"28.9700"},{"value":"3.0000"},{"value":"Male"},{"value":"Yes"},{"value":"Fri"},{"value":"Dinner"},{"value":"2"}],[{"value":"22.4900"},{"value":"3.5000"},{"value":"Male"},{"value":"No"},{"value":"Fri"},{"value":"Dinner"},{"value":"2"}],[{"value":"5.7500"},{"value":"1.0000"},{"value":"Female"},{"value":"Yes"},{"value":"Fri"},{"value":"Dinner"},{"value":"2"}],[{"value":"16.3200"},{"value":"4.3000"},{"value":"Female"},{"value":"Yes"},{"value":"Fri"},{"value":"Dinner"},{"value":"2"}],[{"value":"22.7500"},{"value":"3.2500"},{"value":"Female"},{"value":"No"},{"value":"Fri"},{"value":"Dinner"},{"value":"2"}],[{"value":"40.1700"},{"value":"4.7300"},{"value":"Male"},{"value":"Yes"},{"value":"Fri"},{"value":"Dinner"},{"value":"4"}],[{"value":"27.2800"},{"value":"4.0000"},{"value":"Male"},{"value":"Yes"},{"value":"Fri"},{"value":"Dinner"},{"value":"2"}],[{"value":"12.0300"},{"value":"1.5000"},{"value":"Male"},{"value":"Yes"},{"value":"Fri"},{"value":"Dinner"},{"value":"2"}],[{"value":"21.0100"},{"value":"3.0000"},{"value":"Male"},{"value":"Yes"},{"value":"Fri"},{"value":"Dinner"},{"value":"2"}],[{"value":"12.4600"},{"value":"1.5000"},{"value":"Male"},{"value":"No"},{"value":"Fri"},{"value":"Dinner"},{"value":"2"}]]}}}} \ No newline at end of file diff --git a/plugins/plotly-express/docs/snapshots/878148159827d99f9b70bd1546d1ccbb.json b/plugins/plotly-express/docs/snapshots/878148159827d99f9b70bd1546d1ccbb.json new file mode 100644 index 000000000..9696c86c8 --- /dev/null +++ b/plugins/plotly-express/docs/snapshots/878148159827d99f9b70bd1546d1ccbb.json @@ -0,0 +1 @@ +{"file":"example-data.md","objects":{"wind":{"type":"Table","data":{"columns":[{"name":"Direction","type":"java.lang.String"},{"name":"Strength","type":"java.lang.String"},{"name":"Frequency","type":"double"}],"rows":[[{"value":"N"},{"value":"0-1"},{"value":"0.5000"}],[{"value":"NNE"},{"value":"0-1"},{"value":"0.6000"}],[{"value":"NE"},{"value":"0-1"},{"value":"0.5000"}],[{"value":"ENE"},{"value":"0-1"},{"value":"0.4000"}],[{"value":"E"},{"value":"0-1"},{"value":"0.4000"}],[{"value":"ESE"},{"value":"0-1"},{"value":"0.3000"}],[{"value":"SE"},{"value":"0-1"},{"value":"0.4000"}],[{"value":"SSE"},{"value":"0-1"},{"value":"0.4000"}],[{"value":"S"},{"value":"0-1"},{"value":"0.6000"}],[{"value":"SSW"},{"value":"0-1"},{"value":"0.4000"}],[{"value":"SW"},{"value":"0-1"},{"value":"0.5000"}],[{"value":"WSW"},{"value":"0-1"},{"value":"0.6000"}],[{"value":"W"},{"value":"0-1"},{"value":"0.6000"}],[{"value":"WNW"},{"value":"0-1"},{"value":"0.5000"}],[{"value":"NW"},{"value":"0-1"},{"value":"0.4000"}],[{"value":"NNW"},{"value":"0-1"},{"value":"0.1000"}],[{"value":"N"},{"value":"1-2"},{"value":"1.6000"}],[{"value":"NNE"},{"value":"1-2"},{"value":"1.8000"}],[{"value":"NE"},{"value":"1-2"},{"value":"1.5000"}],[{"value":"ENE"},{"value":"1-2"},{"value":"1.6000"}],[{"value":"E"},{"value":"1-2"},{"value":"1.6000"}],[{"value":"ESE"},{"value":"1-2"},{"value":"1.2000"}],[{"value":"SE"},{"value":"1-2"},{"value":"1.5000"}],[{"value":"SSE"},{"value":"1-2"},{"value":"1.7000"}],[{"value":"S"},{"value":"1-2"},{"value":"2.2000"}],[{"value":"SSW"},{"value":"1-2"},{"value":"2.0000"}],[{"value":"SW"},{"value":"1-2"},{"value":"2.3000"}],[{"value":"WSW"},{"value":"1-2"},{"value":"2.4000"}],[{"value":"W"},{"value":"1-2"},{"value":"2.3000"}],[{"value":"WNW"},{"value":"1-2"},{"value":"2.6000"}],[{"value":"NW"},{"value":"1-2"},{"value":"2.3000"}],[{"value":"NNW"},{"value":"1-2"},{"value":"0.8000"}],[{"value":"N"},{"value":"2-3"},{"value":"0.9000"}],[{"value":"NNE"},{"value":"2-3"},{"value":"1.3000"}],[{"value":"NE"},{"value":"2-3"},{"value":"1.6000"}],[{"value":"ENE"},{"value":"2-3"},{"value":"0.9000"}],[{"value":"E"},{"value":"2-3"},{"value":"1.0000"}],[{"value":"ESE"},{"value":"2-3"},{"value":"0.6000"}],[{"value":"SE"},{"value":"2-3"},{"value":"0.6000"}],[{"value":"SSE"},{"value":"2-3"},{"value":"0.9000"}],[{"value":"S"},{"value":"2-3"},{"value":"1.4000"}]]}}}} \ No newline at end of file diff --git a/plugins/plotly-express/docs/snapshots/a0c8f18a5b1c408012d766d6ed560c7b.json b/plugins/plotly-express/docs/snapshots/a0c8f18a5b1c408012d766d6ed560c7b.json new file mode 100644 index 000000000..2468e6354 --- /dev/null +++ b/plugins/plotly-express/docs/snapshots/a0c8f18a5b1c408012d766d6ed560c7b.json @@ -0,0 +1 @@ +{"file":"example-data.md","objects":{"jobs":{"type":"Table","data":{"columns":[{"name":"Job","type":"java.lang.String"},{"name":"StartTime","type":"java.time.Instant"},{"name":"EndTime","type":"java.time.Instant"},{"name":"Resource","type":"java.lang.String"}],"rows":[[{"value":"Job1"},{"value":"2020-01-10 19:00:00.000"},{"value":"2020-01-05 19:00:00.000"},{"value":"John"}],[{"value":"Job2"},{"value":"2020-01-02 19:00:00.000"},{"value":"2020-01-07 19:00:00.000"},{"value":"Matti"}],[{"value":"Job3"},{"value":"2020-01-04 19:00:00.000"},{"value":"2020-01-09 19:00:00.000"},{"value":"Mike"}],[{"value":"Job4"},{"value":"2020-01-06 19:00:00.000"},{"value":"2020-01-11 19:00:00.000"},{"value":"Matti"}],[{"value":"Job5"},{"value":"2020-01-08 19:00:00.000"},{"value":"2020-01-13 19:00:00.000"},{"value":"Matti"}]]}}}} \ No newline at end of file diff --git a/plugins/plotly-express/docs/snapshots/d36641368e4944e691971dd762479c8f.json b/plugins/plotly-express/docs/snapshots/d36641368e4944e691971dd762479c8f.json new file mode 100644 index 000000000..134033a41 --- /dev/null +++ b/plugins/plotly-express/docs/snapshots/d36641368e4944e691971dd762479c8f.json @@ -0,0 +1 @@ +{"file":"example-data.md","objects":{"fish_market":{"type":"Table","data":{"columns":[{"name":"SaleID","type":"int"},{"name":"Revenue","type":"double"},{"name":"WeightKg","type":"double"},{"name":"PricePerKg","type":"double"},{"name":"MarketPriceDiff","type":"double"},{"name":"HandlingFee","type":"double"},{"name":"ProductType","type":"java.lang.String"},{"name":"ProductName","type":"java.lang.String"},{"name":"ProductForm","type":"java.lang.String"},{"name":"FishingGround","type":"java.lang.String"},{"name":"LandingCountry","type":"java.lang.String"},{"name":"LandingPort","type":"java.lang.String"},{"name":"VesselName","type":"java.lang.String"},{"name":"CatchDate","type":"java.time.Instant"},{"name":"SaleDate","type":"java.time.Instant"},{"name":"CustomerType","type":"java.lang.String"},{"name":"CustomerName","type":"java.lang.String"},{"name":"TransportMethod","type":"java.lang.String"}],"rows":[[{"value":"1"},{"value":"3,246.2500"},{"value":"125.0000"},{"value":"25.9700"},{"value":"0.0000"},{"value":"139.9000"},{"value":"Shellfish"},{"value":"Scallops"},{"value":"Frozen"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Pacific Spirit"},{"value":"2018-05-26 08:16:40.000"},{"value":"2018-06-01 08:16:40.000"},{"value":"Wholesale"},{"value":"Global Seafood Traders"},{"value":"Refrigerated Truck"}],[{"value":"2"},{"value":"4,549.5200"},{"value":"256.6000"},{"value":"17.7300"},{"value":"0.0000"},{"value":"268.3400"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Steaks"},{"value":"North Atlantic"},{"value":"Norway"},{"value":"Bergen"},{"value":"Wave Runner"},{"value":"2018-05-28 08:16:41.000"},{"value":"2018-06-01 08:16:41.000"},{"value":"Retail"},{"value":"Seafood City Market"},{"value":"Air Freight"}],[{"value":"3"},{"value":"1,581.5400"},{"value":"86.0000"},{"value":"18.3900"},{"value":"0.0000"},{"value":"48.0200"},{"value":"Shellfish"},{"value":"Lobster"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Wave Runner"},{"value":"2018-05-25 08:16:42.000"},{"value":"2018-06-01 08:16:42.000"},{"value":"Restaurant"},{"value":"Bluewater Bistro"},{"value":"Refrigerated Truck"}],[{"value":"4"},{"value":"6,575.7500"},{"value":"282.1000"},{"value":"23.3100"},{"value":"0.0000"},{"value":"159.6100"},{"value":"Pelagic"},{"value":"Bluefin Tuna"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Wave Runner"},{"value":"2018-05-24 08:16:43.000"},{"value":"2018-06-01 08:16:43.000"},{"value":"Retail"},{"value":"FreshFish Direct"},{"value":"Refrigerated Truck"}],[{"value":"5"},{"value":"7,828.1400"},{"value":"344.7000"},{"value":"22.7100"},{"value":"-0.6000"},{"value":"497.9500"},{"value":"Pelagic"},{"value":"Bluefin Tuna"},{"value":"Frozen"},{"value":"Pacific"},{"value":"Japan"},{"value":"Shimizu"},{"value":"Northern Star"},{"value":"2018-05-20 08:16:44.000"},{"value":"2018-06-01 08:16:44.000"},{"value":"Retail"},{"value":"Market on 5th"},{"value":"Refrigerated Truck"}],[{"value":"6"},{"value":"2,085.0800"},{"value":"81.8000"},{"value":"25.4900"},{"value":"0.0000"},{"value":"71.8500"},{"value":"Groundfish"},{"value":"Halibut"},{"value":"Fillet"},{"value":"Bering Sea"},{"value":"United States"},{"value":"Dutch Harbor, AK"},{"value":"Golden Net"},{"value":"2018-05-23 08:16:45.000"},{"value":"2018-06-01 08:16:45.000"},{"value":"Retail"},{"value":"FreshFish Direct"},{"value":"Refrigerated Truck"}],[{"value":"7"},{"value":"624.7300"},{"value":"150.9000"},{"value":"4.1400"},{"value":"0.0000"},{"value":"25.5400"},{"value":"Pelagic"},{"value":"Mackerel"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Atlantic Queen"},{"value":"2018-05-28 08:16:46.000"},{"value":"2018-06-01 08:16:46.000"},{"value":"Retail"},{"value":"FreshFish Direct"},{"value":"Refrigerated Truck"}],[{"value":"8"},{"value":"447.9600"},{"value":"42.3000"},{"value":"10.5900"},{"value":"0.0000"},{"value":"12.2100"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Steaks"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Atlantic Queen"},{"value":"2018-05-27 08:16:47.000"},{"value":"2018-06-01 08:16:47.000"},{"value":"Restaurant"},{"value":"Coastal Grill"},{"value":"Refrigerated Truck"}],[{"value":"9"},{"value":"2,610.6400"},{"value":"78.8000"},{"value":"33.1300"},{"value":"10.4200"},{"value":"175.1300"},{"value":"Pelagic"},{"value":"Bluefin Tuna"},{"value":"Steaks"},{"value":"Pacific"},{"value":"United States"},{"value":"Seattle, WA"},{"value":"Ocean Voyager"},{"value":"2018-05-29 08:16:48.000"},{"value":"2018-06-01 08:16:48.000"},{"value":"Restaurant"},{"value":"Ocean's Best Restaurant"},{"value":"Air Freight"}],[{"value":"10"},{"value":"609.3200"},{"value":"85.1000"},{"value":"7.1600"},{"value":"0.0000"},{"value":"37.3100"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Frozen"},{"value":"Bering Sea"},{"value":"United States"},{"value":"Dutch Harbor, AK"},{"value":"Wave Runner"},{"value":"2018-05-20 08:16:49.000"},{"value":"2018-06-01 08:16:49.000"},{"value":"Retail"},{"value":"Fisherman's Wharf"},{"value":"Refrigerated Truck"}],[{"value":"11"},{"value":"2,983.5000"},{"value":"112.5000"},{"value":"26.5200"},{"value":"1.0300"},{"value":"139.0300"},{"value":"Groundfish"},{"value":"Halibut"},{"value":"Steaks"},{"value":"Pacific"},{"value":"Japan"},{"value":"Hachinohe"},{"value":"Ocean Voyager"},{"value":"2018-05-31 08:16:50.000"},{"value":"2018-06-01 08:16:50.000"},{"value":"Retail"},{"value":"Seafood City Market"},{"value":"Air Freight"}],[{"value":"12"},{"value":"1,174.6500"},{"value":"95.5000"},{"value":"12.3000"},{"value":"5.1400"},{"value":"92.0100"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Fillet"},{"value":"Bering Sea"},{"value":"United States"},{"value":"Dutch Harbor, AK"},{"value":"Sea Breeze"},{"value":"2018-05-30 08:16:51.000"},{"value":"2018-06-01 08:16:51.000"},{"value":"Retail"},{"value":"Market on 5th"},{"value":"Air Freight"}],[{"value":"13"},{"value":"1,355.9600"},{"value":"110.6000"},{"value":"12.2600"},{"value":"-0.0400"},{"value":"104.4000"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Fillet"},{"value":"Bering Sea"},{"value":"United States"},{"value":"Dutch Harbor, AK"},{"value":"Wave Runner"},{"value":"2018-05-30 08:16:52.000"},{"value":"2018-06-01 08:16:52.000"},{"value":"Restaurant"},{"value":"Bluewater Bistro"},{"value":"Air Freight"}],[{"value":"14"},{"value":"569.3400"},{"value":"51.2000"},{"value":"11.1200"},{"value":"0.5300"},{"value":"27.6100"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Iceland"},{"value":"Reykjavik"},{"value":"Sea Breeze"},{"value":"2018-05-29 08:16:53.000"},{"value":"2018-06-01 08:16:53.000"},{"value":"Wholesale"},{"value":"Harbor Wholesale Co."},{"value":"Refrigerated Truck"}],[{"value":"15"},{"value":"5,011.7500"},{"value":"345.4000"},{"value":"14.5100"},{"value":"-3.2200"},{"value":"175.8000"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Iceland"},{"value":"Reykjavik"},{"value":"Pacific Spirit"},{"value":"2018-05-18 08:16:54.000"},{"value":"2018-06-01 08:16:54.000"},{"value":"Retail"},{"value":"Gourmet Fish Shop"},{"value":"Refrigerated Truck"}],[{"value":"16"},{"value":"714.1200"},{"value":"44.0000"},{"value":"16.2300"},{"value":"-2.1600"},{"value":"35.6300"},{"value":"Shellfish"},{"value":"Lobster"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Norway"},{"value":"Bergen"},{"value":"Blue Horizon"},{"value":"2018-05-27 08:16:55.000"},{"value":"2018-06-01 08:16:55.000"},{"value":"Restaurant"},{"value":"Bluewater Bistro"},{"value":"Refrigerated Truck"}],[{"value":"17"},{"value":"112.6000"},{"value":"13.2000"},{"value":"8.5300"},{"value":"-2.5900"},{"value":"5.1700"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Pacific Spirit"},{"value":"2018-05-23 08:16:56.000"},{"value":"2018-06-01 08:16:56.000"},{"value":"Retail"},{"value":"Fisherman's Wharf"},{"value":"Refrigerated Truck"}],[{"value":"18"},{"value":"1,755.8000"},{"value":"171.8000"},{"value":"10.2200"},{"value":"-2.0400"},{"value":"43.0500"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Golden Net"},{"value":"2018-05-20 08:16:57.000"},{"value":"2018-06-01 08:16:57.000"},{"value":"Retail"},{"value":"Fisherman's Wharf"},{"value":"Refrigerated Truck"}],[{"value":"19"},{"value":"5,173.1500"},{"value":"131.8000"},{"value":"39.2500"},{"value":"6.1200"},{"value":"320.3500"},{"value":"Pelagic"},{"value":"Bluefin Tuna"},{"value":"Steaks"},{"value":"North Atlantic"},{"value":"Iceland"},{"value":"Reykjavik"},{"value":"Golden Net"},{"value":"2018-05-30 08:16:58.000"},{"value":"2018-06-01 08:16:58.000"},{"value":"Wholesale"},{"value":"Mariner Foods"},{"value":"Air Freight"}],[{"value":"20"},{"value":"891.8900"},{"value":"157.3000"},{"value":"5.6700"},{"value":"1.5300"},{"value":"37.0700"},{"value":"Pelagic"},{"value":"Mackerel"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Sea Breeze"},{"value":"2018-05-24 08:16:59.000"},{"value":"2018-06-01 08:16:59.000"},{"value":"Retail"},{"value":"Seafood City Market"},{"value":"Refrigerated Truck"}],[{"value":"21"},{"value":"1,160.7100"},{"value":"39.2000"},{"value":"29.6100"},{"value":"3.6400"},{"value":"52.8000"},{"value":"Shellfish"},{"value":"Scallops"},{"value":"Frozen"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Wave Runner"},{"value":"2018-05-31 08:17:00.000"},{"value":"2018-06-01 08:17:00.000"},{"value":"Wholesale"},{"value":"Mariner Foods"},{"value":"Air Freight"}],[{"value":"22"},{"value":"1,149.1500"},{"value":"45.1000"},{"value":"25.4800"},{"value":"10.9700"},{"value":"49.5200"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Blue Horizon"},{"value":"2018-05-29 08:17:01.000"},{"value":"2018-06-01 08:17:01.000"},{"value":"Wholesale"},{"value":"Harbor Wholesale Co."},{"value":"Air Freight"}],[{"value":"23"},{"value":"223.3700"},{"value":"12.1000"},{"value":"18.4600"},{"value":"2.2300"},{"value":"14.0300"},{"value":"Shellfish"},{"value":"Lobster"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Norway"},{"value":"Bergen"},{"value":"Pacific Spirit"},{"value":"2018-05-30 08:17:02.000"},{"value":"2018-06-01 08:17:02.000"},{"value":"Restaurant"},{"value":"Ocean's Best Restaurant"},{"value":"Air Freight"}],[{"value":"24"},{"value":"679.0600"},{"value":"34.4000"},{"value":"19.7400"},{"value":"1.2800"},{"value":"31.3400"},{"value":"Shellfish"},{"value":"Lobster"},{"value":"Frozen"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Northern Star"},{"value":"2018-05-21 08:17:03.000"},{"value":"2018-06-01 08:17:03.000"},{"value":"Retail"},{"value":"Market on 5th"},{"value":"Refrigerated Truck"}],[{"value":"25"},{"value":"1,033.5800"},{"value":"282.4000"},{"value":"3.6600"},{"value":"-2.0100"},{"value":"43.3600"},{"value":"Pelagic"},{"value":"Mackerel"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Silver Fin"},{"value":"2018-05-29 08:17:04.000"},{"value":"2018-06-01 08:17:04.000"},{"value":"Retail"},{"value":"Market on 5th"},{"value":"Refrigerated Truck"}],[{"value":"26"},{"value":"109.9800"},{"value":"8.3000"},{"value":"13.2500"},{"value":"4.7200"},{"value":"5.8500"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Ocean Voyager"},{"value":"2018-05-29 08:17:05.000"},{"value":"2018-06-01 08:17:05.000"},{"value":"Restaurant"},{"value":"Ocean's Best Restaurant"},{"value":"Air Freight"}],[{"value":"27"},{"value":"529.9200"},{"value":"165.6000"},{"value":"3.2000"},{"value":"-0.4600"},{"value":"25.0500"},{"value":"Pelagic"},{"value":"Mackerel"},{"value":"Whole"},{"value":"Pacific"},{"value":"United States"},{"value":"Seattle, WA"},{"value":"Pacific Spirit"},{"value":"2018-05-20 08:17:06.000"},{"value":"2018-06-01 08:17:06.000"},{"value":"Restaurant"},{"value":"Ocean's Best Restaurant"},{"value":"Refrigerated Truck"}],[{"value":"28"},{"value":"184.2300"},{"value":"44.5000"},{"value":"4.1400"},{"value":"0.9400"},{"value":"12.0800"},{"value":"Pelagic"},{"value":"Mackerel"},{"value":"Steaks"},{"value":"Pacific"},{"value":"Japan"},{"value":"Shimizu"},{"value":"Arctic Dawn"},{"value":"2018-05-29 08:17:07.000"},{"value":"2018-06-01 08:17:07.000"},{"value":"Retail"},{"value":"Market on 5th"},{"value":"Air Freight"}],[{"value":"29"},{"value":"2,292.9800"},{"value":"116.1000"},{"value":"19.7500"},{"value":"-5.7300"},{"value":"110.9700"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Wave Runner"},{"value":"2018-05-29 08:17:08.000"},{"value":"2018-06-01 08:17:08.000"},{"value":"Retail"},{"value":"Market on 5th"},{"value":"Air Freight"}],[{"value":"30"},{"value":"4,928.5300"},{"value":"193.2000"},{"value":"25.5100"},{"value":"-1.0100"},{"value":"188.9800"},{"value":"Groundfish"},{"value":"Halibut"},{"value":"Steaks"},{"value":"Pacific"},{"value":"United States"},{"value":"Seattle, WA"},{"value":"Arctic Dawn"},{"value":"2018-05-28 08:17:09.000"},{"value":"2018-06-01 08:17:09.000"},{"value":"Retail"},{"value":"Market on 5th"},{"value":"Refrigerated Truck"}],[{"value":"31"},{"value":"1,092.9700"},{"value":"147.3000"},{"value":"7.4200"},{"value":"-2.8000"},{"value":"38.5200"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Whole"},{"value":"Bering Sea"},{"value":"United States"},{"value":"Dutch Harbor, AK"},{"value":"Northern Star"},{"value":"2018-05-22 08:17:10.000"},{"value":"2018-06-01 08:17:10.000"},{"value":"Retail"},{"value":"Seafood City Market"},{"value":"Refrigerated Truck"}],[{"value":"32"},{"value":"2,403.0400"},{"value":"130.6000"},{"value":"18.4000"},{"value":"-1.3500"},{"value":"109.5200"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Iceland"},{"value":"Reykjavik"},{"value":"Atlantic Queen"},{"value":"2018-05-27 08:17:11.000"},{"value":"2018-06-01 08:17:11.000"},{"value":"Wholesale"},{"value":"Harbor Wholesale Co."},{"value":"Refrigerated Truck"}],[{"value":"33"},{"value":"2,892.8900"},{"value":"136.2000"},{"value":"21.2400"},{"value":"2.8400"},{"value":"62.3200"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Blue Horizon"},{"value":"2018-05-30 08:17:12.000"},{"value":"2018-06-01 08:17:12.000"},{"value":"Wholesale"},{"value":"Harbor Wholesale Co."},{"value":"Refrigerated Truck"}],[{"value":"34"},{"value":"1,698.7600"},{"value":"59.9000"},{"value":"28.3600"},{"value":"2.8500"},{"value":"95.7100"},{"value":"Groundfish"},{"value":"Halibut"},{"value":"Fillet"},{"value":"Pacific"},{"value":"Japan"},{"value":"Shimizu"},{"value":"Golden Net"},{"value":"2018-05-29 08:17:13.000"},{"value":"2018-06-01 08:17:13.000"},{"value":"Restaurant"},{"value":"Bluewater Bistro"},{"value":"Air Freight"}],[{"value":"35"},{"value":"397.8400"},{"value":"31.7000"},{"value":"12.5500"},{"value":"5.1300"},{"value":"20.2400"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Pacific Spirit"},{"value":"2018-05-29 08:17:14.000"},{"value":"2018-06-01 08:17:14.000"},{"value":"Retail"},{"value":"FreshFish Direct"},{"value":"Air Freight"}],[{"value":"36"},{"value":"4,819.5200"},{"value":"179.9000"},{"value":"26.7900"},{"value":"-1.5700"},{"value":"364.0200"},{"value":"Groundfish"},{"value":"Halibut"},{"value":"Steaks"},{"value":"Pacific"},{"value":"Canada"},{"value":"Prince Rupert, BC"},{"value":"Golden Net"},{"value":"2018-05-30 08:17:15.000"},{"value":"2018-06-01 08:17:15.000"},{"value":"Retail"},{"value":"Seafood City Market"},{"value":"Air Freight"}],[{"value":"37"},{"value":"213.0000"},{"value":"20.7000"},{"value":"10.2900"},{"value":"-2.9600"},{"value":"11.5200"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Blue Horizon"},{"value":"2018-05-31 08:17:16.000"},{"value":"2018-06-01 08:17:16.000"},{"value":"Wholesale"},{"value":"Harbor Wholesale Co."},{"value":"Air Freight"}],[{"value":"38"},{"value":"1,099.8400"},{"value":"246.6000"},{"value":"4.4600"},{"value":"0.3200"},{"value":"51.6100"},{"value":"Pelagic"},{"value":"Mackerel"},{"value":"Frozen"},{"value":"Pacific"},{"value":"Canada"},{"value":"Prince Rupert, BC"},{"value":"Atlantic Queen"},{"value":"2018-05-27 08:17:17.000"},{"value":"2018-06-01 08:17:17.000"},{"value":"Restaurant"},{"value":"Ocean's Best Restaurant"},{"value":"Refrigerated Truck"}],[{"value":"39"},{"value":"3,028.3700"},{"value":"86.5000"},{"value":"35.0100"},{"value":"8.2200"},{"value":"68.6700"},{"value":"Groundfish"},{"value":"Halibut"},{"value":"Fillet"},{"value":"Bering Sea"},{"value":"United States"},{"value":"Dutch Harbor, AK"},{"value":"Golden Net"},{"value":"2018-05-26 08:17:18.000"},{"value":"2018-06-01 08:17:18.000"},{"value":"Retail"},{"value":"Seafood City Market"},{"value":"Refrigerated Truck"}],[{"value":"40"},{"value":"11,819.5000"},{"value":"335.4000"},{"value":"35.2400"},{"value":"-4.0100"},{"value":"471.6200"},{"value":"Pelagic"},{"value":"Bluefin Tuna"},{"value":"Fillet"},{"value":"Pacific"},{"value":"Japan"},{"value":"Hachinohe"},{"value":"Blue Horizon"},{"value":"2018-05-20 08:17:19.000"},{"value":"2018-06-01 08:17:19.000"},{"value":"Restaurant"},{"value":"Coastal Grill"},{"value":"Refrigerated Truck"}],[{"value":"41"},{"value":"325.0100"},{"value":"29.6000"},{"value":"10.9800"},{"value":"-1.5700"},{"value":"9.6700"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Golden Net"},{"value":"2018-05-24 08:17:20.000"},{"value":"2018-06-01 08:17:20.000"},{"value":"Retail"},{"value":"Gourmet Fish Shop"},{"value":"Refrigerated Truck"}],[{"value":"42"},{"value":"184.8600"},{"value":"23.4000"},{"value":"7.9000"},{"value":"-2.3900"},{"value":"11.8600"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Frozen"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Ocean Voyager"},{"value":"2018-05-25 08:17:21.000"},{"value":"2018-06-01 08:17:21.000"},{"value":"Retail"},{"value":"Seafood City Market"},{"value":"Refrigerated Truck"}],[{"value":"43"},{"value":"1,917.6300"},{"value":"57.5000"},{"value":"33.3500"},{"value":"-1.6600"},{"value":"124.0400"},{"value":"Groundfish"},{"value":"Halibut"},{"value":"Fillet"},{"value":"Pacific"},{"value":"Canada"},{"value":"Vancouver, BC"},{"value":"Arctic Dawn"},{"value":"2018-05-29 08:17:22.000"},{"value":"2018-06-01 08:17:22.000"},{"value":"Retail"},{"value":"Market on 5th"},{"value":"Air Freight"}],[{"value":"44"},{"value":"3,200.4200"},{"value":"164.8000"},{"value":"19.4200"},{"value":"-1.8200"},{"value":"244.9800"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Atlantic Queen"},{"value":"2018-05-30 08:17:23.000"},{"value":"2018-06-01 08:17:23.000"},{"value":"Restaurant"},{"value":"Ocean's Best Restaurant"},{"value":"Air Freight"}],[{"value":"45"},{"value":"840.4700"},{"value":"84.3000"},{"value":"9.9700"},{"value":"-1.0100"},{"value":"36.6600"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Steaks"},{"value":"Bering Sea"},{"value":"United States"},{"value":"Dutch Harbor, AK"},{"value":"Pacific Spirit"},{"value":"2018-05-30 08:17:24.000"},{"value":"2018-06-01 08:17:24.000"},{"value":"Retail"},{"value":"FreshFish Direct"},{"value":"Air Freight"}],[{"value":"46"},{"value":"596.5900"},{"value":"63.4000"},{"value":"9.4100"},{"value":"1.5100"},{"value":"34.9800"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Blue Horizon"},{"value":"2018-05-27 08:17:25.000"},{"value":"2018-06-01 08:17:25.000"},{"value":"Restaurant"},{"value":"Coastal Grill"},{"value":"Refrigerated Truck"}],[{"value":"47"},{"value":"1,176.3200"},{"value":"51.1000"},{"value":"23.0200"},{"value":"-6.5900"},{"value":"54.9400"},{"value":"Shellfish"},{"value":"Scallops"},{"value":"Frozen"},{"value":"North Atlantic"},{"value":"Norway"},{"value":"Bergen"},{"value":"Silver Fin"},{"value":"2018-05-30 08:17:26.000"},{"value":"2018-06-01 08:17:26.000"},{"value":"Retail"},{"value":"Ocean's Catch"},{"value":"Air Freight"}],[{"value":"48"},{"value":"877.0300"},{"value":"73.7000"},{"value":"11.9000"},{"value":"2.4900"},{"value":"55.4500"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Steaks"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Pacific Spirit"},{"value":"2018-05-29 08:17:27.000"},{"value":"2018-06-01 08:17:27.000"},{"value":"Wholesale"},{"value":"Harbor Wholesale Co."},{"value":"Air Freight"}],[{"value":"49"},{"value":"1,617.4400"},{"value":"71.6000"},{"value":"22.5900"},{"value":"-10.7600"},{"value":"54.9400"},{"value":"Groundfish"},{"value":"Halibut"},{"value":"Frozen"},{"value":"Bering Sea"},{"value":"United States"},{"value":"Dutch Harbor, AK"},{"value":"Northern Star"},{"value":"2018-05-27 08:17:28.000"},{"value":"2018-06-01 08:17:28.000"},{"value":"Retail"},{"value":"Gourmet Fish Shop"},{"value":"Refrigerated Truck"}],[{"value":"50"},{"value":"5,966.0700"},{"value":"314.5000"},{"value":"18.9700"},{"value":"-0.4500"},{"value":"312.1000"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Pacific Spirit"},{"value":"2018-05-29 08:17:29.000"},{"value":"2018-06-01 08:17:29.000"},{"value":"Restaurant"},{"value":"Ocean's Best Restaurant"},{"value":"Air Freight"}],[{"value":"51"},{"value":"457.6500"},{"value":"33.9000"},{"value":"13.5000"},{"value":"3.5300"},{"value":"27.3600"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Steaks"},{"value":"Bering Sea"},{"value":"United States"},{"value":"Dutch Harbor, AK"},{"value":"Wave Runner"},{"value":"2018-05-29 08:17:30.000"},{"value":"2018-06-01 08:17:30.000"},{"value":"Retail"},{"value":"Fisherman's Wharf"},{"value":"Air Freight"}],[{"value":"52"},{"value":"9,890.6300"},{"value":"308.6000"},{"value":"32.0500"},{"value":"-3.1900"},{"value":"564.9500"},{"value":"Pelagic"},{"value":"Bluefin Tuna"},{"value":"Whole"},{"value":"Pacific"},{"value":"Japan"},{"value":"Shimizu"},{"value":"Arctic Dawn"},{"value":"2018-05-23 08:17:31.000"},{"value":"2018-06-01 08:17:31.000"},{"value":"Restaurant"},{"value":"Ocean's Best Restaurant"},{"value":"Refrigerated Truck"}],[{"value":"53"},{"value":"1,056.1000"},{"value":"59.0000"},{"value":"17.9000"},{"value":"-1.8400"},{"value":"61.0500"},{"value":"Shellfish"},{"value":"Lobster"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Atlantic Queen"},{"value":"2018-05-29 08:17:32.000"},{"value":"2018-06-01 08:17:32.000"},{"value":"Retail"},{"value":"Market on 5th"},{"value":"Air Freight"}],[{"value":"54"},{"value":"1,817.3100"},{"value":"55.9000"},{"value":"32.5100"},{"value":"9.9200"},{"value":"107.3100"},{"value":"Groundfish"},{"value":"Halibut"},{"value":"Steaks"},{"value":"Pacific"},{"value":"United States"},{"value":"Seattle, WA"},{"value":"Sea Breeze"},{"value":"2018-05-31 08:17:33.000"},{"value":"2018-06-01 08:17:33.000"},{"value":"Restaurant"},{"value":"Bluewater Bistro"},{"value":"Air Freight"}],[{"value":"55"},{"value":"3,609.9000"},{"value":"105.8000"},{"value":"34.1200"},{"value":"11.1000"},{"value":"132.0900"},{"value":"Shellfish"},{"value":"Scallops"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Wave Runner"},{"value":"2018-05-27 08:17:34.000"},{"value":"2018-06-01 08:17:34.000"},{"value":"Restaurant"},{"value":"Coastal Grill"},{"value":"Refrigerated Truck"}],[{"value":"56"},{"value":"2,284.1800"},{"value":"112.3000"},{"value":"20.3400"},{"value":"1.3700"},{"value":"52.1500"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"Norway"},{"value":"Bergen"},{"value":"Pacific Spirit"},{"value":"2018-05-27 08:17:35.000"},{"value":"2018-06-01 08:17:35.000"},{"value":"Retail"},{"value":"FreshFish Direct"},{"value":"Refrigerated Truck"}],[{"value":"57"},{"value":"702.8500"},{"value":"44.4000"},{"value":"15.8300"},{"value":"-2.0700"},{"value":"16.1600"},{"value":"Shellfish"},{"value":"Lobster"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Norway"},{"value":"Bergen"},{"value":"Blue Horizon"},{"value":"2018-05-23 08:17:36.000"},{"value":"2018-06-01 08:17:36.000"},{"value":"Retail"},{"value":"Fisherman's Wharf"},{"value":"Refrigerated Truck"}],[{"value":"58"},{"value":"2,484.9800"},{"value":"133.1000"},{"value":"18.6700"},{"value":"-1.6700"},{"value":"123.4200"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Wave Runner"},{"value":"2018-05-28 08:17:37.000"},{"value":"2018-06-01 08:17:37.000"},{"value":"Retail"},{"value":"FreshFish Direct"},{"value":"Refrigerated Truck"}],[{"value":"59"},{"value":"5,431.8200"},{"value":"241.2000"},{"value":"22.5200"},{"value":"-9.9900"},{"value":"257.3000"},{"value":"Groundfish"},{"value":"Halibut"},{"value":"Whole"},{"value":"Pacific"},{"value":"Japan"},{"value":"Hachinohe"},{"value":"Blue Horizon"},{"value":"2018-05-25 08:17:38.000"},{"value":"2018-06-01 08:17:38.000"},{"value":"Retail"},{"value":"FreshFish Direct"},{"value":"Refrigerated Truck"}],[{"value":"60"},{"value":"12,436.8700"},{"value":"380.1000"},{"value":"32.7200"},{"value":"0.6700"},{"value":"950.0600"},{"value":"Pelagic"},{"value":"Bluefin Tuna"},{"value":"Steaks"},{"value":"Pacific"},{"value":"Canada"},{"value":"Prince Rupert, BC"},{"value":"Blue Horizon"},{"value":"2018-05-27 08:17:39.000"},{"value":"2018-06-01 08:17:39.000"},{"value":"Retail"},{"value":"FreshFish Direct"},{"value":"Air Freight"}],[{"value":"61"},{"value":"338.1700"},{"value":"29.9000"},{"value":"11.3100"},{"value":"-0.5900"},{"value":"11.1400"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Wave Runner"},{"value":"2018-05-20 08:17:40.000"},{"value":"2018-06-01 08:17:40.000"},{"value":"Restaurant"},{"value":"Ocean's Best Restaurant"},{"value":"Refrigerated Truck"}],[{"value":"62"},{"value":"113.8100"},{"value":"8.1000"},{"value":"14.0500"},{"value":"0.5500"},{"value":"4.8900"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Fillet"},{"value":"Bering Sea"},{"value":"United States"},{"value":"Dutch Harbor, AK"},{"value":"Atlantic Queen"},{"value":"2018-05-31 08:17:41.000"},{"value":"2018-06-01 08:17:41.000"},{"value":"Restaurant"},{"value":"Ocean's Best Restaurant"},{"value":"Air Freight"}],[{"value":"63"},{"value":"583.0700"},{"value":"30.4000"},{"value":"19.1800"},{"value":"3.3500"},{"value":"18.1900"},{"value":"Shellfish"},{"value":"Lobster"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Ocean Voyager"},{"value":"2018-05-21 08:17:42.000"},{"value":"2018-06-01 08:17:42.000"},{"value":"Wholesale"},{"value":"Mariner Foods"},{"value":"Refrigerated Truck"}],[{"value":"64"},{"value":"749.4800"},{"value":"65.4000"},{"value":"11.4600"},{"value":"-2.5900"},{"value":"40.7600"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Atlantic Queen"},{"value":"2018-05-27 08:17:43.000"},{"value":"2018-06-01 08:17:43.000"},{"value":"Wholesale"},{"value":"Harbor Wholesale Co."},{"value":"Refrigerated Truck"}],[{"value":"65"},{"value":"1,600.1500"},{"value":"151.1000"},{"value":"10.5900"},{"value":"-0.8700"},{"value":"60.8600"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Silver Fin"},{"value":"2018-05-26 08:17:44.000"},{"value":"2018-06-01 08:17:44.000"},{"value":"Retail"},{"value":"Gourmet Fish Shop"},{"value":"Refrigerated Truck"}],[{"value":"66"},{"value":"363.9900"},{"value":"34.6000"},{"value":"10.5200"},{"value":"-0.0700"},{"value":"19.9500"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Fillet"},{"value":"Bering Sea"},{"value":"United States"},{"value":"Dutch Harbor, AK"},{"value":"Atlantic Queen"},{"value":"2018-05-31 08:17:45.000"},{"value":"2018-06-01 08:17:45.000"},{"value":"Retail"},{"value":"Seafood City Market"},{"value":"Air Freight"}],[{"value":"67"},{"value":"1,845.1100"},{"value":"108.6000"},{"value":"16.9900"},{"value":"-1.6800"},{"value":"132.7800"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Steaks"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Pacific Spirit"},{"value":"2018-05-31 08:17:46.000"},{"value":"2018-06-01 08:17:46.000"},{"value":"Restaurant"},{"value":"Ocean's Best Restaurant"},{"value":"Air Freight"}],[{"value":"68"},{"value":"1,725.8800"},{"value":"76.4000"},{"value":"22.5900"},{"value":"5.6000"},{"value":"90.7500"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Silver Fin"},{"value":"2018-05-23 08:17:47.000"},{"value":"2018-06-01 08:17:47.000"},{"value":"Restaurant"},{"value":"Coastal Grill"},{"value":"Refrigerated Truck"}],[{"value":"69"},{"value":"999.7400"},{"value":"193.0000"},{"value":"5.1800"},{"value":"0.7200"},{"value":"25.8100"},{"value":"Pelagic"},{"value":"Mackerel"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Ocean Voyager"},{"value":"2018-05-21 08:17:48.000"},{"value":"2018-06-01 08:17:48.000"},{"value":"Retail"},{"value":"Sunrise Supermarket"},{"value":"Refrigerated Truck"}],[{"value":"70"},{"value":"309.1900"},{"value":"49.0000"},{"value":"6.3100"},{"value":"1.1300"},{"value":"9.5400"},{"value":"Pelagic"},{"value":"Mackerel"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Northern Star"},{"value":"2018-05-27 08:17:49.000"},{"value":"2018-06-01 08:17:49.000"},{"value":"Retail"},{"value":"FreshFish Direct"},{"value":"Refrigerated Truck"}],[{"value":"71"},{"value":"3,217.7000"},{"value":"143.2000"},{"value":"22.4700"},{"value":"-11.6500"},{"value":"145.5600"},{"value":"Shellfish"},{"value":"Scallops"},{"value":"Frozen"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Sea Breeze"},{"value":"2018-05-25 08:17:50.000"},{"value":"2018-06-01 08:17:50.000"},{"value":"Retail"},{"value":"Seafood City Market"},{"value":"Refrigerated Truck"}],[{"value":"72"},{"value":"476.0100"},{"value":"56.2000"},{"value":"8.4700"},{"value":"-2.8400"},{"value":"12.2800"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Ocean Voyager"},{"value":"2018-05-24 08:17:51.000"},{"value":"2018-06-01 08:17:51.000"},{"value":"Wholesale"},{"value":"Global Seafood Traders"},{"value":"Refrigerated Truck"}],[{"value":"73"},{"value":"1,734.2400"},{"value":"102.8000"},{"value":"16.8700"},{"value":"-5.7200"},{"value":"103.7900"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Arctic Dawn"},{"value":"2018-05-29 08:17:52.000"},{"value":"2018-06-01 08:17:52.000"},{"value":"Wholesale"},{"value":"Global Seafood Traders"},{"value":"Air Freight"}],[{"value":"74"},{"value":"335.1500"},{"value":"37.7000"},{"value":"8.8900"},{"value":"0.4200"},{"value":"16.5100"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Norway"},{"value":"Bergen"},{"value":"Pacific Spirit"},{"value":"2018-05-25 08:17:53.000"},{"value":"2018-06-01 08:17:53.000"},{"value":"Restaurant"},{"value":"Bluewater Bistro"},{"value":"Refrigerated Truck"}],[{"value":"75"},{"value":"1,003.7500"},{"value":"32.6000"},{"value":"30.7900"},{"value":"8.3200"},{"value":"53.1800"},{"value":"Shellfish"},{"value":"Scallops"},{"value":"Frozen"},{"value":"North Atlantic"},{"value":"Iceland"},{"value":"Reykjavik"},{"value":"Wave Runner"},{"value":"2018-05-29 08:17:54.000"},{"value":"2018-06-01 08:17:54.000"},{"value":"Restaurant"},{"value":"Coastal Grill"},{"value":"Air Freight"}],[{"value":"76"},{"value":"688.3100"},{"value":"68.9000"},{"value":"9.9900"},{"value":"-0.5300"},{"value":"49.3300"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Pacific Spirit"},{"value":"2018-05-30 08:17:55.000"},{"value":"2018-06-01 08:17:55.000"},{"value":"Retail"},{"value":"FreshFish Direct"},{"value":"Air Freight"}],[{"value":"77"},{"value":"340.5400"},{"value":"25.3000"},{"value":"13.4600"},{"value":"4.5700"},{"value":"8.8000"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Atlantic Queen"},{"value":"2018-05-29 08:17:56.000"},{"value":"2018-06-01 08:17:56.000"},{"value":"Restaurant"},{"value":"Bluewater Bistro"},{"value":"Refrigerated Truck"}],[{"value":"78"},{"value":"366.3000"},{"value":"111.0000"},{"value":"3.3000"},{"value":"-3.0100"},{"value":"14.9800"},{"value":"Pelagic"},{"value":"Mackerel"},{"value":"Frozen"},{"value":"Pacific"},{"value":"Canada"},{"value":"Prince Rupert, BC"},{"value":"Blue Horizon"},{"value":"2018-05-22 08:17:57.000"},{"value":"2018-06-01 08:17:57.000"},{"value":"Retail"},{"value":"FreshFish Direct"},{"value":"Refrigerated Truck"}],[{"value":"79"},{"value":"2,337.3000"},{"value":"81.1000"},{"value":"28.8200"},{"value":"-1.9700"},{"value":"112.7600"},{"value":"Shellfish"},{"value":"Scallops"},{"value":"Frozen"},{"value":"North Atlantic"},{"value":"Norway"},{"value":"Bergen"},{"value":"Golden Net"},{"value":"2018-05-30 08:17:58.000"},{"value":"2018-06-01 08:17:58.000"},{"value":"Wholesale"},{"value":"Mariner Foods"},{"value":"Air Freight"}],[{"value":"80"},{"value":"1,309.7500"},{"value":"84.5000"},{"value":"15.5000"},{"value":"-1.3700"},{"value":"36.8700"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Norway"},{"value":"Bergen"},{"value":"Sea Breeze"},{"value":"2018-05-23 08:17:59.000"},{"value":"2018-06-01 08:17:59.000"},{"value":"Restaurant"},{"value":"Bluewater Bistro"},{"value":"Refrigerated Truck"}],[{"value":"81"},{"value":"316.7700"},{"value":"31.9000"},{"value":"9.9300"},{"value":"-3.5300"},{"value":"8.9800"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Frozen"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Arctic Dawn"},{"value":"2018-05-25 08:18:00.000"},{"value":"2018-06-01 08:18:00.000"},{"value":"Wholesale"},{"value":"Global Seafood Traders"},{"value":"Refrigerated Truck"}],[{"value":"82"},{"value":"280.2900"},{"value":"30.7000"},{"value":"9.1300"},{"value":"-0.8600"},{"value":"11.7300"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Frozen"},{"value":"Bering Sea"},{"value":"United States"},{"value":"Dutch Harbor, AK"},{"value":"Blue Horizon"},{"value":"2018-05-28 08:18:01.000"},{"value":"2018-06-01 08:18:01.000"},{"value":"Restaurant"},{"value":"Bluewater Bistro"},{"value":"Refrigerated Truck"}],[{"value":"83"},{"value":"2,843.4800"},{"value":"138.1000"},{"value":"20.5900"},{"value":"5.0900"},{"value":"217.5100"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Ocean Voyager"},{"value":"2018-05-29 08:18:02.000"},{"value":"2018-06-01 08:18:02.000"},{"value":"Retail"},{"value":"Seafood City Market"},{"value":"Air Freight"}],[{"value":"84"},{"value":"654.9500"},{"value":"67.8000"},{"value":"9.6600"},{"value":"0.5300"},{"value":"27.4200"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Steaks"},{"value":"Bering Sea"},{"value":"United States"},{"value":"Dutch Harbor, AK"},{"value":"Ocean Voyager"},{"value":"2018-05-22 08:18:03.000"},{"value":"2018-06-01 08:18:03.000"},{"value":"Restaurant"},{"value":"Ocean's Best Restaurant"},{"value":"Refrigerated Truck"}],[{"value":"85"},{"value":"574.0400"},{"value":"106.5000"},{"value":"5.3900"},{"value":"2.0900"},{"value":"28.9400"},{"value":"Pelagic"},{"value":"Mackerel"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Sea Breeze"},{"value":"2018-05-28 08:18:04.000"},{"value":"2018-06-01 08:18:04.000"},{"value":"Restaurant"},{"value":"Bluewater Bistro"},{"value":"Refrigerated Truck"}],[{"value":"86"},{"value":"5,644.2300"},{"value":"206.9000"},{"value":"27.2800"},{"value":"-5.4400"},{"value":"337.6600"},{"value":"Pelagic"},{"value":"Bluefin Tuna"},{"value":"Frozen"},{"value":"Gulf of Mexico"},{"value":"United States"},{"value":"Miami, FL"},{"value":"Wave Runner"},{"value":"2018-05-28 08:18:05.000"},{"value":"2018-06-01 08:18:05.000"},{"value":"Restaurant"},{"value":"Ocean's Best Restaurant"},{"value":"Air Freight"}],[{"value":"87"},{"value":"635.0500"},{"value":"195.4000"},{"value":"3.2500"},{"value":"-2.1400"},{"value":"20.8200"},{"value":"Pelagic"},{"value":"Mackerel"},{"value":"Frozen"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"Halifax, NS"},{"value":"Wave Runner"},{"value":"2018-05-20 08:18:06.000"},{"value":"2018-06-01 08:18:06.000"},{"value":"Retail"},{"value":"FreshFish Direct"},{"value":"Refrigerated Truck"}],[{"value":"88"},{"value":"2,490.8400"},{"value":"112.2000"},{"value":"22.2000"},{"value":"1.6100"},{"value":"135.1400"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Golden Net"},{"value":"2018-05-31 08:18:07.000"},{"value":"2018-06-01 08:18:07.000"},{"value":"Retail"},{"value":"Gourmet Fish Shop"},{"value":"Air Freight"}],[{"value":"89"},{"value":"811.1800"},{"value":"87.6000"},{"value":"9.2600"},{"value":"-0.6700"},{"value":"29.3300"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"Iceland"},{"value":"Reykjavik"},{"value":"Atlantic Queen"},{"value":"2018-05-27 08:18:08.000"},{"value":"2018-06-01 08:18:08.000"},{"value":"Retail"},{"value":"Market on 5th"},{"value":"Refrigerated Truck"}],[{"value":"90"},{"value":"2,653.1500"},{"value":"139.2000"},{"value":"19.0600"},{"value":"-3.1400"},{"value":"121.5900"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Northern Star"},{"value":"2018-05-30 08:18:09.000"},{"value":"2018-06-01 08:18:09.000"},{"value":"Wholesale"},{"value":"Mariner Foods"},{"value":"Air Freight"}],[{"value":"91"},{"value":"6,186.6400"},{"value":"191.3000"},{"value":"32.3400"},{"value":"5.0600"},{"value":"267.5500"},{"value":"Pelagic"},{"value":"Bluefin Tuna"},{"value":"Steaks"},{"value":"Gulf of Mexico"},{"value":"United States"},{"value":"New Orleans, LA"},{"value":"Atlantic Queen"},{"value":"2018-05-26 08:18:10.000"},{"value":"2018-06-01 08:18:10.000"},{"value":"Retail"},{"value":"Seafood City Market"},{"value":"Refrigerated Truck"}],[{"value":"92"},{"value":"1,907.2200"},{"value":"119.5000"},{"value":"15.9600"},{"value":"-3.1000"},{"value":"97.1300"},{"value":"Pelagic"},{"value":"Atlantic Salmon"},{"value":"Frozen"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Sea Breeze"},{"value":"2018-05-31 08:18:11.000"},{"value":"2018-06-01 08:18:11.000"},{"value":"Restaurant"},{"value":"Bluewater Bistro"},{"value":"Air Freight"}],[{"value":"93"},{"value":"1,280.6300"},{"value":"77.1000"},{"value":"16.6100"},{"value":"6.9500"},{"value":"101.3800"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Atlantic Queen"},{"value":"2018-05-31 08:18:12.000"},{"value":"2018-06-01 08:18:12.000"},{"value":"Retail"},{"value":"Seafood City Market"},{"value":"Air Freight"}],[{"value":"94"},{"value":"1,343.4000"},{"value":"60.0000"},{"value":"22.3900"},{"value":"-6.4300"},{"value":"85.1700"},{"value":"Shellfish"},{"value":"Scallops"},{"value":"Frozen"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Atlantic Queen"},{"value":"2018-05-25 08:18:13.000"},{"value":"2018-06-01 08:18:13.000"},{"value":"Retail"},{"value":"Seafood City Market"},{"value":"Refrigerated Truck"}],[{"value":"95"},{"value":"2,218.5500"},{"value":"91.6000"},{"value":"24.2200"},{"value":"1.7000"},{"value":"166.6700"},{"value":"Groundfish"},{"value":"Halibut"},{"value":"Fillet"},{"value":"Pacific"},{"value":"Canada"},{"value":"Prince Rupert, BC"},{"value":"Sea Breeze"},{"value":"2018-05-31 08:18:14.000"},{"value":"2018-06-01 08:18:14.000"},{"value":"Restaurant"},{"value":"Bluewater Bistro"},{"value":"Air Freight"}],[{"value":"96"},{"value":"404.5300"},{"value":"89.3000"},{"value":"4.5300"},{"value":"1.2800"},{"value":"21.6100"},{"value":"Pelagic"},{"value":"Mackerel"},{"value":"Frozen"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Silver Fin"},{"value":"2018-05-26 08:18:15.000"},{"value":"2018-06-01 08:18:15.000"},{"value":"Retail"},{"value":"Market on 5th"},{"value":"Refrigerated Truck"}],[{"value":"97"},{"value":"210.1000"},{"value":"19.1000"},{"value":"11.0000"},{"value":"1.7400"},{"value":"10.4800"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"Iceland"},{"value":"Reykjavik"},{"value":"Golden Net"},{"value":"2018-05-31 08:18:16.000"},{"value":"2018-06-01 08:18:16.000"},{"value":"Restaurant"},{"value":"Bluewater Bistro"},{"value":"Air Freight"}],[{"value":"98"},{"value":"12,579.0900"},{"value":"318.7000"},{"value":"39.4700"},{"value":"7.1300"},{"value":"317.2500"},{"value":"Pelagic"},{"value":"Bluefin Tuna"},{"value":"Steaks"},{"value":"Gulf of Mexico"},{"value":"United States"},{"value":"Houston, TX"},{"value":"Pacific Spirit"},{"value":"2018-05-21 08:18:17.000"},{"value":"2018-06-01 08:18:17.000"},{"value":"Retail"},{"value":"Ocean's Catch"},{"value":"Refrigerated Truck"}],[{"value":"99"},{"value":"367.5400"},{"value":"25.4000"},{"value":"14.4700"},{"value":"3.4700"},{"value":"18.8100"},{"value":"Groundfish"},{"value":"Haddock"},{"value":"Fillet"},{"value":"North Atlantic"},{"value":"United States"},{"value":"Boston, MA"},{"value":"Blue Horizon"},{"value":"2018-05-29 08:18:18.000"},{"value":"2018-06-01 08:18:18.000"},{"value":"Retail"},{"value":"Fisherman's Wharf"},{"value":"Air Freight"}],[{"value":"100"},{"value":"1,020.9700"},{"value":"96.5000"},{"value":"10.5800"},{"value":"-6.0300"},{"value":"78.9900"},{"value":"Groundfish"},{"value":"Cod"},{"value":"Whole"},{"value":"North Atlantic"},{"value":"Canada"},{"value":"St. John's, NL"},{"value":"Atlantic Queen"},{"value":"2018-05-29 08:18:19.000"},{"value":"2018-06-01 08:18:19.000"},{"value":"Retail"},{"value":"Gourmet Fish Shop"},{"value":"Air Freight"}]]}}}} \ No newline at end of file diff --git a/plugins/plotly-express/src/deephaven/plot/express/data/__init__.py b/plugins/plotly-express/src/deephaven/plot/express/data/__init__.py index 8bb7ad6e3..8b4c1a832 100644 --- a/plugins/plotly-express/src/deephaven/plot/express/data/__init__.py +++ b/plugins/plotly-express/src/deephaven/plot/express/data/__init__.py @@ -7,4 +7,5 @@ election, wind, gapminder, + fish_market, ) diff --git a/plugins/plotly-express/src/deephaven/plot/express/data/data_generators.py b/plugins/plotly-express/src/deephaven/plot/express/data/data_generators.py index 7ae17635d..745408c11 100644 --- a/plugins/plotly-express/src/deephaven/plot/express/data/data_generators.py +++ b/plugins/plotly-express/src/deephaven/plot/express/data/data_generators.py @@ -9,20 +9,28 @@ from typing import Any, cast from deephaven.pandas import to_table -from deephaven.replay import TableReplayer from deephaven.table import Table from deephaven import empty_table, time_table, merge from deephaven.time import ( to_j_instant, to_pd_timestamp, ) -from deephaven.updateby import rolling_sum_tick, ema_tick, cum_max +from deephaven.updateby import rolling_sum_tick, ema_tick, cum_max, delta, DeltaControl SECOND = 1_000_000_000 #: One second in nanoseconds. MINUTE = 60 * SECOND #: One minute in nanoseconds. STARTING_TIME = "2018-06-01T08:00:00 ET" # day deephaven.io was registered +# Helper converters to satisfy static type checkers when dealing with pandas/numpy scalars +def _to_py_float(x: Any) -> float: + return float(x) + + +def _to_py_int(x: Any) -> int: + return int(x) + + def _cast_timestamp(time: pd.Timestamp | None) -> pd.Timestamp: """ Casts a pd.Timestamp to be non-None. @@ -54,6 +62,15 @@ def iris(ticking: bool = True) -> Table: along with a timestamp, id and species name. - The original Iris species names are included (setosa, versicolor, and virginica). + Columns: + - Timestamp (Instant): The timestamp of the observation + - SepalLength (Double): The length of the sepal in centimeters + - SepalWidth (Double): The width of the sepal in centimeters + - PetalLength (Double): The length of the petal in centimeters + - PetalWidth (Double): The width of the petal in centimeters + - Species (String): The species of the iris flower + - SpeciesID (Long): A numerical ID for the species + Args: ticking: If true, the table will tick new data every second. @@ -64,12 +81,6 @@ def iris(ticking: bool = True) -> Table: References: - Fisher, R. A. (1936). The use of multiple measurements in taxonomic problems. Annals of Eugenics, 7(2), 179-188. - - Examples: - ``` - from deephaven.plot import express as dx - iris = dx.data.iris() - ``` """ species_list: list[str] = ["setosa", "versicolor", "virginica"] # Give this dataset a timestamp column based on original year from this data @@ -143,12 +154,11 @@ def jobs(ticking: bool = True) -> Table: assigned to the job, is randomly selected. The dataset continues to loop in this way, moving across time until it is deleted or the server is shut down. - Notes: - Contains the following columns: - - Job: a string column denoting the name of the job, ranging from Job1 to Job5 - - StartTime: a Java Instant column containing the start time of the job - - EndTime: a Java Instant column containing the end time of the job - - Resource: a string column indicating the name of the person that the job is assigned to + Columns: + - Job (String): Denoting the name of the job, ranging from Job1 to Job5 + - StartTime (Instant): Containing the start time of the job + - EndTime (Instant): Containing the end time of the job + - Resource (String): Indicating the name of the person that the job is assigned to Args: ticking: @@ -156,12 +166,6 @@ def jobs(ticking: bool = True) -> Table: Returns: A Deephaven Table - - Examples: - ``` - from deephaven.plot import express as dx - jobs = dx.data.jobs() - ``` """ def generate_resource(index: int) -> str: @@ -202,11 +206,10 @@ def marketing(ticking: bool = True) -> Table: be considered a potential customer, formally request the price of the product, or purchase the product and receive an invoice. Each of these categories is a strict subset of the last, so it lends itself well to funnel plots. - Notes: - Contains the following columns: - - Stage: a string column containing the stage of a customers interest: + Columns: + - Stage (String): A string column containing the stage of a customers interest: VisitedWebsite, Downloaded, PotentialCustomer, RequestedPrice, and InvoiceSent - - Count: an integer column counting the number of customers to fall into each category + - Count (Long): Column counting the number of customers to fall into each category Args: ticking: @@ -214,12 +217,6 @@ def marketing(ticking: bool = True) -> Table: Returns: A Deephaven Table - - Examples: - ``` - from deephaven.plot import express as dx - marketing = dx.data.marketing() - ``` """ _ColsToRowsTransform = jpy.get_type( "io.deephaven.engine.table.impl.util.ColumnsToRowsTransform" @@ -265,164 +262,164 @@ def weighted_selection(prob: float, index: int) -> bool: def stocks( ticking: bool = True, - hours_of_data: int = 1, starting_time: str = STARTING_TIME, ) -> Table: """Returns a Deephaven table containing a generated example data set. - Data is 1 hour of randomly generated (but deterministic) fictional - stock market data, and starts with the first 5 minutes of data - already initialized so your example plots won't start empty. - - Notes: - Contains the following columns: - - Timestamp: a time column starting from the date deephaven.io was registered - - Sym: a string representing a fictional stock symbol - - Exchange: a string representing a fictional stock exchange - - Size: the number of shares in the trade - - Price: the transaction price of the trade - - Dollars: the dollar value of the trade (price * size) - - Side: buy or sell side of the trade - - SPet500: A comparison to a fictional index - - Index: an incrementing row index - - Random: A random gaussian value using row index as seed + Randomly generated (but deterministic) fictional + stock market data. Starts with the first 5 minutes of data + already initialized so example plots won't start empty. + + Columns: + - Timestamp (Instant): A time column starting from the date deephaven.io was registered + - Sym (String): A string representing a fictional stock symbol + - Exchange (String): A string representing a fictional stock exchange + - Size (Long): The number of shares in the trade + - Price (Double): The transaction price of the trade + - Dollars (Double): The dollar value of the trade (price * size) + - Side (String): Buy or sell side of the trade + - SPet500 (Double): A comparison to a fictional index + - Index (Long): An incrementing row index + - Random (Double): A random gaussian value using row index as seed Args: ticking: If true, the table will tick using a replayer, if false the whole table will be returned as a static table. - hours_of_data: - The number of hours of data to return starting_time: - The starting time of the data, defaults to "2018-06-01T08:00:00 ET" + The starting time for the data generation, defaults to 2018-06-01T08:00:00 ET Returns: A Deephaven Table - - Examples: - ``` - import deephaven.plot.express as dx - stocks = dx.data.stocks() - ``` """ - - base_time = to_j_instant(starting_time) - - pd_base_time = _cast_timestamp(to_pd_timestamp(base_time)) - - sym_list = ["CAT", "DOG", "FISH", "BIRD", "LIZARD"] - sym_dict = {v: i for i, v in enumerate(sym_list)} - sym_weights = [95, 100, 70, 45, 35] - exchange = ["NYPE", "PETX", "TPET"] - exchange_weights = [50, 100, 45] - init_value = 100 # is used inside query string - ticks_per_second = 10 - size_in_seconds: int = hours_of_data * 60 * 60 * ticks_per_second - - # base time is 8am, start at 9am so there's already data showing and tick until 5pm - start_time = pd_base_time + pd.Timedelta((int)(MINUTE * 5)) - end_time = pd_base_time + pd.Timedelta(size_in_seconds * SECOND) - - def random_gauss(seed: int) -> float: - random.seed(seed) # set seed once per row - return random.gauss(0, 1) - - def random_list_sym(seed: int) -> str: - return random.choices(sym_list, sym_weights)[0] - - def random_list_exchange(seed: int) -> str: - return random.choices(exchange, exchange_weights)[0] - - def random_trade_size(rand: float) -> int: - """ - Random distribution of trade size, approximately mirroring market data - """ - # cubic - abs_rand = abs(rand**3) - # rough model of the distribution of trade sizes in real market data - # they bucket into human sized trade blocks - size_dist = random.choices( - [0, 2, 3, 4, 5, 10, 20, 50, 100, 150, 200, 250, 300, 400, 500, 1000], - [1000, 30, 25, 20, 15, 5, 5, 20, 180, 5, 15, 5, 8, 7, 8, 2], - )[0] - if size_dist == 0: - size = math.ceil(1000 * abs_rand) - # round half of the numbers above 1000 to the nearest ten - return round(size, -1) if (size > 1000 and rand > 0) else size - else: - return size_dist - - static_table = ( - empty_table(size_in_seconds) - .update( - formulas=[ - "Timestamp = base_time + (long)(ii * SECOND / ticks_per_second)", - # must be first as it sets python seed - "RandomDouble = (double)random_gauss(i)", # nicer looking starting seed - "Sym = random_list_sym(i)", - "Exchange = random_list_exchange(i)", - "Side = RandomDouble >= 0 ? `buy` : `sell`", - "Size = random_trade_size(RandomDouble)", - "SymIndex = (int)sym_dict[Sym]", - "Index = i", - ] - ) - # generate data for price column - .update_by( - ops=[ - rolling_sum_tick( - cols=["RollingSum = RandomDouble"], rev_ticks=2000, fwd_ticks=0 - ) - ], - by=["Sym"], - ) - .update_by(ops=[ema_tick(decay_ticks=2, cols=["Ema = RollingSum"])], by=["Sym"]) - # generate date for "SPet500" a hypothetical composite index - .update_by( - ops=[ - rolling_sum_tick( - cols=["RollingSumIndividual = RandomDouble"], - rev_ticks=1000, - fwd_ticks=0, - ) - ], - ) - .update_by( - ops=[ema_tick(decay_ticks=5, cols=["EmaIndividual = RollingSumIndividual"])] - ) - # spread the staring values based on symbol and round to 2 decimals - .update( - [ - "Price = Math.round((Ema + init_value + Math.pow(1 + SymIndex, 3))*100)/100", - "SPet500 = EmaIndividual + init_value + 50", - "Dollars = Size * Price", - ] - ) - # drop intermediary columns, and order the output nicely - .view( - [ - "Timestamp", - "Sym", - "Exchange", - "Size", - "Price", - "Dollars", - "Side", - "SPet500", - "Index", - "Random = RandomDouble", - ] + + def generate( + t: Table, + ticks_per_second: int = ticks_per_second, + starting_time: str = starting_time, + ) -> Table: + base_time = to_j_instant(starting_time) + pd_base_time = _cast_timestamp(to_pd_timestamp(base_time)) + + sym_list = ["CAT", "DOG", "FISH", "BIRD", "LIZARD"] + sym_dict = {v: i for i, v in enumerate(sym_list)} # is used inside query string + sym_weights = [95, 100, 70, 45, 35] + exchange = ["NYPE", "PETX", "TPET"] + exchange_weights = [50, 100, 45] + init_value = 100 # is used inside query string + + def random_gauss(seed: int) -> float: + random.seed(seed) + return random.gauss(0, 1) + + def random_list_sym(seed: int) -> str: + random.seed(seed) + return random.choices(sym_list, sym_weights)[0] + + def random_list_exchange(seed: int) -> str: + random.seed(seed) + return random.choices(exchange, exchange_weights)[0] + + def random_trade_size(rand: float) -> int: + """ + Random distribution of trade size, approximately mirroring market data + """ + # cubic + abs_rand = abs(rand**3) + # rough model of the distribution of trade sizes in real market data + # they bucket into human sized trade blocks + random.seed(rand) + size_dist = random.choices( + [0, 2, 3, 4, 5, 10, 20, 50, 100, 150, 200, 250, 300, 400, 500, 1000], + [1000, 30, 25, 20, 15, 5, 5, 20, 180, 5, 15, 5, 8, 7, 8, 2], + )[0] + if size_dist == 0: + size = math.ceil(1000 * abs_rand) + # round half of the numbers above 1000 to the nearest ten + return round(size, -1) if (size > 1000 and rand > 0) else size + else: + return size_dist + + return ( + t.update( + formulas=[ + "Timestamp = base_time + (long)(Index * SECOND / ticks_per_second)", + "RandomDouble = (double)random_gauss(Index)", # nicer looking starting seed + "Sym = random_list_sym(Index)", + "Exchange = random_list_exchange(Index)", + "Side = RandomDouble >= 0 ? `buy` : `sell`", + "Size = random_trade_size(RandomDouble)", + "SymIndex = (int)sym_dict[Sym]", + ] + ) + # generate data for price column + .update_by( + ops=[ + rolling_sum_tick( + cols=["RollingSum = RandomDouble"], rev_ticks=2000, fwd_ticks=0 + ) + ], + by=["Sym"], + ) + .update_by( + ops=[ema_tick(decay_ticks=2, cols=["Ema = RollingSum"])], by=["Sym"] + ) + # generate date for "SPet500" a hypothetical composite index + .update_by( + ops=[ + rolling_sum_tick( + cols=["RollingSumIndividual = RandomDouble"], + rev_ticks=1000, + fwd_ticks=0, + ) + ], + ) + .update_by( + ops=[ + ema_tick( + decay_ticks=5, cols=["EmaIndividual = RollingSumIndividual"] + ) + ] + ) + # spread the staring values based on symbol and round to 2 decimals + .update( + [ + "Price = Math.round((Ema + init_value + Math.pow(1 + SymIndex, 3))*100)/100", + "SPet500 = EmaIndividual + init_value + 50", + "Dollars = Size * Price", + ] + ) + # drop intermediary columns, and order the output nicely + .view( + [ + "Timestamp", + "Sym", + "Exchange", + "Size", + "Price", + "Dollars", + "Side", + "SPet500", + "Index", + "Random = RandomDouble", + ] + ) ) - ) if ticking: - result_replayer = TableReplayer(start_time, end_time) - replayer_table = result_replayer.add_table(static_table, "Timestamp") - result_replayer.start() - return replayer_table + return generate( + merge( + [ + empty_table(60 * 5 * ticks_per_second).update("Index = ii"), + time_table("PT0.1S") + .update("Index = ii + 60 * 5 * ticks_per_second") + .drop_columns("Timestamp"), + ] + ) + ) else: - return static_table + return generate(empty_table(60 * 60 * ticks_per_second).update("Index = ii")) def tips(ticking: bool = True) -> Table: @@ -431,26 +428,34 @@ def tips(ticking: bool = True) -> Table: One waiter recorded information about each tip he received over a period of a few months working in one restaurant. This data was published in 1995. This function generates a deterministically random dataset inspired by Tips dataset. + Notes: - - The total_bill and tip amounts are generated from a statistical linear model, + The total_bill and tip amounts are generated from a statistical linear model, where total_bill is generated from the significant covariates 'smoker' and 'size' plus a random noise term, and then tip is generated from total_bill plus a random noise term. + + Columns: + - TotalBill (Double): The total bill amount for the table + - Tip (Double): The tip amount for the table + - Sex (String): The sex of the individual who paid the bill + - Smoker (String): Whether the individual was a smoker or not + - Day (String): The day of the week the bill was paid + - Time (String): The time of day the bill was paid + - Size (Long): The size of the party at the table + Args: ticking: If true, a ticking table containing the entire Tips dataset will be returned, and new rows of synthetic data will tick in every second. If false, the Tips dataset will be returned as a static table. + Returns: A Deephaven Table + References: - Bryant, P. G. and Smith, M (1995) Practical Data Analysis: Case Studies in Business Statistics. Homewood, IL: Richard D. Irwin Publishing. - Examples: - ``` - from deephaven.plot import express as dx - tips = dx.data.tips() - ``` """ # load the tips dataset, cast the category columns to strings, convert to Deephaven table tips_df = px.data.tips().astype( @@ -561,16 +566,15 @@ def election(ticking: bool = True) -> Table: Then, a new row will tick in each second, until all 58 rows are included in the table. The table will then reset to the first 19 rows, and continue ticking in this manner until it is deleted or otherwise cleaned up. - Notes: - Contains the following columns: - - District: a string containing the name of the district that the votes were cast in - - Coderre: the number of votes that the candidate Coderre received in the district - - Bergeron: the number of votes that the candidate Bergeron received in the district - - Joly: the number of votes that the candidate Joly received in the district - - Total: the total number of votes cast in the district - - Winner: a string containing the name of the winning candidate for that district - - Result: a string indicating whether the victory was by majority or plurality - - DistrictID: a numerical ID for the district + Columns: + - District (String): The name of the district that the votes were cast in + - Coderre (Long): The number of votes that the candidate Coderre received in the district + - Bergeron (Long): The number of votes that the candidate Bergeron received in the district + - Joly (Long): The number of votes that the candidate Joly received in the district + - Total (Long): The total number of votes cast in the district + - Winner (String): The name of the winning candidate for that district + - Result (String): Whether the victory was by majority or plurality + - DistrictID (Long): A numerical ID for the district Args: ticking: @@ -578,12 +582,6 @@ def election(ticking: bool = True) -> Table: Returns: A Deephaven Table - - Examples: - ``` - from deephaven.plot import express as dx - election = dx.data.election() - ``` """ # read in election data, cast types appropriately, convert to Deephaven table election_df = px.data.election().astype( @@ -608,10 +606,12 @@ def election(ticking: bool = True) -> Table: # functions to get correctly-typed values out of columns by index def get_str_val(column: str, index: int) -> str: - return election_df.loc[index, column] + return str(election_df.loc[index, column]) def get_long_val(column: str, index: int) -> int: - return election_df.loc[index, column] + # Convert to a numeric scalar and cast directly to int. This works for + # Python numbers and NumPy/Pandas scalar types without needing `.item()`. + return _to_py_int(election_df.loc[index, column]) TOTAL_ROWS = len(election_df) STATIC_ROWS = math.floor(TOTAL_ROWS * 0.33) @@ -658,11 +658,10 @@ def wind(ticking: bool = True) -> Table: Then, a new row will tick in each second, until all 128 rows are included in the table. The table will then reset to the first 42 rows, and continue ticking in this manner until it is deleted or otherwise cleaned up. - Notes: - Contains the following columns: - - Direction: a string indicating the direction of the wind gust - - Strength: a string indicating the strength of the wind gust, from 0-1 to 6+ - - Frequency: the frequency of each gust strength in each direction + Columns: + - Direction (String): The direction of the wind gust + - Strength (String): A string indicating the strength of the wind gust, from 0-1 to 6+ + - Frequency (double): The frequency of each gust strength in each direction Args: ticking: @@ -670,12 +669,6 @@ def wind(ticking: bool = True) -> Table: Returns: A Deephaven Table - - Examples: - ``` - from deephaven.plot import express as dx - wind = dx.data.wind() - ``` """ wind_df = px.data.wind().astype({"direction": "string", "strength": "string"}) @@ -695,10 +688,10 @@ def wind(ticking: bool = True) -> Table: # functions to get correctly-typed values out of columns by index def get_str_val(column: str, index: int) -> str: - return wind_df.loc[index, column] + return str(wind_df.loc[index, column]) def get_float_val(column: str, index: int) -> float: - return wind_df.loc[index, column] + return _to_py_float(wind_df.loc[index, column]) TOTAL_ROWS = len(wind_df) STATIC_ROWS = math.floor(TOTAL_ROWS * 0.33) @@ -745,15 +738,14 @@ def gapminder(ticking: bool = True) -> Table: 142 rows tick in per second. The dataset starts with years up to 1961, ticks in each month till 2007, and then repeats until the table is cleaned up or deleted. - Notes: - Contains the following columns: - - Country: a string containing the name of the country - - Continent: a string containing the name of the continent that the country belongs to - - Year: the year that the measurement was taken - - Month: the month (1 - 12) that the measurement was taken - - LifeExp: average life expectancy - - Pop: population total - - GdpPerCap: per-capita GDP + Columns: + - Country (String): Name of the country + - Continent (String): Name of the continent the country belongs to + - Year (Long): Year of the measurement + - Month (Long): Month (1-12) of the measurement + - LifeExp (Double): Average life expectancy + - Pop (Long): Population total + - GdpPerCap (Double): Per-capita GDP Args: ticking: @@ -764,12 +756,6 @@ def gapminder(ticking: bool = True) -> Table: References: - https://www.gapminder.org/data/ - - Examples: - ``` - from deephaven.plot import express as dx - gapminder = dx.data.gapminder() - ``` """ # create dict to rename columns in advance, since it is needed twice col_renaming_dict = { @@ -925,13 +911,13 @@ def create_empty(val: Any, reps: int) -> list[Any]: j_counter = jpy.array("long", [i for i in range(142)]) def get_life_expectancy(index: int) -> float: - return gapminder_interp.loc[index, "LifeExp"] + return _to_py_float(gapminder_interp.loc[index, "LifeExp"]) def get_population(index: int) -> int: - return gapminder_interp.loc[index, "Pop"] + return _to_py_int(gapminder_interp.loc[index, "Pop"]) def get_gdp_per_cap(index: int) -> float: - return gapminder_interp.loc[index, "GdpPerCap"] + return _to_py_float(gapminder_interp.loc[index, "GdpPerCap"]) TOTAL_YEARS = 55 STATIC_YEARS = 9 @@ -986,3 +972,404 @@ def get_gdp_per_cap(index: int) -> float: ticking_table, ] ) + + +def fish_market(ticking: bool = True) -> Table: + """ + Returns a fish market sales dataset designed for pivot table examples. Ticks every second, + is random but deterministic, and contains lots of categorical data for pivoting. + + Columns: + - SaleID (Int): Index of sale + - Revenue (Double): Revenue generated from the sale + - WeightKg (Double): Weight of the fish sold (in kg) + - PricePerKg (Double): Price per kg of the fish + - MarketPriceDiff (Double): Difference between market price and sale price + - HandlingFee (Double): Handling fee for the sale + - ProductName (String): Name of the fish product + - ProductType (String): Type of the fish product + - ProductForm (String): Form of the fish product + - FishingGround (String): Fishing ground where the fish was caught + - LandingCountry (String): Country where the fish was landed + - LandingPort (String): Port where the fish was landed + - CatchDate (Instant): Date when the fish was caught + - SaleDate (Instant): Date when the fish was sold + - VesselName (String): Name of the fishing vessel + - CustomerName (String): Name of the customer + - CustomerType (String): Type of customer (e.g., Retail, Wholesale) + - TransportMethod (String): Method of transport used for the sale + + Args: + ticking: When true, one new transaction will tick in every second. When false, returns 1000 rows. + + Returns: + A Deephaven Table suitable for pivot table demonstrations. + """ + + base_rows = 1000 + + def generate(t: Table, base_rows: int = base_rows) -> Table: + base_time = to_j_instant(STARTING_TIME) # used in query strings + + def _stable_val(s: str) -> int: + # Deterministic string-to-int seed (avoid Python's randomized hash) + return sum(ord(c) for c in s) & 0x7FFFFFFF + + # Reference data + species_list = [ + "Atlantic Salmon", + "Bluefin Tuna", + "Haddock", + "Cod", + "Halibut", + "Mackerel", + "Scallops", + "Lobster", + ] + + species_to_type = { + "Atlantic Salmon": "Pelagic", + "Bluefin Tuna": "Pelagic", + "Mackerel": "Pelagic", + "Haddock": "Groundfish", + "Cod": "Groundfish", + "Halibut": "Groundfish", + "Scallops": "Shellfish", + "Lobster": "Shellfish", + } + + product_forms = ["Whole", "Fillet", "Steaks", "Frozen"] + + fishing_grounds = [ + "North Atlantic", + "Pacific", + "Gulf of Mexico", + "Bering Sea", + ] + + species_to_grounds = { + "Atlantic Salmon": ["North Atlantic"], + "Bluefin Tuna": ["Pacific", "Gulf of Mexico", "North Atlantic"], + "Haddock": ["North Atlantic"], + "Cod": ["North Atlantic", "Bering Sea"], + "Halibut": ["Pacific", "Bering Sea"], + "Mackerel": ["North Atlantic", "Pacific"], + "Scallops": ["North Atlantic"], + "Lobster": ["North Atlantic"], + } + + ports_by_ground = { + "North Atlantic": [ + "Boston, MA", + "Halifax, NS", + "Reykjavik", + "Bergen", + "St. John's, NL", + ], + "Pacific": [ + "Seattle, WA", + "Vancouver, BC", + "Shimizu", + "Prince Rupert, BC", + "Hachinohe", + ], + "Gulf of Mexico": [ + "New Orleans, LA", + "Tampa, FL", + "Houston, TX", + "Miami, FL", + ], + "Bering Sea": [ + "Dutch Harbor, AK", + ], + } + + # Map each port to its country + port_to_country = { + # North Atlantic + "Boston, MA": "United States", + "Halifax, NS": "Canada", + "Reykjavik": "Iceland", + "Bergen": "Norway", + "St. John's, NL": "Canada", + # Pacific + "Seattle, WA": "United States", + "Vancouver, BC": "Canada", + "Shimizu": "Japan", + "Prince Rupert, BC": "Canada", + "Hachinohe": "Japan", + # Gulf of Mexico + "New Orleans, LA": "United States", + "Tampa, FL": "United States", + "Houston, TX": "United States", + "Miami, FL": "United States", + # Bering Sea + "Dutch Harbor, AK": "United States", + } + + vessels = [ + "Sea Breeze", + "Northern Star", + "Ocean Voyager", + "Blue Horizon", + "Arctic Dawn", + "Pacific Spirit", + "Atlantic Queen", + "Golden Net", + "Wave Runner", + "Silver Fin", + ] + + customer_to_type = { + "Ocean's Best Restaurant": "Restaurant", + "Bluewater Bistro": "Restaurant", + "Coastal Grill": "Restaurant", + "Seafood City Market": "Retail", + "FreshFish Direct": "Retail", + "Market on 5th": "Retail", + "Harbor Wholesale Co.": "Wholesale", + "Mariner Foods": "Wholesale", + "Global Seafood Traders": "Wholesale", + "Sunrise Supermarket": "Retail", + "Gourmet Fish Shop": "Retail", + "Fisherman's Wharf": "Retail", + "Ocean's Catch": "Retail", + } + + # Species price and weight profiles (low, high, mode) for triangular distribution + price_profiles = { + "Atlantic Salmon": (14.0, 20.0, 16.0), + "Bluefin Tuna": (22.0, 40.0, 28.0), + "Haddock": (6.0, 12.0, 9.0), + "Cod": (7.0, 14.0, 10.0), + "Halibut": (16.0, 30.0, 22.0), + "Mackerel": (3.0, 6.0, 4.5), + "Scallops": (20.0, 38.0, 28.0), + "Lobster": (12.0, 25.0, 18.0), + } + weight_profiles = { + "Atlantic Salmon": (20.0, 400.0, 120.0), + "Bluefin Tuna": (50.0, 800.0, 200.0), + "Haddock": (5.0, 150.0, 40.0), + "Cod": (5.0, 200.0, 50.0), + "Halibut": (10.0, 300.0, 80.0), + "Mackerel": (10.0, 400.0, 100.0), + "Scallops": (10.0, 250.0, 70.0), + "Lobster": (5.0, 120.0, 40.0), + } + + def choose_species(index: int) -> str: + random.seed(index) + weights = [12, 6, 10, 10, 7, 11, 8, 6] # some variety + return random.choices(species_list, weights=weights)[0] + + def species_type(species: str) -> str: + return species_to_type.get(species, "Unknown") + + def choose_form(index: int, species: str) -> str: + random.seed(index + 1 + _stable_val(species)) + # Form preferences by species (e.g., Lobster more often Whole or Frozen) + if species == "Lobster": + weights = [7, 0, 0, 3] # Whole, Fillet, Steaks, Frozen + elif species == "Scallops": + weights = [2, 0, 0, 6] + elif species in ("Bluefin Tuna", "Halibut"): + weights = [2, 4, 3, 1] + else: + weights = [3, 5, 2, 2] + return random.choices(product_forms, weights=weights)[0] + + def choose_ground(index: int, species: str) -> str: + random.seed(index + 2 + _stable_val(species)) + valid_grounds = species_to_grounds.get(species, fishing_grounds) + weights = [35, 30, 12, 15, 8] + return random.choices(valid_grounds, weights=weights[: len(valid_grounds)])[ + 0 + ] + + # Update choose_port to select by ground only + def choose_port(ground: str, index: int) -> str: + random.seed(index + 4500 + _stable_val(ground)) + options = ports_by_ground.get(ground, ["Boston, MA"]) + return random.choice(options) + + def choose_country(port: str) -> str: + # Select country based on port + return port_to_country.get(port, "United States") + + def choose_vessel(index: int, ground: str) -> str: + random.seed(index + 5000 + _stable_val(ground)) + return random.choice(vessels) + + def choose_customer(index: int) -> str: + random.seed(index + 6) + options = list(customer_to_type.keys()) + weights = [10, 9, 7, 8, 9, 7, 8, 6, 5, 3, 4, 5, 2] + return random.choices(options, weights=weights)[0] + + def customer_type(name: str) -> str: + return customer_to_type.get(name, "Retail") + + def choose_transport( + index: int, + product_form: str, + landing_country: str, + ground: str, + species: str, + ) -> str: + random.seed( + index + + 7000 + + _stable_val(product_form) + + (_stable_val(landing_country) * 3) + + (_stable_val(ground) * 5) + + (_stable_val(species) * 7) + ) + # Air more likely for premium/fresh product or long-distance exports + air_bias = 0 + if product_form in ("Fillet", "Steaks"): + air_bias += 20 + if landing_country in ("Japan", "Iceland", "Norway"): + air_bias += 20 + if species in ("Bluefin Tuna", "Scallops"): + air_bias += 15 + air_weight = max(10, min(70, 20 + air_bias)) + truck_weight = 100 - air_weight + return random.choices( + ["Air Freight", "Refrigerated Truck"], + weights=[air_weight, truck_weight], + )[0] + + def gen_weight(species: str, product_form: str, index: int) -> float: + low, high, mode = weight_profiles[species] + random.seed(index + 8000 + _stable_val(species)) + w = random.triangular(low, high, mode) + form_mult = {"Whole": 1.0, "Fillet": 0.6, "Steaks": 0.7, "Frozen": 0.8}.get( + product_form, 1.0 + ) + return max(1.0, w * form_mult) + + def gen_price(species: str, product_form: str, index: int) -> float: + low, high, mode = price_profiles[species] + random.seed(index + 9000 + _stable_val(species)) + p = random.triangular(low, high, mode) + form_mult = {"Whole": 1.0, "Fillet": 1.3, "Steaks": 1.2, "Frozen": 0.9}.get( + product_form, 1.0 + ) + # Add small noise + random.seed(index + 10) + noise = random.gauss(0.0, 0.5) + return max(1.0, p * form_mult + noise) + + def compute_handling_fee( + revenue: float, transport_method: str, product_form: str, index: int + ) -> float: + random.seed(index + 11) + base_pct = random.uniform(0.02, 0.06) + if transport_method == "Air Freight": + base_pct += 0.02 + if product_form == "Frozen": + base_pct += 0.005 + return revenue * base_pct + + def gen_sale_delay( + transport_method: str, product_form: str, weight: float, index: int + ) -> int: + random.seed( + index + + 13000 + + _stable_val(transport_method) + + (_stable_val(product_form) * 2) + ) + if transport_method == "Air Freight": + base = random.randint(1, 3) + else: + base = random.randint(2, 12) + # Heavier shipments tend to take a bit longer + heavy_adj = 0 + if weight > 300: + heavy_adj = 2 + elif weight > 150: + heavy_adj = 1 + return max(0, base + heavy_adj) + + return ( + t.update( + [ + # Dimensional attributes first + "ProductName = (String)choose_species(Index)", + "ProductType = (String)species_type(ProductName)", + "ProductForm = (String)choose_form(Index, ProductName)", + "FishingGround = (String)choose_ground(Index, ProductName)", + "LandingPort = (String)choose_port(FishingGround, Index)", + "LandingCountry = (String)choose_country(LandingPort)", + "VesselName = (String)choose_vessel(Index, FishingGround)", + "CustomerName = (String)choose_customer(Index)", + "CustomerType = (String)customer_type(CustomerName)", + # Measures + "WeightKg = Math.round((double)gen_weight(ProductName, ProductForm, Index) * 10.0 ) / 10.0", + "PricePerKg = Math.round((double)gen_price(ProductName, ProductForm, Index) * 100.0) / 100.0", + "Revenue = Math.round((PricePerKg * WeightKg) * 100.0) / 100.0", + # Logistics + "TransportMethod = (String)choose_transport(Index, ProductForm, LandingCountry, FishingGround, ProductName)", + "HandlingFee = Math.round((double)compute_handling_fee(Revenue, TransportMethod, ProductForm, Index) * 100.0) / 100.0", + # Dates + "SaleDate = base_time + (long)((Index + base_rows) * SECOND)", + "SaleDelayDays = (int)gen_sale_delay(TransportMethod, ProductForm, WeightKg, Index)", + "CatchDate = SaleDate - (long)(SaleDelayDays * DAY)", + # Identifier + "SaleID = (int)(Index + 1)", + ] + ) + .update_by( + ops=[ + delta( + cols="MarketPriceDiff = PricePerKg", + delta_control=DeltaControl.ZERO_DOMINATES, + ) + ], + by="ProductName", + ) + .drop_columns( + [ + "SaleDelayDays", + "Index", + ] + ) + .view( + [ + "SaleID", + "Revenue", + "WeightKg", + "PricePerKg", + "MarketPriceDiff", + "HandlingFee", + "ProductType", + "ProductName", + "ProductForm", + "FishingGround", + "LandingCountry", + "LandingPort", + "VesselName", + "CatchDate", + "SaleDate", + "CustomerType", + "CustomerName", + "TransportMethod", + ] + ) + ) + + if ticking: + return generate( + merge( + [ + empty_table(base_rows).update("Index = ii"), + time_table("PT1S") + .update(f"Index = ii + {base_rows}") + .drop_columns("Timestamp"), + ] + ) + ) + else: + return generate(empty_table(base_rows).update("Index = ii")) diff --git a/tests/app.d/ui_table.py b/tests/app.d/ui_table.py index 713fa1c1a..dc8eb92a0 100644 --- a/tests/app.d/ui_table.py +++ b/tests/app.d/ui_table.py @@ -3,7 +3,7 @@ import deephaven.plot.express as dx _t = empty_table(100).update(["x = i", "y = sin(i)"]) -_stocks = dx.data.stocks(False) +_stocks = dx.data.stocks(ticking=False) t_alignment = ui.table( _t, @@ -78,7 +78,7 @@ def toggle_table_component(): with_lower, set_with_lower = ui.use_state(False) with_databars, set_with_databars = ui.use_state(True) t = ui.use_memo( - lambda: dx.data.stocks().update("SymColor=Sym==`FISH` ? `positive` : `salmon`"), + lambda: _stocks.update("SymColor=Sym==`FISH` ? `positive` : `salmon`"), [], ) return [ diff --git a/tests/ui_table.spec.ts b/tests/ui_table.spec.ts index 9b32434b1..447d7ba22 100644 --- a/tests/ui_table.spec.ts +++ b/tests/ui_table.spec.ts @@ -51,7 +51,7 @@ test('UI table on_selection_change', async ({ page }) => { await expect(page.getByText('Selection: CAT/NYPE')).toBeVisible(); await clickGridRow(locator, 0, { modifiers: ['ControlOrMeta'] }); - await expect(page.getByText('Selection: FISH/TPET, CAT/NYPE')).toBeVisible(); + await expect(page.getByText('Selection: BIRD/TPET, CAT/NYPE')).toBeVisible(); await page.keyboard.press('Escape'); await expect(page.getByText('Selection: None')).toBeVisible(); diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-1-chromium-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-1-chromium-linux.png index 825409947..f21f2bdc5 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-1-chromium-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-1-chromium-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-1-firefox-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-1-firefox-linux.png index cb02d48bc..072a04ab8 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-1-firefox-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-1-firefox-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-1-webkit-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-1-webkit-linux.png index 6731f6ddc..174f55a5d 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-1-webkit-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-1-webkit-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-2-chromium-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-2-chromium-linux.png index d80dc4978..c88acea51 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-2-chromium-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-2-chromium-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-2-firefox-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-2-firefox-linux.png index bcef008f8..921ee4a32 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-2-firefox-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-2-firefox-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-2-webkit-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-2-webkit-linux.png index 0f436a223..a29dacb46 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-2-webkit-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-2-webkit-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-3-chromium-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-3-chromium-linux.png index 456564a0c..9386335c3 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-3-chromium-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-3-chromium-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-3-firefox-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-3-firefox-linux.png index 5905fa999..a559065f2 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-3-firefox-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-3-firefox-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-3-webkit-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-3-webkit-linux.png index ebb829c56..6f86c9df9 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-3-webkit-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-3-webkit-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-4-chromium-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-4-chromium-linux.png index a13929b66..7f0bfa0d8 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-4-chromium-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-4-chromium-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-4-firefox-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-4-firefox-linux.png index 91375b880..69eff93a9 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-4-firefox-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-4-firefox-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-4-webkit-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-4-webkit-linux.png index 9aa6ef233..68210210e 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-4-webkit-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-responds-to-prop-changes-4-webkit-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-bottom-agg-1-chromium-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-bottom-agg-1-chromium-linux.png index 94b4d88d7..ff54471e1 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-bottom-agg-1-chromium-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-bottom-agg-1-chromium-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-bottom-agg-1-firefox-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-bottom-agg-1-firefox-linux.png index 276ff0007..1ebbca551 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-bottom-agg-1-firefox-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-bottom-agg-1-firefox-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-bottom-agg-1-webkit-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-bottom-agg-1-webkit-linux.png index 7cc373d4d..b72ecb6d0 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-bottom-agg-1-webkit-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-bottom-agg-1-webkit-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-display-names-1-chromium-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-display-names-1-chromium-linux.png index 688433043..d089fd1c8 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-display-names-1-chromium-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-display-names-1-chromium-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-display-names-1-firefox-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-display-names-1-firefox-linux.png index 633026257..0677df896 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-display-names-1-firefox-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-display-names-1-firefox-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-display-names-1-webkit-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-display-names-1-webkit-linux.png index cc75dc487..694f1cb71 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-display-names-1-webkit-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-display-names-1-webkit-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-single-agg-1-chromium-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-single-agg-1-chromium-linux.png index b42914e03..f2fcbfca4 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-single-agg-1-chromium-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-single-agg-1-chromium-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-single-agg-1-firefox-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-single-agg-1-firefox-linux.png index 5d572de17..345a57fd4 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-single-agg-1-firefox-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-single-agg-1-firefox-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-single-agg-1-webkit-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-single-agg-1-webkit-linux.png index 6310a18da..64b5f835f 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-single-agg-1-webkit-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-single-agg-1-webkit-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-top-agg-1-chromium-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-top-agg-1-chromium-linux.png index 1f846fbee..54844b7e1 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-top-agg-1-chromium-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-top-agg-1-chromium-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-top-agg-1-firefox-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-top-agg-1-firefox-linux.png index a3b4edacf..8b1c484a6 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-top-agg-1-firefox-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-top-agg-1-firefox-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-top-agg-1-webkit-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-top-agg-1-webkit-linux.png index 4de80d88b..0293c1598 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-top-agg-1-webkit-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-top-agg-1-webkit-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-value-format-1-chromium-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-value-format-1-chromium-linux.png index 913e15327..3b4af1ad3 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-value-format-1-chromium-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-value-format-1-chromium-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-value-format-1-firefox-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-value-format-1-firefox-linux.png index c63bd0d7b..97e80ed76 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-value-format-1-firefox-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-value-format-1-firefox-linux.png differ diff --git a/tests/ui_table.spec.ts-snapshots/UI-table-t-value-format-1-webkit-linux.png b/tests/ui_table.spec.ts-snapshots/UI-table-t-value-format-1-webkit-linux.png index 1b5e47e58..caec20eb5 100644 Binary files a/tests/ui_table.spec.ts-snapshots/UI-table-t-value-format-1-webkit-linux.png and b/tests/ui_table.spec.ts-snapshots/UI-table-t-value-format-1-webkit-linux.png differ