R news and tutorials contributed by hundreds of R bloggers
Updated: 1 hour 27 min ago

### sliced Wasserstein estimation of mixtures

Tue, 11/28/2017 - 00:17

(This article was first published on R – Xi'an's Og, and kindly contributed to R-bloggers)

A paper by Soheil Kolouri and co-authors was arXived last week about using Wasserstein distance for inference on multivariate Gaussian mixtures. The basic concept is that the parameter is estimated by minimising the p-Wasserstein distance to the empirical distribution, smoothed by a Normal kernel. As the general Wasserstein distance is quite costly to compute, the approach relies on a sliced version, which means computing the Wasserstein distance between one-dimensional projections of the distributions. Optimising over the directions is an additional computational constraint.

“To fit a finite GMM to the observed data, one is required to answer the following questions: 1) how to estimate the number of mixture components needed to represent the data, and 2) how to estimate the parameters of the mixture components.”

The paper contains a most puzzling comment opposing maximum likelihood estimation to minimum Wasserstein distance estimation on the basis that the later would not suffer from multimodality. This sounds incorrect as the multimodality of a mixture model (likelihood) stems from the lack of identifiability of the parameters. If all permutations of these parameters induce exactly the same distribution, they all stand at the same distance from the data distribution, whatever the distance is. Furthermore, the above tartan-like picture clashes with the representation of the log-likelihood of a Normal mixture, as exemplified by the picture below based on a 150 sample with means 0 and 2, same unit variance, and weights 0.3 and 0.7, which shows a smooth if bimodal structure:And for the same dataset, my attempt at producing a Wasserstein “energy landscape” does return a multimodal structure (this is the surface of minus the logarithm of the 2-Wasserstein distance):“Jin et al. proved that with random initialization, the EM algorithm will converge to a bad critical point with high probability.”

This statement is most curious in that the “probability” in the assessment must depend on the choice of the random initialisation, hence on a sort of prior distribution that is not explicited in the paper. Which remains blissfully unaware of Bayesian approaches.

Another [minor mode] puzzling statement is that the p-Wasserstein distance is defined on the space of probability measures with finite p-th moment, which does not make much sense when what matters is rather the finiteness of the expectation of the distance d(X,Y) raised to the power p. A lot of the maths details either do not make sense or seem superfluous.

var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

To leave a comment for the author, please follow the link and comment on their blog: R – Xi'an's Og. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

### A two-stage workflow for data science projects

Mon, 11/27/2017 - 22:27

(This article was first published on That’s so Random, and kindly contributed to R-bloggers)

If you are a data scientist who primarily works with R, chances are you had no formal training in software development. I certainly did not pick up many skills in that direction during my statistics masters. For years my workflow was basically load a dataset and hack away on it. In the best case my R-script came to some kind of conclusion or final data set, but usually it abruptly ended. Complex projects could result in a great number of scripts and data exports. Needless to say, reproducability was typically low and stress could run high when some delivery went wrong.

Picking up software skills

Colleagues pointed me to some customs in software design, such as creating functions and classes (and documenting them), writing unit tests, and packaging-up your work. I started to read about these concepts and was soon working my way through Hadley’s R packages to see how it was done in R. I came to a adopt a rigorous system of solely writing functions, and thoroughly documenting and unit testing them. No matter the nature of the project I was working on, I treated is as a package that should be published on CRAN. This slowed me down considerably, though. I needed increasing amounts of time to answer relatively simple questions. Maybe now I was over engineering, restricting myself in such a way I was losing productivity.

Data science product

In my opinion, the tension between efficiency and rigor in data analysis, is because the data scientist’s product usually is not software, but insight. This goal is not always served best by writing code that meets the highest software standards, because this can make an insight more expensive than necessary, timewise. A software engineer’s job is much more clear cut. His product is software, and the better his software, the better he does his job. However, when a data scientist is asked if she can deliver an exploratory analysis on a new data set, should she create a full software stack for it right away? I would say not. Of course clean, well documented scripts will lead to greater reproducibility of and confidence in her results. However, writing solely functions and classes and put a load of unit tests on them is overkill in this stage.

A two-stage workflow

I came to a workflow, with which I am quite happy. It has a hard split between the exploratory stage and the product stage of a project.

Exploratory stage

Starting an analysis, I want to get to first results as quickly as possible. R markdown files are great for this, in which you can take tons of notes about the quality of the data, assumptions tested, relations found, and things that are not yet clear. Creating functions in this stage can be already worthwhile. Functions to do transformations, create specific plots or test for specific relationships. I aim for creating functions that are as generic as is feasible from the start. It is my experience that data is often refreshed or adjusted during a project, even when this was not anticipated at the start of the project. Don’t hardcode names of dataframes and columns, but rather give them as arguments to functions. Optionally with the current names as their default values. These functions can be quickly lifted to the product stage. Functions are only written though, if they facilitate the exploration. If not, I am happy to analyse the data with ordinary R code. Typically, the exploratory stage is wrapped-up by a report in which the major insights and next-steps are described. More often than not, the exploratory stage is the only part of a project as it is concluded to take no further action on the topic researched. The quicker we can get to such a conclusion, the less resources are wasted.

Product stage

A product, to me, is everything designed to share insights, model predictions, and data with others. Whenever a product gets built, whether its a Shiny app, an export of model productions, or a daily updated report, the product stage is entered. In more ignorant days I used to gradually slide from exploratory stage into product stage. In the worst cases commenting out the parts of code that were not needed for building the product. This got increasingly messy of course, yielding non reproducable results and projects that grinded to a halt. Nowadays, as soon as a product gets built I completely start over. Here the software rigor kicks in. All code written in this part only serves the final product, no explorations or asides allowed. I use R’s package structure, writing functions that work together to create the product, including documentation and unit tests. When functions are used in the exploratory stage, many components of the product are already available at the start of this stage.

Further cycles

When during product stage it becomes evident that further research is needed, switch back to the exploratory code base. I think it is crucial to be very strict about this. No mess in the product repository! The product directory only contains the code needed for the product to work. When new insight requires the product to change, maybe updating a model or add an extra tab to a dashboard, adjust the product. Again only code necessary for the product to function allowed. Legacy code no longer needed should be removed, not be commented out. This workflow prevents a large set of scripts with a great number of models, many exported data sets, several versions of a Shiny app etc. The product repository always contains the latest version and nothing more.

I hope these hard-learned lessons might be to some value for some of you. I am very curious what others designed as their system. Please share it in the comments of this blog, on Twitter, or in you own blog and notify me.

var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

To leave a comment for the author, please follow the link and comment on their blog: That’s so Random. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

### voteogram Is Now On CRAN

Mon, 11/27/2017 - 21:38

(This article was first published on R – rud.is, and kindly contributed to R-bloggers)

Earlier this year, I made a package that riffed off of ProPublica’s really neat voting cartograms (maps) for the U.S. House and Senate. You can see one for disaster relief spending in the House and one for the ACA “Skinny Repeal” in the Senate.

We can replicate both here with the voteogram package (minus the interactivity, for now):

library(voteogram) library(ggplot2) hr_566 <- roll_call(critter="house", number=115, session=1, rcall=566) house_carto(hr_566) + coord_equal() + theme_voteogram()

sen_179 <- roll_call(critter="senate", number=115, session=1, rcall=179) senate_carto(sen_179) + coord_equal() + theme_voteogram()

I think folks might have more fun with the roll_call() objects though:

str(hr_566) ## List of 29 ## $vote_id : chr "H_115_1_566" ##$ chamber : chr "House" ## $year : int 2017 ##$ congress : chr "115" ## $session : chr "1" ##$ roll_call : int 566 ## $needed_to_pass : int 282 ##$ date_of_vote : chr "October 12, 2017" ## $time_of_vote : chr "03:23 PM" ##$ result : chr "Passed" ## $vote_type : chr "2/3 YEA-AND-NAY" ##$ question : chr "On Motion to Suspend the Rules and Agree" ## $description : chr "Providing for the concurrence by the House in the Senate amendment to H.R. ## 2266, with an amendment" ##$ nyt_title : chr "On Motion to Suspend the Rules and Agree" ## $total_yes : int 353 ##$ total_no : int 69 ## $total_not_voting : int 11 ##$ gop_yes : int 164 ## $gop_no : int 69 ##$ gop_not_voting : int 7 ## $dem_yes : int 189 ##$ dem_no : int 0 ## $dem_not_voting : int 5 ##$ ind_yes : int 0 ## $ind_no : int 0 ##$ ind_not_voting : int 0 ## $dem_majority_position: chr "Yes" ##$ gop_majority_position: chr "Yes" ## $votes :Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 435 obs. of 11 variables: ## ..$ bioguide_id : chr [1:435] "A000374" "A000370" "A000055" "A000371" ... ## ..$role_id : int [1:435] 274 294 224 427 268 131 388 320 590 206 ... ## ..$ member_name : chr [1:435] "Ralph Abraham" "Alma Adams" "Robert B. Aderholt" "Pete Aguilar" ... ## ..$sort_name : chr [1:435] "Abraham" "Adams" "Aderholt" "Aguilar" ... ## ..$ party : chr [1:435] "R" "D" "R" "D" ... ## ..$state_abbrev : chr [1:435] "LA" "NC" "AL" "CA" ... ## ..$ display_state_abbrev: chr [1:435] "La." "N.C." "Ala." "Calif." ... ## ..$district : int [1:435] 5 12 4 31 12 3 2 19 36 2 ... ## ..$ position : chr [1:435] "Yes" "Yes" "Yes" "Yes" ... ## ..$dw_nominate : num [1:435] 0.493 -0.462 0.36 -0.273 0.614 0.684 0.388 NA 0.716 NA ... ## ..$ pp_id : chr [1:435] "LA_5" "NC_12" "AL_4" "CA_31" ... ## - attr(*, "class")= chr [1:2] "pprc" "list"

as they hold tons of info on the votes.

I need to explore the following a bit more but there are some definite “patterns” in the way the 115th Senate has voted this year:

library(hrbrthemes) # I made a mistake in how I exposed these that I'll correct next month # but we need to munge it a bit anyway for this view fills <- voteogram:::vote_carto_fill names(fills) <- tolower(names(fills)) rcalls <- map(1:280, ~voteogram::roll_call(critter="senate", session=1, number=115, rcall=.x)) # save it off so you don't have to waste those calls again write_rds(rcalls, "2017-115-1-sen-280-roll-calls.rds") # do a bit of wrangling map_df(rcalls, ~{ mutate(.x$votes, vote_id = .x$vote_id) %>% arrange(party, position) %>% mutate(fill = tolower(sprintf("%s-%s", party, position))) %>% mutate(ques = .x$question) %>% mutate(x = 1:n()) }) -> votes_df # plot it ggplot(votes_df, aes(x=x, y=vote_id, fill=fill)) + geom_tile() + scale_x_discrete(expand=c(0,0)) + scale_y_discrete(expand=c(0,0)) + scale_fill_manual(name=NULL, values=fills) + labs(x=NULL, y=NULL, title="Senate Roll Call Votes", subtitle="2017 / 115th, Session 1, Votes 1-280", caption="Note free-Y scales") + facet_wrap(~ques, scales="free_y", ncol=3) + theme_ipsum_rc(grid="") + theme(axis.text = element_blank()) + theme(legend.position="right") Hopefully I’ll get some time to dig into the differences and report on anything interesting. If you get to it before me definitely link to your blog post in a comment! FIN I still want to make an htmlwidgets version of the plots and also add the ability to get the index of roll call votes by Congress number and session to make it easier to iterate. I’m also seriously considering creating different palettes. I used the ones from the source interactive site but am not 100% happy with them. Suggestions/PRs welcome. Hopefully this package will make it easier for U.S. folks to track what’s going on in Congress and keep their representatives more accountable to the truth. Everything’s on GitHub so please file issues, questions or PRs there. var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script')); To leave a comment for the author, please follow the link and comment on their blog: R – rud.is. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more... ### Scatter plots in survey sampling Mon, 11/27/2017 - 21:35 (This article was first published on Data Literacy - The blog of Andrés Gutiérrez, and kindly contributed to R-bloggers) You can find this post in Blogdown format by clicking here When it comes to analyzing survey data, you have to take into account the stochastic structure of the sample that was selected to obtain the data. Plots and graphics should not be an exception. The main aim of such studies is to try to infer about how the behavior of the outcomes of interest in the finite population. For example, you may want to know how many people are in poverty. How about counting the poor people in the sample? I know, it is not a good idea. You have to use the sampling weights to estimate the whole number of poor people in the population. The total error paradigm follows the same approach when estimating any parameter of the finite population: you have to use the sampling weights in order to obtain unbiased estimators. The idea behind this paradigm is the representative principle. If a person$k$is included in the sample with a sampling weight$w_k$, she/he represents to himself and$w_k-1$remaining people. That way, you obtain design-unbiasedness. I am not a big fan of using descriptive sample statistics to analyze survey data because it can mask the reality, and the fact is that person$k$is included in the sample, but he/she is not alone. Behind person$k$there are other people, not included in the sample, and you have to realize that. So, let’s apply that principle to scatter plots. I am using the Lucy population from the TeachingSampling package to recreate my idea. The following code is used to draw a$\pi PS$sample. library(TeachingSampling) data(Lucy) # The inclusion probability is proportional to Income # The selected sample of size n=400 n <- 400 set.seed(123) res <- S.piPS(n, Lucy$Income)
sam <- res[,1]
# The sample is stored in an data.sample
data.sample <- Lucy[sam, ]
attach(data.sample)

The sampling weights will be stored in the data.sample data in the column wk. They will be useful to reproduce our finite popultaion from the sample data.

# Pik.s is the inclusion probability of units in the sample
data.sample$Pik.s <- res[,2] # wk is the sampling weight data.sample$wk <- 1/data.sample$Pik.s Now, let`s make a plot of the sampling data (with just 400 observations). I recall that this scenario is somehow misleading, because we want to know the behavior of the variables in the finite population. library(ggplot2) ggplot(data = data.sample, aes(x = Income, y = Employees)) + geom_point() The first option that comes to mind is to include the sampling weights in the points of the scatter plot. However, this approach is not appealing to me, because it is not straightforward from this plot to visuzlize the entire finite population. ggplot(data = data.sample, aes(x = Income, y = Employees, size = wk)) + geom_point() In order to make the finite population scatter plot from the survey sample, I will replicate the rows of the data.sample object as many times as the sampling weight wk. I am using the mefa::rep function to achieve this goal. So, the newLucy object is an intent to mimic the finite population by using the selected sample. library(mefa) newLucy <- NULL for(i in 1:nrow(data.sample)){ newLucy <- rbind(newLucy, rep(data.sample[i, ], round(data.sample$wk[i])))
}

newLucy <- as.data.frame(newLucy)

Now, with the newLucy population, I will make a scatter plot. Now, as I am replicating the rows of the sample data, I will add a jitter to avoid overplotting of the points in the scatter plot. This way, this plot (with 2396 observations) looks as if it would come from the finite population.

ggplot(data = newLucy, aes(x = Income, y = Employees)) +
geom_point() + geom_jitter(width = 15, height = 15)

var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

To leave a comment for the author, please follow the link and comment on their blog: Data Literacy - The blog of Andrés Gutiérrez. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

### Image Processing and Manipulation with magick in R

Mon, 11/27/2017 - 16:00

(This article was first published on R Programming – DataScience+, and kindly contributed to R-bloggers)

‘ImageMagick’ is one of the famous open source libraries available for editing and manipulating Images of different types (Raster & Vector Images). magick is an R-package binding to ‘ImageMagick’ for Advanced Image-Processing in R, authored by Jeroen Ooms.

magick supports many common image formats like png, jpeg, tiff and manipulations like rotate, scale, crop, trim, blur, flip, annotate and much more.

This post is to help you get started with magick to process, edit and manipulate images in R that could be anything from just file format conversion (eg. png to jpeg) or annotating R graphics output.

magick is available on CRAN and also on ropensci’s github.

#installing magick package from CRAN install.packages('magick') #from Github ropensci library - note: requires RTools devtools::install_github('ropensci/magick')

Let us load the library and read our first image or images from the internet with image_read()

Make sure you have got an updated version of curl package installed for the successfully reading image as mentioned above.

We can get basic details of the read images with image_info()

#image details image_info(obama) image_info(frink) image_info(obama) format width height colorspace filesize 1 JPEG 800 999 sRGB 151770 image_info(frink) format width height colorspace filesize 1 PNG 220 445 sRGB 73494

Communicating with RStudio, magick lets you print/display image in RStudio Viewer pane.

#displaying the image print(obama)

Whether you are a web developer or you are putting together a powerpoint deck, Image File Format Conversion is one of the operations that we would end up doing and this is literally an one-liner using magick‘s image_write().

#Rendering JPG image into SVG image_write(obama, path = 'obama.svg', format = 'svg')

Below is the PNG format of Obama Image that we read in from Wikipedia:

But you might be wondering, “Hey! This is just basic Image processing. Didn’t you tell this is advanced?” And Yes, Here comes the advanced stuff along with a good news that magick supports pipe %>% operator.

This is what we are going to do:

1. Take the Original Obama Image and Apply Charcoal Effect to it
2. Composite Frink Image along with it
3. Annotate some text – considering Obama would’ve dealt with Confidential data – Let it be CONFIDENTIAL stamped on the image
4. Finally, Rotate the image slightly and write/save it.
#Applying Charcoal effect to Obama's image #and compositing it with frink's image #and finally annotating it with a text image_charcoal(obama) %>% image_composite(frink) %>% image_annotate("CONFIDENTIAL", size = 50, color = "red", boxcolor = "pink", degrees = 30, location = "+100+100") %>% image_rotate(30) %>% image_write('obama_with_frink.png','png')

Gives this output:

How does the output image look? Artistic isn’t it ;)!

But this is not Data Scientists want to do every day, instead, we play with Plots and most of the time want to annotate the R Graphics output and here’s how you can do that with magick‘s image_annotate()

library(ggplot2) img <- image_graph(600, 400, res = 96) p <- ggplot(iris) + geom_point(aes(Sepal.Length,Petal.Length)) print(p) dev.off() img %>% image_annotate("CONFIDENTIAL", size = 50, color = "red", boxcolor = "pink", degrees = 30, location = "+100+100") %>% image_write('conf_ggplot.png','png')

Gives this output image:

This is nothing but a glimpse of what magick can do. Literally, there is a lot of magic left in magick. Try it out yourself and share your thoughts in comments. The code used here can be found on my github.

References:

Related Post

var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

To leave a comment for the author, please follow the link and comment on their blog: R Programming – DataScience+. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

### Why R?

Mon, 11/27/2017 - 09:00

The first edition of Polish R Users Conferences called Why R? took place on 27-29 September
at Warsaw University of Technology – Faculty of Mathematics and Information Science. The Polish R community is very strong. Dig in into the post to find out what topics did we cover and how the event was held. Pay attention to gifts we’ve prepared for invited speakers!

Last Polish R conference was organized in 2014 in Poznań – since then many R meetups took place in Poland in 3 big cities. Find out the amount of people registering for meetups in the above graph (data taken from meetup.com). The head of the organizing committee of the 2014 conference also organized an European R Users Meeting in 2016 with almost 300 participants from various countries across Europe. This meeting was a trigger for 2 new R users groups in Poland. I wonder what events we will observe after 2017 edition?

About the Why R? 2017 conference

Why R? 2017 conference aimed to be a meeting of R language enthusiasts both from the academia and the business. During this event you could increase your R knowledge, improve your analytic and programming skills and broaden connections with (new) R friends. We covered methodology latest research news, presented software development biggest achievements disclosures and had a great networking program.

After the first round of the registration we noticed over 200 participants from over 20 cities.

Schedule

The following events were hosted at Why R? 2017 conference:

• (28.09-29.09) 2 days of lectures divided into 6 themed sessions (26 presentations),
• 10 lectures of invited speakers,
• 6 lightning talks,
• poster session during welcome paRty in the evening of the first conference day,
• community session / discussion panel,
• how to teach statistics discussion panel,
• (27.09) workshops’ day: 2 sessions featuring 9 various workshops each (18 in total),
• (26.09) hackaton’s day.

Accompanying events

A day before a conference one could attend the Urban Sensors Warsaw Hackathon

and few weeks before one could take a part in the visualizations contest of data from the registration form to win a ticket for the conference (rules are available at the conference blog). Winer visualization was created in Microsoft Power BI by Michał Makowski.

Topics we have covered

We had a chance to listen to 42 presentations (in total) where in a summary they covered:

• statistical methodology,
• visualization of data,
• clinical trials,
• R integration with other languages / environments,
• bioinformatics,
• software development
• R community in Poland,
• educating R and R in education,
• economics, finance and insurance,
• reproducible calculations/research,
• statistical machine learning and predictive models;
• clustering and segmentation,
• high performance calculations,
• spatial statistics,
• creating and visualizing maps,
• R in social research,
• biostatistics and epidemiology,
• text analysis/mining,
• calculations in the cloud,
• image analysis and processing,
• analysis of time series,
• shiny applications and htmlwidgets,
• and many others!

Keynotes

We appreciate the attendance of our invited guests: Tomasz Burzykowski, Ewa Szczurek, Wit Jakuczun, Artur Suchwałko, Małgorzata Bogdan, Michał Ramsza, Maciej Eder, Justyna Brzezińska, Anna Wróblewska and Przemysław Biecek.

Invited talks were also divided (more or less) to thematic sessions: Bioinformatics & Clinical Trials, Business Applications, Education & Science, Text Mining and Data Visualizations.

As part of the gratitude we have prepared special gifts (with a help of Klaudia from Pędzlenie). Each invited speaker got a hand-made painting with a place characteristic to Warsaw with an extra 3D print of the Palace of Culture and Science (thanks to MI2DataLab) that is the most recognizable building in Warsaw. All covered in a jar – unofficial symbol of our city.

Organizing committee

The biggest polish R enthusiasts’ groups were involved in Why R? 2017 event:

Among the community partners registered at meetup.com were extra 5 community groups (Tableau, Data Science, Microsoft Azure, SQL Server), 3 statistical blogs which are recognized among data science community, 3 foundations and a polish podcast about data science.

Main organizing committee was also very numerous

I would like to express my indescribable gratitude for the core team of final preparation of the event (from the left): Aleksandra Dąbrowska-Grudziąż (MI2 group), Klaudia Korniluk (also involved as a graphic designer) and Alicja Gosiewska (MI2 group).

Conference is always a kind place for networking and a special opportunity to keep up with the newest trends and achievements of the science. One can exchange experiences and comments with the people from the industry. We shouldn’t forget that this is also a huge organizational effort for all people involved in the strategic planning and organization. Preparations for the conference started 300 days before the event.

Conference in numbers

As a statistician I naturally like tables and numbers so I have prepared a summary of the conference in numbers.
I can’t believe we’ve made so many GitHub commits.

Yes! A themed R travel pillow.

We would like to thank to all sponsors without whom the conference could not happen!

Next year?

We are planning a next conference in 2018! The main leaders of 2018 conference are Society of Wroclaw’s R Users (STWUR) . The event will take place in Wroclaw (2-4 July) and will be all in English as we would like to invite R users also from countries that are adjacent to Poland.

Graphics

Whole event was decorated by materials created by Klaudia Korniluk from Pędzlenie. Klaudia also prepared brochures for the European R Users Meeting in 2016. There are rumors 2018 will be also covered by her paintings.

You can also know her from Incredible Adventures of Beta and Bit that were translated into more than 10 languags (even Chinese).

Materials

See you next year!

var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

### R/Finance 2018, Chicago June 1-2

Mon, 11/27/2017 - 08:28

(This article was first published on Revolutions, and kindly contributed to R-bloggers)

The tenth annual R/Finance conference will be held in Chicago, June 1-2 2018. This is a fantastic conference for anyone working with R in the finance industry, or doing research around R in finance in the academic sector. This community-led, single-track conference always features a program of interesting talks in a convival atmosphere.

If you'd like to contribute a 20-minute presentation or a 5-minute lightning talk, the call for papers is open though February 2, 2018. If you'd like to attend, registrations will open in March 2018.

Microsoft is proud to be a continuing sponsor of R/Finance 2018. You can a summary of lat year's conference here, and watch recordings of the talks on Channel 9. For more on the 2018 conference, follow the link below.

R/Finance 2018: Overview

var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

To leave a comment for the author, please follow the link and comment on their blog: Revolutions. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

### How to Format Numbers, Dates, and Time Using in D3 HTMLWidgets in R

Mon, 11/27/2017 - 06:12

(This article was first published on R – Displayr, and kindly contributed to R-bloggers)

If you have ever spent any time investigating where the cool kids play in the data visualization world you will know it is all about D3. For most of us, D3 is a bit too hard to use directly. It is a JavaScript library, which means that to use it you need to be a half-decent programmer.

Fortunately, we get to use it in all the cool htmlwidgets that have been built for R, such as plotly. However, a practical challenge when using these htmlwidgets is that they require you to know enough D3 in order to provide formatting instructions for numbers, dates, and times. This post provides a cheat sheet explaining how to do this.

Formatting Numbers

The general structure of a D3 number format is [,][.precision][type]. The square brackets are not part of the format but signify 3 distinct parts:

1. The first character is an optional comma. This determines whether to separate groups of 3 digits (before the decimal place) by commas.
2. Second, there is a dot followed by an integer (which I labeled as “precision” in the above). The integer usually sets the number of decimal places. There are exceptions, where the integer sets the number of significant digits.
3. The final part is a single character code, with meanings and examples as described in the table below.
Type Description Example: 1/17 with precision = 3 Example: 123456789 with precision = 1 and comma separation f Fixed number of decimal places 0.059 123,456,789.0 % Multiplied by 100 with % symbol and fixed number of decimal places 5.882% 12,345,678,900.0% e Scientific (exponential) notation. A coefficient with a fixed number of decimal places, multiplied by a power of 10. 5.882e-2 1.2e+8 s Metric (SI) units suffix with a fixed number of significant digits. 58.8m 100M

There is a lot more to D3 number formats than I have just shown. If you want to know more about alignment, handling negative signs and bases then click here.

Formatting Dates and Times

“May 15 2017 3pm” could also be written as “15/5/17 15:00”. Many people and organizations have their own conventions for dates. It is frustrating not to be able to show a date in the format you want, which is where D3’s flexibility comes in.

The general structure of a date or time format is a sequence of directives, each of which is a letter preceded by the percentage sign. Each directive specifies a unit of time. For example, “%Y %b %d” means 4 digit year followed by 3 letter month followed by 2 digit day, such as “2016 Dec 25”. A list of useful directives is shown below:

• %a – abbreviated weekday name
• %A – full weekday name
• %b – abbreviated month name
• %B – full month name
• %d – zero-padded day of the month as a decimal number [01,31]
• %H – hour (24-hour clock) as a decimal number [00,23]
• %I – hour (12-hour clock) as a decimal number [01,12]
• %m – month as a decimal number [01,12]
• %M – minute as a decimal number [00,59]
• %p – either AM or PM
• %S – second as a decimal number [00,59]
• %y – year without century as a decimal number [00,99]
• %Y – year with century as a decimal number

A more complex example would be “%m/%d/%y %I:%M %p”, which produces output such as “02/28/17 03:35 PM”. Note that here I have used the colon and forward slash as separators. In the previous example, the separator was the space.

As with numbers, a lot more options are available for dates and times which are listed here.

Conclusion

D3 is a powerful and concise way to specify the format that you want. You can use D3 within the R charting packages plotly and flipChart.

var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

To leave a comment for the author, please follow the link and comment on their blog: R – Displayr. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

### Tidy word vectors, take 2!

Mon, 11/27/2017 - 01:00

(This article was first published on Rstats on Julia Silge, and kindly contributed to R-bloggers)

A few weeks ago, I wrote a post about finding word vectors using tidy data principles, based on an approach outlined by Chris Moody on the StitchFix tech blog. I’ve been pondering how to improve this approach, and whether it would be nice to wrap up some of these functions in a package, so here is an update!

Like in my previous post, let’s download half a million posts from the Hacker News corpus using the bigrquery package.

library(bigrquery) library(tidyverse) sql <- "#legacySQL SELECT stories.title AS title, stories.text AS text FROM [bigquery-public-data:hacker_news.full] AS stories WHERE stories.deleted IS NULL LIMIT 500000" hacker_news_raw <- query_exec(sql, project = project, max_pages = Inf)

And then let’s clean the text and make a data frame containing only the text, plus an ID to identify each “document”, i.e., post.

library(stringr) hacker_news_text <- hacker_news_raw %>% as_tibble() %>% mutate(title = na_if(title, ""), text = coalesce(title, text)) %>% select(-title) %>% mutate(text = str_replace_all(text, "'|"|/", "'"), ## weird encoding text = str_replace_all(text, "", " "), ## links text = str_replace_all(text, ">|<|&", " "), ## html yuck text = str_replace_all(text, "&#[:digit:]+;", " "), ## html yuck text = str_replace_all(text, "<[^>]*>", " "), ## mmmmm, more html yuck postID = row_number()) Sliding windows

Starting from here is where my approach has changed a bit. Instead of using the unnest_tokens() function a total of three times to find the skipgrams, here I only use unnest_tokens() once, and then use a function slide_windows() to identify the skipgram windows.

slide_windows <- function(tbl, doc_var, window_size) { # each word gets a skipgram (window_size words) starting on the first # e.g. skipgram 1 starts on word 1, skipgram 2 starts on word 2 each_total <- tbl %>% group_by(!!doc_var) %>% mutate(doc_total = n(), each_total = pmin(doc_total, window_size, na.rm = TRUE)) %>% pull(each_total) rle_each <- rle(each_total) counts <- rle_each[["lengths"]] counts[rle_each$values != window_size] <- 1 # each word get a skipgram window, starting on the first # account for documents shorter than window id_counts <- rep(rle_each$values, counts) window_id <- rep(seq_along(id_counts), id_counts) # within each skipgram, there are window_size many offsets indexer <- (seq_along(rle_each[["values"]]) - 1) %>% map2(rle_each[["values"]] - 1, ~ seq.int(.x, .x + .y)) %>% map2(counts, ~ rep(.x, .y)) %>% flatten_int() + window_id tbl[indexer, ] %>% bind_cols(data_frame(window_id)) %>% group_by(window_id) %>% filter(n_distinct(!!doc_var) == 1) %>% ungroup }

This allows us to get to a tidy data frame with PMI values for each pair of words. This PMI value is what tells us whether words likely to occur together or unlikely to occur together. I also was smarter and put the filter() to remove very rare words before trying to identifying skipgrams. In this example, a word has to be used 20 times (overall, in the 500,000 posts) to be included.

library(tidytext) library(widyr) tidy_pmi <- hacker_news_text %>% unnest_tokens(word, text) %>% add_count(word) %>% filter(n >= 20) %>% select(-n) %>% slide_windows(quo(postID), 8) %>% pairwise_pmi(word, window_id) tidy_pmi ## # A tibble: 30,853,734 x 3 ## item1 item2 pmi ## ## 1 best the 0.732 ## 2 part the 0.501 ## 3 is the 0.0365 ## 4 that the -0.145 ## 5 since the -0.0260 ## 6 it's the -0.364 ## 7 not the -0.262 ## 8 in the 0.184 ## 9 any the -0.643 ## 10 fonts the -0.140 ## # ... with 30,853,724 more rows

This was the part of the blog posts where I hoped to wow everyone with a dramatic speed improvement, but it is a more modest one. Based on my benchmarking, this approach is 10% faster than the approach of my previous blog post. Identifying all the skipgram windows is a pretty expensive process. If you want a real-world estimate, it takes my computer about 7 minutes to complete this step.

We can then find the word vectors from the PMI values using the new widely_svd() function in widyr. This is much faster compared to the other step.

tidy_word_vectors <- tidy_pmi %>% widely_svd(item1, item2, pmi, nv = 256, maxit = 1000) Exploring results

So hooray! We have found word vectors again, a bit faster, with clearer and easier-to-understand code. I do argue that this is a real benefit of this approach; it’s based on counting, dividing, and matrix decomposition and is thus much easier to understand and implement than anything with a neural network. And the results?

nearest_synonyms <- function(df, token) { df %>% widely(~ . %*% (.[token, ]), sort = TRUE)(item1, dimension, value) %>% select(-item2) } tidy_word_vectors %>% nearest_synonyms("tokyo") ## # A tibble: 27,267 x 2 ## item1 value ## ## 1 tokyo 0.0197 ## 2 hong 0.0145 ## 3 london 0.0144 ## 4 kong 0.0141 ## 5 paris 0.0140 ## 6 cities 0.0101 ## 7 japan 0.0100 ## 8 singapore 0.00952 ## 9 los 0.00899 ## 10 san 0.00860 ## # ... with 27,257 more rows tidy_word_vectors %>% nearest_synonyms("python") ## # A tibble: 27,267 x 2 ## item1 value ## ## 1 python 0.0533 ## 2 ruby 0.0309 ## 3 java 0.0250 ## 4 php 0.0241 ## 5 c 0.0229 ## 6 perl 0.0222 ## 7 javascript 0.0203 ## 8 django 0.0202 ## 9 libraries 0.0184 ## 10 languages 0.0180 ## # ... with 27,257 more rows tidy_word_vectors %>% nearest_synonyms("bitcoin") ## # A tibble: 27,267 x 2 ## item1 value ## ## 1 bitcoin 0.0626 ## 2 currency 0.0328 ## 3 btc 0.0320 ## 4 coins 0.0300 ## 5 blockchain 0.0285 ## 6 bitcoins 0.0258 ## 7 mining 0.0252 ## 8 transactions 0.0241 ## 9 transaction 0.0235 ## 10 currencies 0.0228 ## # ... with 27,257 more rows tidy_word_vectors %>% nearest_synonyms("women") ## # A tibble: 27,267 x 2 ## item1 value ## ## 1 women 0.0648 ## 2 men 0.0508 ## 3 male 0.0345 ## 4 female 0.0319 ## 5 gender 0.0274 ## 6 sex 0.0256 ## 7 woman 0.0241 ## 8 sexual 0.0226 ## 9 males 0.0197 ## 10 girls 0.0195 ## # ... with 27,257 more rows

I’m still learning about how word vectors are evaluated to be able to make some kind claim about how good word vectors like these are, for realistic datasets. One way that word vectors can be evaluated is by looking at how well the vectors perform on analogy tasks, like King - Man + Woman = Queen. What are some analogies we can find in this Hacker News corpus? Let’s write a little function that will find the answer to token1 - token2 + token 3 = ???.

analogy <- function(df, token1, token2, token3) { df %>% widely(~ . %*% (.[token1, ] - .[token2, ] + .[token3, ]), sort = TRUE)(item1, dimension, value) %>% select(-item2) } ## operating systems tidy_word_vectors %>% analogy("osx", "apple", "microsoft") ## # A tibble: 27,267 x 2 ## item1 value ## ## 1 windows 0.0357 ## 2 microsoft 0.0281 ## 3 ms 0.0245 ## 4 visual 0.0195 ## 5 linux 0.0188 ## 6 studio 0.0178 ## 7 net 0.0171 ## 8 desktop 0.0164 ## 9 xp 0.0163 ## 10 office 0.0147 ## # ... with 27,257 more rows ## countries tidy_word_vectors %>% analogy("germany", "berlin", "paris") ## # A tibble: 27,267 x 2 ## item1 value ## ## 1 germany 0.0320 ## 2 france 0.0231 ## 3 europe 0.0213 ## 4 paris 0.0212 ## 5 uk 0.0200 ## 6 london 0.0178 ## 7 eu 0.0176 ## 8 spain 0.0175 ## 9 italy 0.0170 ## 10 countries 0.0163 ## # ... with 27,257 more rows ## THOUGHT LEADERS tidy_word_vectors %>% analogy("gates", "windows", "tesla") ## # A tibble: 27,267 x 2 ## item1 value ## ## 1 tesla 0.0419 ## 2 gates 0.0364 ## 3 musk 0.0348 ## 4 elon 0.0335 ## 5 steve 0.0247 ## 6 electric 0.0234 ## 7 car 0.0234 ## 8 ford 0.0228 ## 9 larry 0.0222 ## 10 bill 0.0219 ## # ... with 27,257 more rows

Well, those last two are not perfect as the answers I’d identify as best are near the top but below the input tokens. This happens when I have trained vectors using GloVe too, though.

Since we have done a singular value decomposition, we can use our word vectors to understand what principal components explain the most variation in the Hacker News corpus.

tidy_word_vectors %>% filter(dimension <= 24) %>% group_by(dimension) %>% top_n(12, abs(value)) %>% ungroup %>% mutate(item1 = reorder(item1, value)) %>% group_by(dimension, item1) %>% arrange(desc(value)) %>% ungroup %>% mutate(item1 = factor(paste(item1, dimension, sep = "__"), levels = rev(paste(item1, dimension, sep = "__"))), dimension = factor(paste0("Dimension ", dimension), levels = paste0("Dimension ", as.factor(1:24)))) %>% ggplot(aes(item1, value, fill = dimension)) + geom_col(show.legend = FALSE) + facet_wrap(~dimension, scales = "free_y", ncol = 4) + scale_x_discrete(labels = function(x) gsub("__.+$", "", x)) + coord_flip() + labs(x = NULL, y = "Value", title = "First 24 principal components of the Hacker News corpus", subtitle = "Top words contributing to the components that explain the most variation") This is so great. The first two components contain mostly general purpose English words; remember that these are the vectors that explain the most variation in posts. Does a post contain a lot of these words or not? Then the third component and beyond start to contain more technical or topical words. Dimension 6 is about energy and markets, Dimension 11 is about geopolitics, Dimension 14 is about health discussions, Dimension 16 is about various kinds of people including kids/children/men/women/etc, and so on. The End I’m happy to have made a modest improvement in speed here, and to use some new functions from widyr that improve the intuition and understanding around this workflow. This approach allows practitioners to find word vectors with such low overhead (dependency and mental overhead), and I am excited to keep working on it. var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script')); To leave a comment for the author, please follow the link and comment on their blog: Rstats on Julia Silge. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more... ### Comparing plotly & ggplotly plot generation times Mon, 11/27/2017 - 01:00 (This article was first published on R on The Jumping Rivers Blog, and kindly contributed to R-bloggers) The plotly package. A godsend for interactive documents, dashboard and presentations. For such documents there is no doubt that anyone would prefer a plot created in plotly rather than ggplot2. Why? Using plotly gives you neat and crucially interactive options at the top, where as ggplot2 objects are static. In an app we have been developing here at Jumping Rivers, we found ourselves asking the question would it be quicker to use plot_ly() or wrapping a ggplot2 object in ggplotly()? I found the results staggering. Prerequisites Throughout we will be using the packages: dplyr, tidyr, ggplot2, plotly and microbenchmark. The data in use is the birthdays dataset in the mosaicData package. This data sets contains the daily birth count in each state of the USA from 1969 – 1988. The packages can be installed in the usual way (remember you can install packages in parallel) install.packages(c("mosaicData", "dplyr", "tidyr", "ggplot2", "plotly", "microbenchmark")) library("mosaicData") library("dplyr") library("tidyr") library("ggplot2") library("plotly") library("microbenchmark") Analysis Let’s load and take a look at the data. data("Birthdays", package = "mosaicData") head(Birthdays) ## state year month day date wday births ## 1 AK 1969 1 1 1969-01-01 Wed 14 ## 2 AL 1969 1 1 1969-01-01 Wed 174 ## 3 AR 1969 1 1 1969-01-01 Wed 78 ## 4 AZ 1969 1 1 1969-01-01 Wed 84 ## 5 CA 1969 1 1 1969-01-01 Wed 824 ## 6 CO 1969 1 1 1969-01-01 Wed 100 First, we’ll create a very simple scatter graph of the mean births in every year. meanb = Birthdays %>% group_by(year) %>% summarise(mean = mean(births)) Wrapping this as a ggplot object inside ggplotly() we obtain this… ggplotly(ggplot(meanb) + geom_point(aes(y = mean, x = year, colour = year))) {"x":{"data":[{"x":[1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988],"y":[192.379516784263,199.760068460181,191.206117520794,174.833779443255,168.842413182331,170.128306949289,169.264251207729,170.054984473712,178.845794643336,179.128192745224,188.006285253828,193.825565198757,195.298415256514,197.978726833199,195.687939833468,196.803332261867,202.259145850121,202.024281493419,204.84614558152,209.674595521269],"text":["year: 1969 mean: 192.4 year: 1969","year: 1970 mean: 199.8 year: 1970","year: 1971 mean: 191.2 year: 1971","year: 1972 mean: 174.8 year: 1972","year: 1973 mean: 168.8 year: 1973","year: 1974 mean: 170.1 year: 1974","year: 1975 mean: 169.3 year: 1975","year: 1976 mean: 170.1 year: 1976","year: 1977 mean: 178.8 year: 1977","year: 1978 mean: 179.1 year: 1978","year: 1979 mean: 188.0 year: 1979","year: 1980 mean: 193.8 year: 1980","year: 1981 mean: 195.3 year: 1981","year: 1982 mean: 198.0 year: 1982","year: 1983 mean: 195.7 year: 1983","year: 1984 mean: 196.8 year: 1984","year: 1985 mean: 202.3 year: 1985","year: 1986 mean: 202.0 year: 1986","year: 1987 mean: 204.8 year: 1987","year: 1988 mean: 209.7 year: 1988"],"type":"scatter","mode":"markers","marker":{"autocolorscale":false,"color":["rgba(19,43,67,1)","rgba(22,49,75,1)","rgba(25,55,84,1)","rgba(29,62,92,1)","rgba(32,68,101,1)","rgba(35,75,110,1)","rgba(39,82,119,1)","rgba(42,89,128,1)","rgba(46,96,138,1)","rgba(49,103,147,1)","rgba(53,110,157,1)","rgba(56,117,166,1)","rgba(60,124,176,1)","rgba(63,131,186,1)","rgba(67,139,196,1)","rgba(71,146,206,1)","rgba(75,154,216,1)","rgba(78,162,226,1)","rgba(82,169,237,1)","rgba(86,177,247,1)"],"opacity":1,"size":5.66929133858268,"symbol":"circle","line":{"width":1.88976377952756,"color":["rgba(19,43,67,1)","rgba(22,49,75,1)","rgba(25,55,84,1)","rgba(29,62,92,1)","rgba(32,68,101,1)","rgba(35,75,110,1)","rgba(39,82,119,1)","rgba(42,89,128,1)","rgba(46,96,138,1)","rgba(49,103,147,1)","rgba(53,110,157,1)","rgba(56,117,166,1)","rgba(60,124,176,1)","rgba(63,131,186,1)","rgba(67,139,196,1)","rgba(71,146,206,1)","rgba(75,154,216,1)","rgba(78,162,226,1)","rgba(82,169,237,1)","rgba(86,177,247,1)"]}},"hoveron":"points","showlegend":false,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"x":[1970],"y":[170],"name":"99_12558db06f67453096d1fa70a9d28d73","type":"scatter","mode":"markers","opacity":0,"hoverinfo":"none","showlegend":false,"marker":{"color":[0,1],"colorscale":[[0,"#132B43"],[0.0526315789473684,"#16314B"],[0.105263157894737,"#193754"],[0.157894736842105,"#1D3E5C"],[0.210526315789474,"#204465"],[0.263157894736842,"#234B6E"],[0.315789473684211,"#275277"],[0.368421052631579,"#2A5980"],[0.421052631578947,"#2E608A"],[0.473684210526316,"#316793"],[0.526315789473684,"#356E9D"],[0.578947368421053,"#3875A6"],[0.631578947368421,"#3C7CB0"],[0.684210526315789,"#3F83BA"],[0.736842105263158,"#438BC4"],[0.789473684210526,"#4792CE"],[0.842105263157895,"#4B9AD8"],[0.894736842105263,"#4EA2E2"],[0.947368421052632,"#52A9ED"],[1,"#56B1F7"]],"colorbar":{"bgcolor":"rgba(255,255,255,1)","bordercolor":"transparent","borderwidth":1.88976377952756,"thickness":23.04,"title":"year","titlefont":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"tickmode":"array","ticktext":["1970","1975","1980","1985"],"tickvals":[0.0526315789473684,0.315789473684211,0.578947368421053,0.842105263157895],"tickfont":{"color":"rgba(0,0,0,1)","family":"","size":11.689497716895},"ticklen":2,"len":0.5}},"xaxis":"x","yaxis":"y","frame":null}],"layout":{"margin":{"t":24.7671232876712,"r":7.30593607305936,"b":38.7214611872146,"l":43.1050228310502},"plot_bgcolor":"rgba(235,235,235,1)","paper_bgcolor":"rgba(255,255,255,1)","font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"xaxis":{"domain":[0,1],"type":"linear","autorange":false,"tickmode":"array","range":[1968.05,1988.95],"ticktext":["1970","1975","1980","1985"],"tickvals":[1970,1975,1980,1985],"ticks":"outside","tickcolor":"rgba(51,51,51,1)","ticklen":3.65296803652968,"tickwidth":0.66417600664176,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.689497716895},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(255,255,255,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"y","title":"year","titlefont":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"hoverformat":".2f"},"yaxis":{"domain":[0,1],"type":"linear","autorange":false,"tickmode":"array","range":[166.800804065384,211.716204638216],"ticktext":["170","180","190","200","210"],"tickvals":[170,180,190,200,210],"ticks":"outside","tickcolor":"rgba(51,51,51,1)","ticklen":3.65296803652968,"tickwidth":0.66417600664176,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.689497716895},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(255,255,255,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"x","title":"mean","titlefont":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"hoverformat":".2f"},"shapes":[{"type":"rect","fillcolor":null,"line":{"color":null,"width":0,"linetype":[]},"yref":"paper","xref":"paper","x0":0,"x1":1,"y0":0,"y1":1}],"showlegend":false,"legend":{"bgcolor":"rgba(255,255,255,1)","bordercolor":"transparent","borderwidth":1.88976377952756,"font":{"color":"rgba(0,0,0,1)","family":"","size":11.689497716895}},"hovermode":"closest"},"source":"A","attrs":{"1f7a7d516144":{"x":{},"y":{},"colour":{},"type":"ggplotly"}},"cur_data":"1f7a7d516144","visdat":{"1f7a7d516144":["function (y) ","x"]},"config":{"modeBarButtonsToAdd":[{"name":"Collaborate","icon":{"width":1000,"ascent":500,"descent":-50,"path":"M487 375c7-10 9-23 5-36l-79-259c-3-12-11-23-22-31-11-8-22-12-35-12l-263 0c-15 0-29 5-43 15-13 10-23 23-28 37-5 13-5 25-1 37 0 0 0 3 1 7 1 5 1 8 1 11 0 2 0 4-1 6 0 3-1 5-1 6 1 2 2 4 3 6 1 2 2 4 4 6 2 3 4 5 5 7 5 7 9 16 13 26 4 10 7 19 9 26 0 2 0 5 0 9-1 4-1 6 0 8 0 2 2 5 4 8 3 3 5 5 5 7 4 6 8 15 12 26 4 11 7 19 7 26 1 1 0 4 0 9-1 4-1 7 0 8 1 2 3 5 6 8 4 4 6 6 6 7 4 5 8 13 13 24 4 11 7 20 7 28 1 1 0 4 0 7-1 3-1 6-1 7 0 2 1 4 3 6 1 1 3 4 5 6 2 3 3 5 5 6 1 2 3 5 4 9 2 3 3 7 5 10 1 3 2 6 4 10 2 4 4 7 6 9 2 3 4 5 7 7 3 2 7 3 11 3 3 0 8 0 13-1l0-1c7 2 12 2 14 2l218 0c14 0 25-5 32-16 8-10 10-23 6-37l-79-259c-7-22-13-37-20-43-7-7-19-10-37-10l-248 0c-5 0-9-2-11-5-2-3-2-7 0-12 4-13 18-20 41-20l264 0c5 0 10 2 16 5 5 3 8 6 10 11l85 282c2 5 2 10 2 17 7-3 13-7 17-13z m-304 0c-1-3-1-5 0-7 1-1 3-2 6-2l174 0c2 0 4 1 7 2 2 2 4 4 5 7l6 18c0 3 0 5-1 7-1 1-3 2-6 2l-173 0c-3 0-5-1-8-2-2-2-4-4-4-7z m-24-73c-1-3-1-5 0-7 2-2 3-2 6-2l174 0c2 0 5 0 7 2 3 2 4 4 5 7l6 18c1 2 0 5-1 6-1 2-3 3-5 3l-174 0c-3 0-5-1-7-3-3-1-4-4-5-6z"},"click":"function(gd) { \n // is this being viewed in RStudio?\n if (location.search == '?viewer_pane=1') {\n alert('To learn about plotly for collaboration, visit:\\n https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html');\n } else {\n window.open('https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html', '_blank');\n }\n }"}],"cloud":false},"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.2,"selected":{"opacity":1}},"base_url":"https://plot.ly"},"evals":["config.modeBarButtonsToAdd.0.click"],"jsHooks":{"render":[{"code":"function(el, x) { var ctConfig = crosstalk.var('plotlyCrosstalkOpts').set({\"on\":\"plotly_click\",\"persistent\":false,\"dynamic\":false,\"selectize\":false,\"opacityDim\":0.2,\"selected\":{\"opacity\":1}}); }","data":null}]}} Whilst using plot_ly() give us this… plot_ly(data = meanb, y = ~mean, x = ~year, color = ~year, type = "scatter") {"x":{"visdat":{"1f7a43e069a9":["function () ","plotlyVisDat"]},"cur_data":"1f7a43e069a9","attrs":{"1f7a43e069a9":{"y":{},"x":{},"color":{},"alpha":1,"sizes":[10,100],"type":"scatter"}},"layout":{"margin":{"b":40,"l":60,"t":25,"r":10},"xaxis":{"domain":[0,1],"title":"year"},"yaxis":{"domain":[0,1],"title":"mean"},"hovermode":"closest","showlegend":false,"legend":{"y":0.5,"yanchor":"top"}},"source":"A","config":{"modeBarButtonsToAdd":[{"name":"Collaborate","icon":{"width":1000,"ascent":500,"descent":-50,"path":"M487 375c7-10 9-23 5-36l-79-259c-3-12-11-23-22-31-11-8-22-12-35-12l-263 0c-15 0-29 5-43 15-13 10-23 23-28 37-5 13-5 25-1 37 0 0 0 3 1 7 1 5 1 8 1 11 0 2 0 4-1 6 0 3-1 5-1 6 1 2 2 4 3 6 1 2 2 4 4 6 2 3 4 5 5 7 5 7 9 16 13 26 4 10 7 19 9 26 0 2 0 5 0 9-1 4-1 6 0 8 0 2 2 5 4 8 3 3 5 5 5 7 4 6 8 15 12 26 4 11 7 19 7 26 1 1 0 4 0 9-1 4-1 7 0 8 1 2 3 5 6 8 4 4 6 6 6 7 4 5 8 13 13 24 4 11 7 20 7 28 1 1 0 4 0 7-1 3-1 6-1 7 0 2 1 4 3 6 1 1 3 4 5 6 2 3 3 5 5 6 1 2 3 5 4 9 2 3 3 7 5 10 1 3 2 6 4 10 2 4 4 7 6 9 2 3 4 5 7 7 3 2 7 3 11 3 3 0 8 0 13-1l0-1c7 2 12 2 14 2l218 0c14 0 25-5 32-16 8-10 10-23 6-37l-79-259c-7-22-13-37-20-43-7-7-19-10-37-10l-248 0c-5 0-9-2-11-5-2-3-2-7 0-12 4-13 18-20 41-20l264 0c5 0 10 2 16 5 5 3 8 6 10 11l85 282c2 5 2 10 2 17 7-3 13-7 17-13z m-304 0c-1-3-1-5 0-7 1-1 3-2 6-2l174 0c2 0 4 1 7 2 2 2 4 4 5 7l6 18c0 3 0 5-1 7-1 1-3 2-6 2l-173 0c-3 0-5-1-8-2-2-2-4-4-4-7z m-24-73c-1-3-1-5 0-7 2-2 3-2 6-2l174 0c2 0 5 0 7 2 3 2 4 4 5 7l6 18c1 2 0 5-1 6-1 2-3 3-5 3l-174 0c-3 0-5-1-7-3-3-1-4-4-5-6z"},"click":"function(gd) { \n // is this being viewed in RStudio?\n if (location.search == '?viewer_pane=1') {\n alert('To learn about plotly for collaboration, visit:\\n https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html');\n } else {\n window.open('https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html', '_blank');\n }\n }"}],"cloud":false},"data":[{"y":[192.379516784263,199.760068460181,191.206117520794,174.833779443255,168.842413182331,170.128306949289,169.264251207729,170.054984473712,178.845794643336,179.128192745224,188.006285253828,193.825565198757,195.298415256514,197.978726833199,195.687939833468,196.803332261867,202.259145850121,202.024281493419,204.84614558152,209.674595521269],"x":[1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988],"type":"scatter","mode":"markers","marker":{"colorbar":{"title":"year","ticklen":2},"cmin":1969,"cmax":1988,"colorscale":[["0","rgba(68,1,84,1)"],["0.0416666666666587","rgba(70,19,97,1)"],["0.0833333333333293","rgba(72,32,111,1)"],["0.125","rgba(71,45,122,1)"],["0.166666666666659","rgba(68,58,128,1)"],["0.208333333333329","rgba(64,70,135,1)"],["0.25","rgba(60,82,138,1)"],["0.291666666666671","rgba(56,93,140,1)"],["0.333333333333329","rgba(49,104,142,1)"],["0.375","rgba(46,114,142,1)"],["0.416666666666671","rgba(42,123,142,1)"],["0.458333333333341","rgba(38,133,141,1)"],["0.5","rgba(37,144,140,1)"],["0.541666666666671","rgba(33,154,138,1)"],["0.583333333333329","rgba(39,164,133,1)"],["0.625","rgba(47,174,127,1)"],["0.666666666666659","rgba(53,183,121,1)"],["0.708333333333341","rgba(79,191,110,1)"],["0.75","rgba(98,199,98,1)"],["0.791666666666671","rgba(119,207,85,1)"],["0.833333333333329","rgba(147,214,70,1)"],["0.875","rgba(172,220,52,1)"],["0.916666666666671","rgba(199,225,42,1)"],["0.958333333333329","rgba(226,228,40,1)"],["1","rgba(253,231,37,1)"]],"showscale":false,"color":[1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988],"line":{"color":"transparent"}},"xaxis":"x","yaxis":"y","frame":null},{"x":[1969,1988],"y":[168.842413182331,209.674595521269],"type":"scatter","mode":"markers","opacity":0,"hoverinfo":"none","showlegend":false,"marker":{"colorbar":{"title":"year","ticklen":2,"len":0.5,"y":1,"lenmode":"fraction","yanchor":"top"},"cmin":1969,"cmax":1988,"colorscale":[["0","rgba(68,1,84,1)"],["0.0416666666666587","rgba(70,19,97,1)"],["0.0833333333333293","rgba(72,32,111,1)"],["0.125","rgba(71,45,122,1)"],["0.166666666666659","rgba(68,58,128,1)"],["0.208333333333329","rgba(64,70,135,1)"],["0.25","rgba(60,82,138,1)"],["0.291666666666671","rgba(56,93,140,1)"],["0.333333333333329","rgba(49,104,142,1)"],["0.375","rgba(46,114,142,1)"],["0.416666666666671","rgba(42,123,142,1)"],["0.458333333333341","rgba(38,133,141,1)"],["0.5","rgba(37,144,140,1)"],["0.541666666666671","rgba(33,154,138,1)"],["0.583333333333329","rgba(39,164,133,1)"],["0.625","rgba(47,174,127,1)"],["0.666666666666659","rgba(53,183,121,1)"],["0.708333333333341","rgba(79,191,110,1)"],["0.75","rgba(98,199,98,1)"],["0.791666666666671","rgba(119,207,85,1)"],["0.833333333333329","rgba(147,214,70,1)"],["0.875","rgba(172,220,52,1)"],["0.916666666666671","rgba(199,225,42,1)"],["0.958333333333329","rgba(226,228,40,1)"],["1","rgba(253,231,37,1)"]],"showscale":true,"color":[1969,1988]},"xaxis":"x","yaxis":"y","frame":null}],"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.2,"selected":{"opacity":1}},"base_url":"https://plot.ly"},"evals":["config.modeBarButtonsToAdd.0.click"],"jsHooks":{"render":[{"code":"function(el, x) { var ctConfig = crosstalk.var('plotlyCrosstalkOpts').set({\"on\":\"plotly_click\",\"persistent\":false,\"dynamic\":false,\"selectize\":false,\"opacityDim\":0.2,\"selected\":{\"opacity\":1}}); }","data":null}]}} Both graphs are, identical, bar styling, yes? Now let’s use microbenchmark to see how their timings compare (for an overview on timing R functions, see our previous blog post). time = microbenchmark::microbenchmark( ggplotly = ggplotly(ggplot(meanb) + geom_point(aes(y = mean, x = year, colour = year))), plotly = plot_ly(data = meanb, y = ~mean, x = ~year, color = ~year, type = "scatter"), times = 100, unit = "s") time ## Unit: seconds ## expr min lq mean median uq max neval cld ## ggplotly 0.050139 0.052229 0.070750 0.054760 0.056785 1.56652 100 b ## plotly 0.002475 0.002527 0.003017 0.002571 0.002674 0.03061 100 a autoplot(time) Now I thought nesting a ggplot object within ggplotly() would be slower than using plot_ly(), but I didn’t think it would be this slow. On average ggplotly() is approximately 23 times slower than plot_ly(). 23! Let’s take it up a notch. There we were plotting only 20 points, what about if we plot over 20,000? Here we will plot the min, mean and max births on each day. date = Birthdays %>% group_by(date) %>% summarise(mean = mean(births), min = min(births), max = max(births)) %>% gather(birth_stat, value, -date) Wrapping this a ggplot2 object inside ggplotly() we obtain this graph… ggplotly(ggplot(date) + geom_point(aes(y = value, x = date, colour = birth_stat))) {"x":{"data":[{"x":[425520000,406771200,494294400,6220800,162864000,63936000,582768000,176860800,474336000,350697600,270259200,-30153600,207532800,74044800,257731200,185760000,197683200,89683200,14860800,332985600,429840000,152668800,358300800,290390400,389664000,337046400,172713600,518486400,50284800,134092800,47347200,358214400,174614400,209260800,234576000,576892800,447206400,545184000,84758400,53827200,573868800,596764800,127267200,453686400,559612800,-9331200,77932800,110505600,331948800,388454400,172022400,361065600,65923200,285379200,314409600,388022400,97977600,402105600,370656000,352857600,129340800,66182400,477705600,42076800,446428800,283305600,174960000,52531200,509068800,137289600,483580800,241056000,493344000,494035200,437702400,306201600,-2073600,-2592000,410832000,471312000,132451200,452304000,454982400,179366400,20217600,117676800,581558400,146880000,351475200,539913600,-20995200,441590400,556588800,224726400,276480000,49766400,514684800,564364800,301276800,484876800,221270400,165024000,127526400,545529600,220492800,572054400,550627200,582249600,57801600,167788800,533606400,285465600,357177600,265507200,264038400,14515200,7084800,434332800,568339200,315446400,526608000,188352000,253065600,497750400,426643200,480038400,374889600,459993600,51062400,157507200,453340800,552528000,95126400,179193600,17366400,-3024000,234230400,437529600,262569600,338688000,443059200,193968000,78710400,414201600,454291200,494553600,536198400,445219200,32659200,-14860800,475804800,26179200,305856000,-12355200,114220800,279158400,459388800,330739200,444528000,272073600,-20476800,499564800,277516800,105580800,322790400,51840000,31104000,238896000,16588800,421459200,192672000,108172800,474940800,542592000,470966400,544924800,58752000,313545600,378864000,128390400,221356800,236390400,55382400,379814400,-9676800,472262400,232329600,259459200,65318400,455241600,479347200,12009600,139536000,235526400,205632000,416448000,86832000,502588800,500860800,456710400,426816000,21513600,273110400,431568000,283046400,229564800,-26438400,368841600,420595200,162345600,290131200,437097600,255139200,86313600,298857600,173059200,383788800,116121600,225936000,543196800,119232000,133747200,392083200,210038400,152755200,485136000,410313600,357436800,82339200,433382400,11059200,33436800,578102400,140659200,111024000,364262400,0,264297600,41904000,81043200,567820800,224640000,563328000,355881600,462931200,126576000,290304000,34819200,306547200,432000,204681600,525657600,81907200,531273600,362793600,567734400,40694400,280800000,429667200,598233600,177638400,272678400,477360000,65232000,433209600,456364800,547862400,392947200,377395200,13132800,60134400,199929600,290822400,32140800,-19180800,363916800,246412800,124243200,295920000,447552000,389318400,8553600,428889600,58492800,490147200,16848000,21600000,476582400,185673600,52876800,506649600,423100800,454032000,340243200,132364800,165283200,216604800,98409600,567907200,138412800,10281600,-16848000,311990400,467164800,492393600,326678400,197596800,19526400,385171200,38534400,68428800,392860800,266025600,374803200,77328000,357609600,191462400,289526400,306460800,581904000,322185600,498960000,31622400,502675200,451612800,155260800,560649600,516844800,555379200,576979200,514080000,110246400,590025600,222220800,412128000,547344000,323481600,289440000,585705600,524188800,227923200,85104000,-21513600,577843200,553824000,527990400,399686400,339811200,294105600,61689600,373075200,517190400,381110400,416707200,326764800,14169600,173923200,336960000,-9763200,-26611200,94262400,546566400,381715200,394934400,516672000,128908800,588988800,30844800,570931200,98064000,139363200,202435200,68515200,326592000,516499200,256953600,171072000,145756800,123465600,144979200,209779200,-6652800,257126400,461376000,397699200,415152000,158284800,72921600,513907200,121478400,350956800,537580800,100742400,381456000,416534400,168998400,31276800,506131200,33004800,376704000,222825600,-30412800,242697600,22982400,515289600,393379200,523324800,169430400,486777600,275788800,425692800,376099200,422409600,497836800,589507200,67478400,318988800,492566400,528076800,336528000,52099200,-2332800,382924800,66960000,248227200,137721600,-24364800,361929600,28771200,64540800,550108800,308102400,134611200,442886400,426988800,59616000,549244800,98841600,569376000,553737600,192758400,210902400,272419200,47433600,324432000,458611200,530409600,-20390400,506304000,343699200,232416000,317174400,181526400,96076800,374457600,195264000,168048000,262137600,388627200,-18835200,521596800,24710400,249782400,-18576000,435283200,145584000,507600000,323568000,406684800,373507200,304300800,587260800,597974400,132537600,186624000,389923200,359942400,233712000,402969600,-30067200,487209600,548121600,131241600,345600,537753600,164764800,501033600,189216000,174700800,158976000,267062400,-28080000,295228800,39052800,489283200,240019200,204854400,582681600,407203200,261619200,402710400,489542400,565574400,24537600,430790400,191203200,191635200,103852800,218419200,-3628800,422928000,172886400,204249600,399772800,387676800,8640000,291168000,492307200,258681600,155520000,328233600,221875200,200275200,491875200,235267200,32400000,59875200,244339200,561513600,207187200,234489600,136512000,151200000,435974400,24796800,196732800,315014400,316310400,146361600,102124800,123984000,248832000,313804800,180576000,525139200,180403200,254188800,50544000,271555200,572486400,17539200,240451200,344908800,88560000,416880000,85708800,36115200,163123200,478310400,292204800,440208000,553478400,393120000,182995200,374976000,242006400,249350400,432950400,263779200,498787200,466128000,452131200,223430400,342403200,405475200,147052800,27648000,7603200,529372800,314668800,79315200,168220800,448070400,390355200,112060800,308966400,25747200,382752000,427593600,488505600,567993600,481680000,134697600,553564800,53481600,531705600,-10281600,212025600,377222400,359164800,303436800,2592000,328406400,249436800,460598400,542332800,494985600,381888000,-4060800,473472000,449539200,30758400,434419200,529286400,126748800,375580800,312422400,122428800,15465600,477619200,500601600,395712000,572918400,40780800,219456000,422841600,379900800,192326400,228441600,135648000,402451200,78796800,505958400,126835200,69206400,442800000,411955200,67910400,559353600,108086400,5184000,102556800,76377600,282528000,414892800,12528000,234316800,241574400,495072000,484704000,145152000,347760000,424656000,511401600,500428800,409795200,14601600,106099200,307584000,589593600,376012800,35424000,63331200,104025600,279849600,522633600,393811200,538617600,88128000,518832000,415929600,309830400,54518400,-864000,137030400,472435200,161827200,516067200,181008000,40003200,569203200],"y":[1286,1272,1288,970,694,928,1508,778,1107,1152,1066,936,1026,758,922,922,922,804,1006,1144,1386,754,1090,1110,1100,1120,962,1118,942,906,882,1072,880,994,944,1470,1050,1136,994,938,1381,1613,658,1184,1313,994,788,872,1140,1060,736,1246,904,1058,1082,1278,788,1206,1250,984,828,744,1312,876,1164,894,770,906,1327,856,1276,1066,1454,1447,1238,1080,1020,1032,1086,1066,802,1300,1104,1028,832,884,1508,984,1206,1489,854,1204,1281,950,1028,1028,1309,1468,1076,1408,940,858,824,1397,964,1502,1123,1633,890,768,1111,956,1076,1028,1032,982,1008,1362,1440,1086,1545,774,802,1459,1074,1336,1164,1246,838,702,1208,1403,672,860,1166,824,906,1110,1028,1170,1120,946,838,1256,1324,1464,1441,1276,942,930,1342,906,1170,1032,914,1030,1274,1118,1164,1040,978,1323,974,766,1252,946,858,1122,848,1280,876,830,1158,1410,1298,1525,908,914,1062,758,928,1052,1072,1138,1038,1310,952,946,716,1196,1239,966,896,794,934,1244,844,1349,1412,1190,1284,882,1008,1020,990,928,930,1286,978,734,980,1176,962,918,1114,868,1122,860,916,1480,784,866,1084,930,846,1298,1058,1220,910,1300,928,976,1626,934,786,1074,764,1044,924,912,1550,886,1159,990,1086,748,1040,904,1228,982,776,1479,836,1063,1168,1598,820,948,1092,1556,874,1004,1104,882,1122,1386,1369,1276,1246,1020,700,896,1148,956,866,1152,846,758,860,1194,1256,1002,1326,830,1117,986,1158,1332,822,780,1295,1024,1264,1060,818,748,972,816,1417,922,896,1024,1120,964,1459,1116,904,934,1168,924,884,1250,1098,1282,744,1028,920,978,1148,1528,1154,1355,798,1324,1250,856,1451,1379,1278,1454,1349,736,1588,804,968,1414,1102,990,1246,1416,956,890,846,1206,1521,1466,1254,1182,852,896,1214,1420,1292,1246,972,876,960,1264,1080,888,916,1430,1122,1422,1118,842,1604,882,1455,804,702,944,742,1076,1437,980,940,956,874,998,1002,922,964,1376,1252,1106,862,850,1382,818,1032,1393,842,1168,1206,794,1154,1346,1082,1196,800,1036,978,1030,1407,1066,1214,968,1317,1122,1416,1226,1014,1374,1653,738,936,1186,1497,1030,896,970,1142,896,896,874,1010,1034,1048,906,1483,906,822,1068,1334,832,1477,702,1142,1481,860,996,894,762,926,1120,1336,862,1331,990,844,852,926,902,1174,894,912,842,1190,996,1129,1010,986,874,1304,990,1098,1056,1038,1268,1074,1643,1534,858,936,1292,1218,806,1086,904,1389,1173,866,938,1396,852,1136,1000,944,942,1000,982,1118,990,1126,1010,920,1275,1002,904,1334,1131,1494,1088,1128,812,866,884,960,1018,1082,934,852,1310,1252,992,930,1441,1024,888,1202,1048,856,1261,1014,960,666,1070,1149,1008,994,826,862,1298,1096,834,986,1034,880,814,828,842,1146,1000,1268,916,800,928,1006,1396,1000,1012,990,770,1040,972,940,848,1240,1044,1202,1516,1226,832,1158,1022,876,1332,990,1363,1492,1256,928,1196,1032,966,1084,1032,1165,918,956,890,1208,1000,746,1080,1060,1256,1194,1316,1182,1126,884,1190,884,1387,1042,1078,1194,1060,1284,852,1094,852,1446,1385,1162,966,898,1135,1078,1012,1140,1472,874,950,1018,732,960,1205,1390,1202,1255,764,992,1256,1112,878,994,782,1036,744,1261,834,758,1252,1220,808,1524,834,1038,848,750,1056,1292,1026,796,916,1434,1065,908,1068,1262,1375,1091,1232,1072,764,1054,1671,1266,854,770,832,1050,1480,1242,1399,880,1423,1258,960,1012,1032,808,1388,660,1210,838,884,1464],"text":["date: 425520000 value: 1286.0 birth_stat: max","date: 406771200 value: 1272.0 birth_stat: max","date: 494294400 value: 1288.0 birth_stat: max","date: 6220800 value: 970.0 birth_stat: max","date: 162864000 value: 694.0 birth_stat: max","date: 63936000 value: 928.0 birth_stat: max","date: 582768000 value: 1508.0 birth_stat: max","date: 176860800 value: 778.0 birth_stat: max","date: 474336000 value: 1107.0 birth_stat: max","date: 350697600 value: 1152.0 birth_stat: max","date: 270259200 value: 1066.0 birth_stat: max","date: -30153600 value: 936.0 birth_stat: max","date: 207532800 value: 1026.0 birth_stat: max","date: 74044800 value: 758.0 birth_stat: max","date: 257731200 value: 922.0 birth_stat: max","date: 185760000 value: 922.0 birth_stat: max","date: 197683200 value: 922.0 birth_stat: max","date: 89683200 value: 804.0 birth_stat: max","date: 14860800 value: 1006.0 birth_stat: max","date: 332985600 value: 1144.0 birth_stat: max","date: 429840000 value: 1386.0 birth_stat: max","date: 152668800 value: 754.0 birth_stat: max","date: 358300800 value: 1090.0 birth_stat: max","date: 290390400 value: 1110.0 birth_stat: max","date: 389664000 value: 1100.0 birth_stat: max","date: 337046400 value: 1120.0 birth_stat: max","date: 172713600 value: 962.0 birth_stat: max","date: 518486400 value: 1118.0 birth_stat: max","date: 50284800 value: 942.0 birth_stat: max","date: 134092800 value: 906.0 birth_stat: max","date: 47347200 value: 882.0 birth_stat: max","date: 358214400 value: 1072.0 birth_stat: max","date: 174614400 value: 880.0 birth_stat: max","date: 209260800 value: 994.0 birth_stat: max","date: 234576000 value: 944.0 birth_stat: max","date: 576892800 value: 1470.0 birth_stat: max","date: 447206400 value: 1050.0 birth_stat: max","date: 545184000 value: 1136.0 birth_stat: max","date: 84758400 value: 994.0 birth_stat: max","date: 53827200 value: 938.0 birth_stat: max","date: 573868800 value: 1381.0 birth_stat: max","date: 596764800 value: 1613.0 birth_stat: max","date: 127267200 value: 658.0 birth_stat: max","date: 453686400 value: 1184.0 birth_stat: max","date: 559612800 value: 1313.0 birth_stat: max","date: -9331200 value: 994.0 birth_stat: max","date: 77932800 value: 788.0 birth_stat: max","date: 110505600 value: 872.0 birth_stat: max","date: 331948800 value: 1140.0 birth_stat: max","date: 388454400 value: 1060.0 birth_stat: max","date: 172022400 value: 736.0 birth_stat: max","date: 361065600 value: 1246.0 birth_stat: max","date: 65923200 value: 904.0 birth_stat: max","date: 285379200 value: 1058.0 birth_stat: max","date: 314409600 value: 1082.0 birth_stat: max","date: 388022400 value: 1278.0 birth_stat: max","date: 97977600 value: 788.0 birth_stat: max","date: 402105600 value: 1206.0 birth_stat: max","date: 370656000 value: 1250.0 birth_stat: max","date: 352857600 value: 984.0 birth_stat: max","date: 129340800 value: 828.0 birth_stat: max","date: 66182400 value: 744.0 birth_stat: max","date: 477705600 value: 1312.0 birth_stat: max","date: 42076800 value: 876.0 birth_stat: max","date: 446428800 value: 1164.0 birth_stat: max","date: 283305600 value: 894.0 birth_stat: max","date: 174960000 value: 770.0 birth_stat: max","date: 52531200 value: 906.0 birth_stat: max","date: 509068800 value: 1327.0 birth_stat: max","date: 137289600 value: 856.0 birth_stat: max","date: 483580800 value: 1276.0 birth_stat: max","date: 241056000 value: 1066.0 birth_stat: max","date: 493344000 value: 1454.0 birth_stat: max","date: 494035200 value: 1447.0 birth_stat: max","date: 437702400 value: 1238.0 birth_stat: max","date: 306201600 value: 1080.0 birth_stat: max","date: -2073600 value: 1020.0 birth_stat: max","date: -2592000 value: 1032.0 birth_stat: max","date: 410832000 value: 1086.0 birth_stat: max","date: 471312000 value: 1066.0 birth_stat: max","date: 132451200 value: 802.0 birth_stat: max","date: 452304000 value: 1300.0 birth_stat: max","date: 454982400 value: 1104.0 birth_stat: max","date: 179366400 value: 1028.0 birth_stat: max","date: 20217600 value: 832.0 birth_stat: max","date: 117676800 value: 884.0 birth_stat: max","date: 581558400 value: 1508.0 birth_stat: max","date: 146880000 value: 984.0 birth_stat: max","date: 351475200 value: 1206.0 birth_stat: max","date: 539913600 value: 1489.0 birth_stat: max","date: -20995200 value: 854.0 birth_stat: max","date: 441590400 value: 1204.0 birth_stat: max","date: 556588800 value: 1281.0 birth_stat: max","date: 224726400 value: 950.0 birth_stat: max","date: 276480000 value: 1028.0 birth_stat: max","date: 49766400 value: 1028.0 birth_stat: max","date: 514684800 value: 1309.0 birth_stat: max","date: 564364800 value: 1468.0 birth_stat: max","date: 301276800 value: 1076.0 birth_stat: max","date: 484876800 value: 1408.0 birth_stat: max","date: 221270400 value: 940.0 birth_stat: max","date: 165024000 value: 858.0 birth_stat: max","date: 127526400 value: 824.0 birth_stat: max","date: 545529600 value: 1397.0 birth_stat: max","date: 220492800 value: 964.0 birth_stat: max","date: 572054400 value: 1502.0 birth_stat: max","date: 550627200 value: 1123.0 birth_stat: max","date: 582249600 value: 1633.0 birth_stat: max","date: 57801600 value: 890.0 birth_stat: max","date: 167788800 value: 768.0 birth_stat: max","date: 533606400 value: 1111.0 birth_stat: max","date: 285465600 value: 956.0 birth_stat: max","date: 357177600 value: 1076.0 birth_stat: max","date: 265507200 value: 1028.0 birth_stat: max","date: 264038400 value: 1032.0 birth_stat: max","date: 14515200 value: 982.0 birth_stat: max","date: 7084800 value: 1008.0 birth_stat: max","date: 434332800 value: 1362.0 birth_stat: max","date: 568339200 value: 1440.0 birth_stat: max","date: 315446400 value: 1086.0 birth_stat: max","date: 526608000 value: 1545.0 birth_stat: max","date: 188352000 value: 774.0 birth_stat: max","date: 253065600 value: 802.0 birth_stat: max","date: 497750400 value: 1459.0 birth_stat: max","date: 426643200 value: 1074.0 birth_stat: max","date: 480038400 value: 1336.0 birth_stat: max","date: 374889600 value: 1164.0 birth_stat: max","date: 459993600 value: 1246.0 birth_stat: max","date: 51062400 value: 838.0 birth_stat: max","date: 157507200 value: 702.0 birth_stat: max","date: 453340800 value: 1208.0 birth_stat: max","date: 552528000 value: 1403.0 birth_stat: max","date: 95126400 value: 672.0 birth_stat: max","date: 179193600 value: 860.0 birth_stat: max","date: 17366400 value: 1166.0 birth_stat: max","date: -3024000 value: 824.0 birth_stat: max","date: 234230400 value: 906.0 birth_stat: max","date: 437529600 value: 1110.0 birth_stat: max","date: 262569600 value: 1028.0 birth_stat: max","date: 338688000 value: 1170.0 birth_stat: max","date: 443059200 value: 1120.0 birth_stat: max","date: 193968000 value: 946.0 birth_stat: max","date: 78710400 value: 838.0 birth_stat: max","date: 414201600 value: 1256.0 birth_stat: max","date: 454291200 value: 1324.0 birth_stat: max","date: 494553600 value: 1464.0 birth_stat: max","date: 536198400 value: 1441.0 birth_stat: max","date: 445219200 value: 1276.0 birth_stat: max","date: 32659200 value: 942.0 birth_stat: max","date: -14860800 value: 930.0 birth_stat: max","date: 475804800 value: 1342.0 birth_stat: max","date: 26179200 value: 906.0 birth_stat: max","date: 305856000 value: 1170.0 birth_stat: max","date: -12355200 value: 1032.0 birth_stat: max","date: 114220800 value: 914.0 birth_stat: max","date: 279158400 value: 1030.0 birth_stat: max","date: 459388800 value: 1274.0 birth_stat: max","date: 330739200 value: 1118.0 birth_stat: max","date: 444528000 value: 1164.0 birth_stat: max","date: 272073600 value: 1040.0 birth_stat: max","date: -20476800 value: 978.0 birth_stat: max","date: 499564800 value: 1323.0 birth_stat: max","date: 277516800 value: 974.0 birth_stat: max","date: 105580800 value: 766.0 birth_stat: max","date: 322790400 value: 1252.0 birth_stat: max","date: 51840000 value: 946.0 birth_stat: max","date: 31104000 value: 858.0 birth_stat: max","date: 238896000 value: 1122.0 birth_stat: max","date: 16588800 value: 848.0 birth_stat: max","date: 421459200 value: 1280.0 birth_stat: max","date: 192672000 value: 876.0 birth_stat: max","date: 108172800 value: 830.0 birth_stat: max","date: 474940800 value: 1158.0 birth_stat: max","date: 542592000 value: 1410.0 birth_stat: max","date: 470966400 value: 1298.0 birth_stat: max","date: 544924800 value: 1525.0 birth_stat: max","date: 58752000 value: 908.0 birth_stat: max","date: 313545600 value: 914.0 birth_stat: max","date: 378864000 value: 1062.0 birth_stat: max","date: 128390400 value: 758.0 birth_stat: max","date: 221356800 value: 928.0 birth_stat: max","date: 236390400 value: 1052.0 birth_stat: max","date: 55382400 value: 1072.0 birth_stat: max","date: 379814400 value: 1138.0 birth_stat: max","date: -9676800 value: 1038.0 birth_stat: max","date: 472262400 value: 1310.0 birth_stat: max","date: 232329600 value: 952.0 birth_stat: max","date: 259459200 value: 946.0 birth_stat: max","date: 65318400 value: 716.0 birth_stat: max","date: 455241600 value: 1196.0 birth_stat: max","date: 479347200 value: 1239.0 birth_stat: max","date: 12009600 value: 966.0 birth_stat: max","date: 139536000 value: 896.0 birth_stat: max","date: 235526400 value: 794.0 birth_stat: max","date: 205632000 value: 934.0 birth_stat: max","date: 416448000 value: 1244.0 birth_stat: max","date: 86832000 value: 844.0 birth_stat: max","date: 502588800 value: 1349.0 birth_stat: max","date: 500860800 value: 1412.0 birth_stat: max","date: 456710400 value: 1190.0 birth_stat: max","date: 426816000 value: 1284.0 birth_stat: max","date: 21513600 value: 882.0 birth_stat: max","date: 273110400 value: 1008.0 birth_stat: max","date: 431568000 value: 1020.0 birth_stat: max","date: 283046400 value: 990.0 birth_stat: max","date: 229564800 value: 928.0 birth_stat: max","date: -26438400 value: 930.0 birth_stat: max","date: 368841600 value: 1286.0 birth_stat: max","date: 420595200 value: 978.0 birth_stat: max","date: 162345600 value: 734.0 birth_stat: max","date: 290131200 value: 980.0 birth_stat: max","date: 437097600 value: 1176.0 birth_stat: max","date: 255139200 value: 962.0 birth_stat: max","date: 86313600 value: 918.0 birth_stat: max","date: 298857600 value: 1114.0 birth_stat: max","date: 173059200 value: 868.0 birth_stat: max","date: 383788800 value: 1122.0 birth_stat: max","date: 116121600 value: 860.0 birth_stat: max","date: 225936000 value: 916.0 birth_stat: max","date: 543196800 value: 1480.0 birth_stat: max","date: 119232000 value: 784.0 birth_stat: max","date: 133747200 value: 866.0 birth_stat: max","date: 392083200 value: 1084.0 birth_stat: max","date: 210038400 value: 930.0 birth_stat: max","date: 152755200 value: 846.0 birth_stat: max","date: 485136000 value: 1298.0 birth_stat: max","date: 410313600 value: 1058.0 birth_stat: max","date: 357436800 value: 1220.0 birth_stat: max","date: 82339200 value: 910.0 birth_stat: max","date: 433382400 value: 1300.0 birth_stat: max","date: 11059200 value: 928.0 birth_stat: max","date: 33436800 value: 976.0 birth_stat: max","date: 578102400 value: 1626.0 birth_stat: max","date: 140659200 value: 934.0 birth_stat: max","date: 111024000 value: 786.0 birth_stat: max","date: 364262400 value: 1074.0 birth_stat: max","date: 0 value: 764.0 birth_stat: max","date: 264297600 value: 1044.0 birth_stat: max","date: 41904000 value: 924.0 birth_stat: max","date: 81043200 value: 912.0 birth_stat: max","date: 567820800 value: 1550.0 birth_stat: max","date: 224640000 value: 886.0 birth_stat: max","date: 563328000 value: 1159.0 birth_stat: max","date: 355881600 value: 990.0 birth_stat: max","date: 462931200 value: 1086.0 birth_stat: max","date: 126576000 value: 748.0 birth_stat: max","date: 290304000 value: 1040.0 birth_stat: max","date: 34819200 value: 904.0 birth_stat: max","date: 306547200 value: 1228.0 birth_stat: max","date: 432000 value: 982.0 birth_stat: max","date: 204681600 value: 776.0 birth_stat: max","date: 525657600 value: 1479.0 birth_stat: max","date: 81907200 value: 836.0 birth_stat: max","date: 531273600 value: 1063.0 birth_stat: max","date: 362793600 value: 1168.0 birth_stat: max","date: 567734400 value: 1598.0 birth_stat: max","date: 40694400 value: 820.0 birth_stat: max","date: 280800000 value: 948.0 birth_stat: max","date: 429667200 value: 1092.0 birth_stat: max","date: 598233600 value: 1556.0 birth_stat: max","date: 177638400 value: 874.0 birth_stat: max","date: 272678400 value: 1004.0 birth_stat: max","date: 477360000 value: 1104.0 birth_stat: max","date: 65232000 value: 882.0 birth_stat: max","date: 433209600 value: 1122.0 birth_stat: max","date: 456364800 value: 1386.0 birth_stat: max","date: 547862400 value: 1369.0 birth_stat: max","date: 392947200 value: 1276.0 birth_stat: max","date: 377395200 value: 1246.0 birth_stat: max","date: 13132800 value: 1020.0 birth_stat: max","date: 60134400 value: 700.0 birth_stat: max","date: 199929600 value: 896.0 birth_stat: max","date: 290822400 value: 1148.0 birth_stat: max","date: 32140800 value: 956.0 birth_stat: max","date: -19180800 value: 866.0 birth_stat: max","date: 363916800 value: 1152.0 birth_stat: max","date: 246412800 value: 846.0 birth_stat: max","date: 124243200 value: 758.0 birth_stat: max","date: 295920000 value: 860.0 birth_stat: max","date: 447552000 value: 1194.0 birth_stat: max","date: 389318400 value: 1256.0 birth_stat: max","date: 8553600 value: 1002.0 birth_stat: max","date: 428889600 value: 1326.0 birth_stat: max","date: 58492800 value: 830.0 birth_stat: max","date: 490147200 value: 1117.0 birth_stat: max","date: 16848000 value: 986.0 birth_stat: max","date: 21600000 value: 1158.0 birth_stat: max","date: 476582400 value: 1332.0 birth_stat: max","date: 185673600 value: 822.0 birth_stat: max","date: 52876800 value: 780.0 birth_stat: max","date: 506649600 value: 1295.0 birth_stat: max","date: 423100800 value: 1024.0 birth_stat: max","date: 454032000 value: 1264.0 birth_stat: max","date: 340243200 value: 1060.0 birth_stat: max","date: 132364800 value: 818.0 birth_stat: max","date: 165283200 value: 748.0 birth_stat: max","date: 216604800 value: 972.0 birth_stat: max","date: 98409600 value: 816.0 birth_stat: max","date: 567907200 value: 1417.0 birth_stat: max","date: 138412800 value: 922.0 birth_stat: max","date: 10281600 value: 896.0 birth_stat: max","date: -16848000 value: 1024.0 birth_stat: max","date: 311990400 value: 1120.0 birth_stat: max","date: 467164800 value: 964.0 birth_stat: max","date: 492393600 value: 1459.0 birth_stat: max","date: 326678400 value: 1116.0 birth_stat: max","date: 197596800 value: 904.0 birth_stat: max","date: 19526400 value: 934.0 birth_stat: max","date: 385171200 value: 1168.0 birth_stat: max","date: 38534400 value: 924.0 birth_stat: max","date: 68428800 value: 884.0 birth_stat: max","date: 392860800 value: 1250.0 birth_stat: max","date: 266025600 value: 1098.0 birth_stat: max","date: 374803200 value: 1282.0 birth_stat: max","date: 77328000 value: 744.0 birth_stat: max","date: 357609600 value: 1028.0 birth_stat: max","date: 191462400 value: 920.0 birth_stat: max","date: 289526400 value: 978.0 birth_stat: max","date: 306460800 value: 1148.0 birth_stat: max","date: 581904000 value: 1528.0 birth_stat: max","date: 322185600 value: 1154.0 birth_stat: max","date: 498960000 value: 1355.0 birth_stat: max","date: 31622400 value: 798.0 birth_stat: max","date: 502675200 value: 1324.0 birth_stat: max","date: 451612800 value: 1250.0 birth_stat: max","date: 155260800 value: 856.0 birth_stat: max","date: 560649600 value: 1451.0 birth_stat: max","date: 516844800 value: 1379.0 birth_stat: max","date: 555379200 value: 1278.0 birth_stat: max","date: 576979200 value: 1454.0 birth_stat: max","date: 514080000 value: 1349.0 birth_stat: max","date: 110246400 value: 736.0 birth_stat: max","date: 590025600 value: 1588.0 birth_stat: max","date: 222220800 value: 804.0 birth_stat: max","date: 412128000 value: 968.0 birth_stat: max","date: 547344000 value: 1414.0 birth_stat: max","date: 323481600 value: 1102.0 birth_stat: max","date: 289440000 value: 990.0 birth_stat: max","date: 585705600 value: 1246.0 birth_stat: max","date: 524188800 value: 1416.0 birth_stat: max","date: 227923200 value: 956.0 birth_stat: max","date: 85104000 value: 890.0 birth_stat: max","date: -21513600 value: 846.0 birth_stat: max","date: 577843200 value: 1206.0 birth_stat: max","date: 553824000 value: 1521.0 birth_stat: max","date: 527990400 value: 1466.0 birth_stat: max","date: 399686400 value: 1254.0 birth_stat: max","date: 339811200 value: 1182.0 birth_stat: max","date: 294105600 value: 852.0 birth_stat: max","date: 61689600 value: 896.0 birth_stat: max","date: 373075200 value: 1214.0 birth_stat: max","date: 517190400 value: 1420.0 birth_stat: max","date: 381110400 value: 1292.0 birth_stat: max","date: 416707200 value: 1246.0 birth_stat: max","date: 326764800 value: 972.0 birth_stat: max","date: 14169600 value: 876.0 birth_stat: max","date: 173923200 value: 960.0 birth_stat: max","date: 336960000 value: 1264.0 birth_stat: max","date: -9763200 value: 1080.0 birth_stat: max","date: -26611200 value: 888.0 birth_stat: max","date: 94262400 value: 916.0 birth_stat: max","date: 546566400 value: 1430.0 birth_stat: max","date: 381715200 value: 1122.0 birth_stat: max","date: 394934400 value: 1422.0 birth_stat: max","date: 516672000 value: 1118.0 birth_stat: max","date: 128908800 value: 842.0 birth_stat: max","date: 588988800 value: 1604.0 birth_stat: max","date: 30844800 value: 882.0 birth_stat: max","date: 570931200 value: 1455.0 birth_stat: max","date: 98064000 value: 804.0 birth_stat: max","date: 139363200 value: 702.0 birth_stat: max","date: 202435200 value: 944.0 birth_stat: max","date: 68515200 value: 742.0 birth_stat: max","date: 326592000 value: 1076.0 birth_stat: max","date: 516499200 value: 1437.0 birth_stat: max","date: 256953600 value: 980.0 birth_stat: max","date: 171072000 value: 940.0 birth_stat: max","date: 145756800 value: 956.0 birth_stat: max","date: 123465600 value: 874.0 birth_stat: max","date: 144979200 value: 998.0 birth_stat: max","date: 209779200 value: 1002.0 birth_stat: max","date: -6652800 value: 922.0 birth_stat: max","date: 257126400 value: 964.0 birth_stat: max","date: 461376000 value: 1376.0 birth_stat: max","date: 397699200 value: 1252.0 birth_stat: max","date: 415152000 value: 1106.0 birth_stat: max","date: 158284800 value: 862.0 birth_stat: max","date: 72921600 value: 850.0 birth_stat: max","date: 513907200 value: 1382.0 birth_stat: max","date: 121478400 value: 818.0 birth_stat: max","date: 350956800 value: 1032.0 birth_stat: max","date: 537580800 value: 1393.0 birth_stat: max","date: 100742400 value: 842.0 birth_stat: max","date: 381456000 value: 1168.0 birth_stat: max","date: 416534400 value: 1206.0 birth_stat: max","date: 168998400 value: 794.0 birth_stat: max","date: 31276800 value: 1154.0 birth_stat: max","date: 506131200 value: 1346.0 birth_stat: max","date: 33004800 value: 1082.0 birth_stat: max","date: 376704000 value: 1196.0 birth_stat: max","date: 222825600 value: 800.0 birth_stat: max","date: -30412800 value: 1036.0 birth_stat: max","date: 242697600 value: 978.0 birth_stat: max","date: 22982400 value: 1030.0 birth_stat: max","date: 515289600 value: 1407.0 birth_stat: max","date: 393379200 value: 1066.0 birth_stat: max","date: 523324800 value: 1214.0 birth_stat: max","date: 169430400 value: 968.0 birth_stat: max","date: 486777600 value: 1317.0 birth_stat: max","date: 275788800 value: 1122.0 birth_stat: max","date: 425692800 value: 1416.0 birth_stat: max","date: 376099200 value: 1226.0 birth_stat: max","date: 422409600 value: 1014.0 birth_stat: max","date: 497836800 value: 1374.0 birth_stat: max","date: 589507200 value: 1653.0 birth_stat: max","date: 67478400 value: 738.0 birth_stat: max","date: 318988800 value: 936.0 birth_stat: max","date: 492566400 value: 1186.0 birth_stat: max","date: 528076800 value: 1497.0 birth_stat: max","date: 336528000 value: 1030.0 birth_stat: max","date: 52099200 value: 896.0 birth_stat: max","date: -2332800 value: 970.0 birth_stat: max","date: 382924800 value: 1142.0 birth_stat: max","date: 66960000 value: 896.0 birth_stat: max","date: 248227200 value: 896.0 birth_stat: max","date: 137721600 value: 874.0 birth_stat: max","date: -24364800 value: 1010.0 birth_stat: max","date: 361929600 value: 1034.0 birth_stat: max","date: 28771200 value: 1048.0 birth_stat: max","date: 64540800 value: 906.0 birth_stat: max","date: 550108800 value: 1483.0 birth_stat: max","date: 308102400 value: 906.0 birth_stat: max","date: 134611200 value: 822.0 birth_stat: max","date: 442886400 value: 1068.0 birth_stat: max","date: 426988800 value: 1334.0 birth_stat: max","date: 59616000 value: 832.0 birth_stat: max","date: 549244800 value: 1477.0 birth_stat: max","date: 98841600 value: 702.0 birth_stat: max","date: 569376000 value: 1142.0 birth_stat: max","date: 553737600 value: 1481.0 birth_stat: max","date: 192758400 value: 860.0 birth_stat: max","date: 210902400 value: 996.0 birth_stat: max","date: 272419200 value: 894.0 birth_stat: max","date: 47433600 value: 762.0 birth_stat: max","date: 324432000 value: 926.0 birth_stat: max","date: 458611200 value: 1120.0 birth_stat: max","date: 530409600 value: 1336.0 birth_stat: max","date: -20390400 value: 862.0 birth_stat: max","date: 506304000 value: 1331.0 birth_stat: max","date: 343699200 value: 990.0 birth_stat: max","date: 232416000 value: 844.0 birth_stat: max","date: 317174400 value: 852.0 birth_stat: max","date: 181526400 value: 926.0 birth_stat: max","date: 96076800 value: 902.0 birth_stat: max","date: 374457600 value: 1174.0 birth_stat: max","date: 195264000 value: 894.0 birth_stat: max","date: 168048000 value: 912.0 birth_stat: max","date: 262137600 value: 842.0 birth_stat: max","date: 388627200 value: 1190.0 birth_stat: max","date: -18835200 value: 996.0 birth_stat: max","date: 521596800 value: 1129.0 birth_stat: max","date: 24710400 value: 1010.0 birth_stat: max","date: 249782400 value: 986.0 birth_stat: max","date: -18576000 value: 874.0 birth_stat: max","date: 435283200 value: 1304.0 birth_stat: max","date: 145584000 value: 990.0 birth_stat: max","date: 507600000 value: 1098.0 birth_stat: max","date: 323568000 value: 1056.0 birth_stat: max","date: 406684800 value: 1038.0 birth_stat: max","date: 373507200 value: 1268.0 birth_stat: max","date: 304300800 value: 1074.0 birth_stat: max","date: 587260800 value: 1643.0 birth_stat: max","date: 597974400 value: 1534.0 birth_stat: max","date: 132537600 value: 858.0 birth_stat: max","date: 186624000 value: 936.0 birth_stat: max","date: 389923200 value: 1292.0 birth_stat: max","date: 359942400 value: 1218.0 birth_stat: max","date: 233712000 value: 806.0 birth_stat: max","date: 402969600 value: 1086.0 birth_stat: max","date: -30067200 value: 904.0 birth_stat: max","date: 487209600 value: 1389.0 birth_stat: max","date: 548121600 value: 1173.0 birth_stat: max","date: 131241600 value: 866.0 birth_stat: max","date: 345600 value: 938.0 birth_stat: max","date: 537753600 value: 1396.0 birth_stat: max","date: 164764800 value: 852.0 birth_stat: max","date: 501033600 value: 1136.0 birth_stat: max","date: 189216000 value: 1000.0 birth_stat: max","date: 174700800 value: 944.0 birth_stat: max","date: 158976000 value: 942.0 birth_stat: max","date: 267062400 value: 1000.0 birth_stat: max","date: -28080000 value: 982.0 birth_stat: max","date: 295228800 value: 1118.0 birth_stat: max","date: 39052800 value: 990.0 birth_stat: max","date: 489283200 value: 1126.0 birth_stat: max","date: 240019200 value: 1010.0 birth_stat: max","date: 204854400 value: 920.0 birth_stat: max","date: 582681600 value: 1275.0 birth_stat: max","date: 407203200 value: 1002.0 birth_stat: max","date: 261619200 value: 904.0 birth_stat: max","date: 402710400 value: 1334.0 birth_stat: max","date: 489542400 value: 1131.0 birth_stat: max","date: 565574400 value: 1494.0 birth_stat: max","date: 24537600 value: 1088.0 birth_stat: max","date: 430790400 value: 1128.0 birth_stat: max","date: 191203200 value: 812.0 birth_stat: max","date: 191635200 value: 866.0 birth_stat: max","date: 103852800 value: 884.0 birth_stat: max","date: 218419200 value: 960.0 birth_stat: max","date: -3628800 value: 1018.0 birth_stat: max","date: 422928000 value: 1082.0 birth_stat: max","date: 172886400 value: 934.0 birth_stat: max","date: 204249600 value: 852.0 birth_stat: max","date: 399772800 value: 1310.0 birth_stat: max","date: 387676800 value: 1252.0 birth_stat: max","date: 8640000 value: 992.0 birth_stat: max","date: 291168000 value: 930.0 birth_stat: max","date: 492307200 value: 1441.0 birth_stat: max","date: 258681600 value: 1024.0 birth_stat: max","date: 155520000 value: 888.0 birth_stat: max","date: 328233600 value: 1202.0 birth_stat: max","date: 221875200 value: 1048.0 birth_stat: max","date: 200275200 value: 856.0 birth_stat: max","date: 491875200 value: 1261.0 birth_stat: max","date: 235267200 value: 1014.0 birth_stat: max","date: 32400000 value: 960.0 birth_stat: max","date: 59875200 value: 666.0 birth_stat: max","date: 244339200 value: 1070.0 birth_stat: max","date: 561513600 value: 1149.0 birth_stat: max","date: 207187200 value: 1008.0 birth_stat: max","date: 234489600 value: 994.0 birth_stat: max","date: 136512000 value: 826.0 birth_stat: max","date: 151200000 value: 862.0 birth_stat: max","date: 435974400 value: 1298.0 birth_stat: max","date: 24796800 value: 1096.0 birth_stat: max","date: 196732800 value: 834.0 birth_stat: max","date: 315014400 value: 986.0 birth_stat: max","date: 316310400 value: 1034.0 birth_stat: max","date: 146361600 value: 880.0 birth_stat: max","date: 102124800 value: 814.0 birth_stat: max","date: 123984000 value: 828.0 birth_stat: max","date: 248832000 value: 842.0 birth_stat: max","date: 313804800 value: 1146.0 birth_stat: max","date: 180576000 value: 1000.0 birth_stat: max","date: 525139200 value: 1268.0 birth_stat: max","date: 180403200 value: 916.0 birth_stat: max","date: 254188800 value: 800.0 birth_stat: max","date: 50544000 value: 928.0 birth_stat: max","date: 271555200 value: 1006.0 birth_stat: max","date: 572486400 value: 1396.0 birth_stat: max","date: 17539200 value: 1000.0 birth_stat: max","date: 240451200 value: 1012.0 birth_stat: max","date: 344908800 value: 990.0 birth_stat: max","date: 88560000 value: 770.0 birth_stat: max","date: 416880000 value: 1040.0 birth_stat: max","date: 85708800 value: 972.0 birth_stat: max","date: 36115200 value: 940.0 birth_stat: max","date: 163123200 value: 848.0 birth_stat: max","date: 478310400 value: 1240.0 birth_stat: max","date: 292204800 value: 1044.0 birth_stat: max","date: 440208000 value: 1202.0 birth_stat: max","date: 553478400 value: 1516.0 birth_stat: max","date: 393120000 value: 1226.0 birth_stat: max","date: 182995200 value: 832.0 birth_stat: max","date: 374976000 value: 1158.0 birth_stat: max","date: 242006400 value: 1022.0 birth_stat: max","date: 249350400 value: 876.0 birth_stat: max","date: 432950400 value: 1332.0 birth_stat: max","date: 263779200 value: 990.0 birth_stat: max","date: 498787200 value: 1363.0 birth_stat: max","date: 466128000 value: 1492.0 birth_stat: max","date: 452131200 value: 1256.0 birth_stat: max","date: 223430400 value: 928.0 birth_stat: max","date: 342403200 value: 1196.0 birth_stat: max","date: 405475200 value: 1032.0 birth_stat: max","date: 147052800 value: 966.0 birth_stat: max","date: 27648000 value: 1084.0 birth_stat: max","date: 7603200 value: 1032.0 birth_stat: max","date: 529372800 value: 1165.0 birth_stat: max","date: 314668800 value: 918.0 birth_stat: max","date: 79315200 value: 956.0 birth_stat: max","date: 168220800 value: 890.0 birth_stat: max","date: 448070400 value: 1208.0 birth_stat: max","date: 390355200 value: 1000.0 birth_stat: max","date: 112060800 value: 746.0 birth_stat: max","date: 308966400 value: 1080.0 birth_stat: max","date: 25747200 value: 1060.0 birth_stat: max","date: 382752000 value: 1256.0 birth_stat: max","date: 427593600 value: 1194.0 birth_stat: max","date: 488505600 value: 1316.0 birth_stat: max","date: 567993600 value: 1182.0 birth_stat: max","date: 481680000 value: 1126.0 birth_stat: max","date: 134697600 value: 884.0 birth_stat: max","date: 553564800 value: 1190.0 birth_stat: max","date: 53481600 value: 884.0 birth_stat: max","date: 531705600 value: 1387.0 birth_stat: max","date: -10281600 value: 1042.0 birth_stat: max","date: 212025600 value: 1078.0 birth_stat: max","date: 377222400 value: 1194.0 birth_stat: max","date: 359164800 value: 1060.0 birth_stat: max","date: 303436800 value: 1284.0 birth_stat: max","date: 2592000 value: 852.0 birth_stat: max","date: 328406400 value: 1094.0 birth_stat: max","date: 249436800 value: 852.0 birth_stat: max","date: 460598400 value: 1446.0 birth_stat: max","date: 542332800 value: 1385.0 birth_stat: max","date: 494985600 value: 1162.0 birth_stat: max","date: 381888000 value: 966.0 birth_stat: max","date: -4060800 value: 898.0 birth_stat: max","date: 473472000 value: 1135.0 birth_stat: max","date: 449539200 value: 1078.0 birth_stat: max","date: 30758400 value: 1012.0 birth_stat: max","date: 434419200 value: 1140.0 birth_stat: max","date: 529286400 value: 1472.0 birth_stat: max","date: 126748800 value: 874.0 birth_stat: max","date: 375580800 value: 950.0 birth_stat: max","date: 312422400 value: 1018.0 birth_stat: max","date: 122428800 value: 732.0 birth_stat: max","date: 15465600 value: 960.0 birth_stat: max","date: 477619200 value: 1205.0 birth_stat: max","date: 500601600 value: 1390.0 birth_stat: max","date: 395712000 value: 1202.0 birth_stat: max","date: 572918400 value: 1255.0 birth_stat: max","date: 40780800 value: 764.0 birth_stat: max","date: 219456000 value: 992.0 birth_stat: max","date: 422841600 value: 1256.0 birth_stat: max","date: 379900800 value: 1112.0 birth_stat: max","date: 192326400 value: 878.0 birth_stat: max","date: 228441600 value: 994.0 birth_stat: max","date: 135648000 value: 782.0 birth_stat: max","date: 402451200 value: 1036.0 birth_stat: max","date: 78796800 value: 744.0 birth_stat: max","date: 505958400 value: 1261.0 birth_stat: max","date: 126835200 value: 834.0 birth_stat: max","date: 69206400 value: 758.0 birth_stat: max","date: 442800000 value: 1252.0 birth_stat: max","date: 411955200 value: 1220.0 birth_stat: max","date: 67910400 value: 808.0 birth_stat: max","date: 559353600 value: 1524.0 birth_stat: max","date: 108086400 value: 834.0 birth_stat: max","date: 5184000 value: 1038.0 birth_stat: max","date: 102556800 value: 848.0 birth_stat: max","date: 76377600 value: 750.0 birth_stat: max","date: 282528000 value: 1056.0 birth_stat: max","date: 414892800 value: 1292.0 birth_stat: max","date: 12528000 value: 1026.0 birth_stat: max","date: 234316800 value: 796.0 birth_stat: max","date: 241574400 value: 916.0 birth_stat: max","date: 495072000 value: 1434.0 birth_stat: max","date: 484704000 value: 1065.0 birth_stat: max","date: 145152000 value: 908.0 birth_stat: max","date: 347760000 value: 1068.0 birth_stat: max","date: 424656000 value: 1262.0 birth_stat: max","date: 511401600 value: 1375.0 birth_stat: max","date: 500428800 value: 1091.0 birth_stat: max","date: 409795200 value: 1232.0 birth_stat: max","date: 14601600 value: 1072.0 birth_stat: max","date: 106099200 value: 764.0 birth_stat: max","date: 307584000 value: 1054.0 birth_stat: max","date: 589593600 value: 1671.0 birth_stat: max","date: 376012800 value: 1266.0 birth_stat: max","date: 35424000 value: 854.0 birth_stat: max","date: 63331200 value: 770.0 birth_stat: max","date: 104025600 value: 832.0 birth_stat: max","date: 279849600 value: 1050.0 birth_stat: max","date: 522633600 value: 1480.0 birth_stat: max","date: 393811200 value: 1242.0 birth_stat: max","date: 538617600 value: 1399.0 birth_stat: max","date: 88128000 value: 880.0 birth_stat: max","date: 518832000 value: 1423.0 birth_stat: max","date: 415929600 value: 1258.0 birth_stat: max","date: 309830400 value: 960.0 birth_stat: max","date: 54518400 value: 1012.0 birth_stat: max","date: -864000 value: 1032.0 birth_stat: max","date: 137030400 value: 808.0 birth_stat: max","date: 472435200 value: 1388.0 birth_stat: max","date: 161827200 value: 660.0 birth_stat: max","date: 516067200 value: 1210.0 birth_stat: max","date: 181008000 value: 838.0 birth_stat: max","date: 40003200 value: 884.0 birth_stat: max","date: 569203200 value: 1464.0 birth_stat: max"],"type":"scatter","mode":"markers","marker":{"autocolorscale":false,"color":"rgba(248,118,109,1)","opacity":1,"size":5.66929133858268,"symbol":"circle","line":{"width":1.88976377952756,"color":"rgba(248,118,109,1)"}},"hoveron":"points","name":"max","legendgroup":"max","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"x":[471139200,350265600,85363200,358214400,302572800,369705600,205891200,473817600,-6220800,320457600,172454400,12528000,430790400,101952000,156297600,565747200,522806400,595987200,455500800,127440000,598320000,582163200,350697600,197942400,431395200,238636800,420249600,79574400,477792000,370224000,212198400,247622400,-6912000,162777600,294969600,359078400,398822400,113443200,35337600,417744000,454032000,297820800,165888000,586656000,308448000,109900800,490579200,368236800,503712000,88300800,598838400,520041600,327542400,323654400,157766400,499996800,175478400,565056000,470275200,378604800,472953600,308275200,210643200,449193600,156211200,546393600,460425600,278553600,572227200,451180800,55468800,214704000,542332800,235440000,363312000,216864000,172022400,432000000,561772800,488419200,277084800,88992000,285552000,84758400,172281600,285033600,526867200,327801600,307238400,20390400,58060800,227491200,569203200,257731200,215481600,381888000,391392000,213926400,579312000,153619200,190512000,62640000,145584000,297648000,96163200,231897600,329270400,467164800,123552000,551404800,468028800,515980800,112320000,260582400,297302400,288576000,87264000,495331200,121564800,171590400,589075200,483926400,100915200,397353600,381283200,298166400,400291200,416361600,179539200,242438400,235526400,256348800,548035200,243302400,312422400,-10886400,540604800,234230400,126835200,102902400,163382400,65232000,45446400,513907200,458611200,197856000,98323200,284083200,68860800,88819200,268963200,-27993600,452044800,270604800,186537600,413251200,256176000,319766400,-28166400,216691200,10540800,510624000,272592000,70502400,-16588800,314928000,588297600,205632000,22723200,590025600,481334400,184896000,48297600,590630400,289180800,575424000,332467200,181353600,-11232000,141955200,60048000,213494400,599011200,414028800,486259200,260496000,433123200,142473600,33436800,110160000,416016000,240019200,164764800,249609600,594518400,73958400,359683200,219542400,566006400,439257600,546220800,549158400,148262400,87696000,522979200,339638400,381196800,24969600,143164800,324345600,75513600,334540800,194918400,515548800,476064000,232243200,-10022400,114134400,275875200,102643200,188784000,18748800,236822400,-22809600,449107200,579139200,62899200,61344000,513216000,487123200,126489600,46483200,464832000,343785600,190598400,203472000,320025600,379987200,257558400,345168000,293587200,269740800,-1209600,20304000,349401600,270432000,502070400,51753600,292723200,74131200,593913600,401328000,31276800,466819200,585964800,26265600,410832000,33782400,369360000,525398400,107481600,213321600,403056000,39830400,60825600,364780800,34300800,442800000,419385600,395798400,6652800,449798400,31449600,82598400,108000000,375235200,-10972800,438480000,572140800,569116800,-29203200,87955200,124502400,-7776000,578188800,184982400,36201600,-14169600,261878400,463622400,310003200,378259200,80870400,77155200,237340800,46224000,89251200,1036800,254361600,558403200,39484800,492307200,403747200,461289600,533952000,345427200,64022400,138067200,290649600,443664000,-13824000,196041600,515894400,402192000,236736000,88732800,12268800,217555200,257385600,210211200,335232000,210902400,478310400,314064000,448243200,182217600,39052800,121824000,207792000,448502400,-21254400,283737600,269308800,460512000,587779200,575337600,322531200,243820800,384048000,262396800,307670400,51408000,262656000,112924800,178502400,262483200,555120000,258076800,365990400,-27907200,17884800,576547200,27648000,171072000,403574400,507513600,-6652800,424742400,189388800,205718400,591235200,379296000,522028800,169862400,468547200,456969600,560908800,165715200,286243200,445478400,255744000,486432000,263174400,542678400,462153600,155088000,110592000,415238400,13046400,368323200,187228800,119664000,475113600,557452800,458265600,214012800,101779200,368496000,41817600,584841600,280108800,-691200,86832000,339379200,561686400,367027200,50284800,197078400,470707200,37929600,22118400,144028800,594172800,207964800,113097600,594777600,568771200,529977600,1555200,33696000,34473600,500601600,86227200,210384000,189129600,294278400,105235200,164246400,511920000,382924800,71625600,512092800,398131200,262742400,-18230400,422841600,67392000,25660800,5702400,254102400,333763200,104371200,-28684800,215827200,258940800,154396800,562550400,323395200,263520000,99964800,36460800,129081600,465696000,187920000,278380800,189907200,499824000,261187200,97459200,392083200,103248000,275270400,227232000,380073600,143856000,250646400,173145600,31536000,526262400,597801600,222739200,561513600,182131200,422582400,595641600,232761600,427420800,12009600,551664000,367286400,407289600,-18662400,393120000,57542400,199843200,254448000,126921600,81561600,564537600,-6393600,163900800,-17539200,428284800,354067200,427248000,536716800,259545600,383443200,82339200,172540800,6912000,520905600,554688000,222912000,500083200,213753600,544060800,232329600,-9763200,35251200,128822400,125798400,256089600,336182400,96940800,319161600,154569600,141868800,5270400,414892800,144720000,468201600,92966400,203385600,202521600,-25747200,52876800,255830400,135907200,390441600,583459200,361756800,319680000,128217600,203126400,346464000,234748800,215136000,162086400,162950400,-23328000,386899200,103939200,211593600,51840000,27907200,282268800,506995200,193449600,556156800,533174400,42249600,138240000,-18144000,552700800,125020800,45014400,52704000,124675200,29462400,572572800,423705600,67305600,147225600,543196800,106617600,439344000,469584000,416707200,146188800,228268800,252806400,181526400,1987200,536025600,315100800,360720000,12441600,69465600,185068800,232416000,278208000,-16070400,453254400,269568000,324000000,355708800,410745600,265334400,571017600,116985600,527299200,340761600,70675200,46310400,12873600,108864000,543715200,502761600,348278400,32227200,264470400,371433600,113702400,304300800,98409600,343958400,366595200,573609600,163296000,411868800,292982400,274060800,345600,280195200,488764800,585878400,230428800,362620800,56332800,234576000,270518400,526953600,91584000,416966400,81820800,191116800,296784000,276307200,168739200,240451200,390873600,-17452800,120355200,585792000,399600000,271382400,569721600,404092800,238723200,271468800,360115200,179193600,505958400,2764800,96768000,495072000,551577600,234057600,-29808000,522115200,-9849600,105062400,336873600,86313600,180576000,106444800,599097600,104198400,259891200,31795200,382752000,360547200,258681600,226713600,467942400,465264000,282096000,508291200,419644800,325814400,364608000,-30499200,510364800,401932800,501120000,254275200,294192000,549331200,383097600,386208000],"y":[199.450980392157,198.019607843137,201.549019607843,163.803921568627,184.843137254902,188.411764705882,156.725490196078,166.21568627451,209.294117647059,191.823529411765,177.235294117647,207.803921568627,181.21568627451,175.843137254902,147.156862745098,166.333333333333,175.666666666667,165.392156862745,207.058823529412,175.274509803922,171.686274509804,217.588235294118,198.274509803922,144.745098039216,179.43137254902,191.588235294118,204.156862745098,181.607843137255,207.509803921569,224.705882352941,192.862745098039,153.764705882353,196,175.960784313725,196.21568627451,202.137254901961,178.392156862745,185.176470588235,177.803921568627,211.980392156863,211.372549019608,162.921568627451,148.647058823529,238.352941176471,198.156862745098,178.058823529412,225.176470588235,214.156862745098,215.352941176471,176.607843137255,196.019607843137,216.43137254902,195.764705882353,196.725490196078,137.803921568627,218.019607843137,186.176470588235,170.294117647059,208.941176470588,203.803921568627,220.078431372549,202.941176470588,164.843137254902,203.058823529412,153.823529411765,162.470588235294,188.117647058824,185.725490196078,218.21568627451,197.196078431373,213.21568627451,181.509803921569,219.607843137255,161.313725490196,225.450980392157,177.078431372549,142.56862745098,186.980392156863,219.411764705882,215.960784313725,191.705882352941,177.058823529412,193.627450980392,198.882352941176,177.450980392157,169.588235294118,235.509803921569,198.21568627451,215.941176470588,223.21568627451,186.588235294118,181.56862745098,218.450980392157,178.301886792453,156.235294117647,166.941176470588,209.470588235294,188.666666666667,221.941176470588,177.666666666667,171.294117647059,190.039215686275,200.254901960784,188.019607843137,177.725490196078,149.862745098039,160.450980392157,167.529411764706,139.581818181818,224.176470588235,196.725490196078,212.019607843137,185.294117647059,173.725490196078,191.588235294118,198.039215686275,164.882352941176,234.470588235294,169.529411764706,176.411764705882,232.686274509804,207.705882352941,174.764705882353,219.529411764706,164.313725490196,192.117647058824,224.607843137255,165.333333333333,181.666666666667,202.549019607843,152.843137254902,182.274509803922,219.803921568627,179.627450980392,196.254901960784,208.156862745098,210.901960784314,157.823529411765,172.274509803922,168.921568627451,177.549019607843,179.529411764706,192.43137254902,213.254901960784,180.647058823529,162.490196078431,174.607843137255,173.627450980392,181,177.490196078431,193.490196078431,193.254901960784,151.392156862745,166.549019607843,147,166.254901960784,175.980392156863,199.509803921569,170.470588235294,155.156862745098,157.56862745098,171.823529411765,200.803921568627,178.098039215686,193.725490196078,156.235294117647,239.921568627451,187.235294117647,227.725490196078,236.509803921569,206.941176470588,175.019607843137,205.764705882353,241.803921568627,191.235294117647,167.333333333333,217.549019607843,173.928571428571,178.117647058824,194.56862745098,167.882352941176,185.509803921569,153.627450980392,207.803921568627,214.56862745098,185.294117647059,219.156862745098,185.725490196078,192.196078431373,176.627450980392,202.392156862745,200.235294117647,147.490196078431,188.607843137255,221.960784313725,152.725490196078,205.313725490196,185.294117647059,212.627450980392,162.254901960784,212.686274509804,224.254901960784,193.490196078431,186.196078431373,233.254901960784,206.647058823529,171.098039215686,186.078431372549,190.137254901961,167.529411764706,179.333333333333,225.333333333333,148.235294117647,155.313725490196,207.666666666667,180.588235294118,180.313725490196,192.980392156863,203.647058823529,177.156862745098,168.588235294118,212.470588235294,160.21568627451,175.294117647059,199.333333333333,217.196078431373,199.137254901961,158.862745098039,210.196078431373,172.333333333333,173.549019607843,188.235294117647,234.901960784314,165.549019607843,173.470588235294,145.882352941176,201.333333333333,170.686274509804,163.464285714286,202.392156862745,155.313725490196,203.941176470588,204.43137254902,205.019607843137,202.862745098039,202.43137254902,194.549019607843,203.882352941176,188.078431372549,176,217.313725490196,227.372549019608,244.078431372549,209.666666666667,238.509803921569,177.843137254902,167.156862745098,204.745098039216,223.960784313725,231.745098039216,174.686274509804,191.941176470588,174.098039215686,191.098039215686,190.823529411765,215.882352941176,211.843137254902,192.901960784314,164,183.803921568627,198.039215686275,197.098039215686,219.803921568627,187.039215686275,166.764705882353,165.235294117647,208.588235294118,163.058823529412,216.470588235294,211.392156862745,196.705882352941,154.588235294118,172.43137254902,214.156862745098,222.137254901961,167.019607843137,206.509803921569,199.921568627451,168.509803921569,228.254901960784,194.509803921569,169.666666666667,189.450980392157,170.529411764706,156.529411764706,160.666666666667,175.176470588235,207.450980392157,181.627450980392,185.627450980392,174.039215686275,226.137254901961,204.254901960784,226.470588235294,208.823529411765,196.843137254902,182.588235294118,150.333333333333,190.21568627451,194.607843137255,209.56862745098,169.078431372549,206.21568627451,220.960784313725,154.137254901961,183.294117647059,184.78431372549,182.666666666667,181.803921568627,179.588235294118,183.549019607843,189.294117647059,209.235294117647,166.137254901961,209.921568627451,156.56862745098,200.392156862745,145.490196078431,177.196078431373,204.450980392157,179.176470588235,204.176470588235,173.921568627451,179.156862745098,235.21568627451,179.764705882353,174.549019607843,202.509803921569,200.098039215686,177,213.941176470588,203.647058823529,152.235294117647,190.235294117647,187.980392156863,173.705882352941,222.56862745098,187.941176470588,220.705882352941,196.235294117647,216.705882352941,170.607843137255,219.254901960784,171.411764705882,174.392156862745,208.588235294118,194.470588235294,170.764705882353,156.745098039216,187.980392156863,236.019607843137,197.78431372549,226.901960784314,177.313725490196,206,207.078431372549,167.509803921569,174.529411764706,164.156862745098,195.627450980392,179.490196078431,176.392156862745,178.549019607843,173.274509803922,218.862745098039,140.277777777778,155.098039215686,201.058823529412,198.509803921569,213.607843137255,174.725490196078,170.862745098039,202.235294117647,230.078431372549,228.647058823529,180.058823529412,153.882352941176,183.411764705882,191.21568627451,234.372549019608,193.254901960784,176.039215686275,188.843137254902,216.627450980392,223.137254901961,216.843137254902,201.137254901961,169.666666666667,166.254901960784,204.666666666667,221.647058823529,187.725490196078,175.490196078431,177.745098039216,184.294117647059,171.235294117647,162.725490196078,170.78431372549,198.509803921569,215.607843137255,199.411764705882,215.372549019608,192.843137254902,185.803921568627,198.901960784314,186.627450980392,163.156862745098,176.470588235294,164.450980392157,203.43137254902,147.745098039216,218.509803921569,185.176470588235,140.235294117647,192.901960784314,205.411764705882,155.607843137255,181.686274509804,175.019607843137,182.666666666667,218.156862745098,164.156862745098,195.843137254902,176.764705882353,186.039215686275,158.882352941176,216.588235294118,198.941176470588,182.686274509804,165.313725490196,187.960784313725,145.725490196078,222.333333333333,187.372549019608,165.196078431373,165.039215686275,165.529411764706,169,174.058823529412,174.901960784314,173.392156862745,203.333333333333,189.882352941176,167.098039215686,182.882352941176,147.117647058824,159.392156862745,173.490196078431,233.019607843137,165.725490196078,160.156862745098,162.156862745098,180.627450980392,215.117647058824,215.137254901961,184.56862745098,216.470588235294,196.941176470588,226.43137254902,190.980392156863,167.21568627451,179.490196078431,210.411764705882,194.549019607843,139.019607843137,184.823529411765,163.647058823529,183.921568627451,166.196078431373,168.352941176471,168.823529411765,200.392156862745,216.176470588235,165.843137254902,175.294117647059,161.941176470588,179.686274509804,203.274509803922,182.941176470588,156.058823529412,172.235294117647,178.647058823529,225.352941176471,181.294117647059,209.705882352941,163,208.294117647059,182.627450980392,204.901960784314,182.627450980392,169.019607843137,186.450980392157,156.176470588235,215.78431372549,157.294117647059,201.019607843137,173.294117647059,170.740740740741,198.59649122807,208.039215686275,166.078431372549,204.627450980392,194.156862745098,154.78431372549,171.549019607843,164.588235294118,173.56862745098,181.607843137255,177.156862745098,207.274509803922,238.529411764706,206.313725490196,190.509803921569,170.43137254902,172.588235294118,176.058823529412,181.117647058824,184.372549019608,176.156862745098,144.843137254902,157.019607843137,208.235294117647,174.333333333333,195.627450980392,209.882352941176,218.156862745098,197.490196078431,176.882352941176,173.058823529412,227.156862745098,207.862745098039,182.549019607843,172.411764705882,188,226.078431372549,186.980392156863,163.960784313725,211.529411764706,179.941176470588,220,215.705882352941,203.352941176471,163.725490196078,155.078431372549,220.686274509804,150.960784313725,156.352941176471,162.745098039216,206.352941176471,199.078431372549,152.333333333333,177.509803921569,182.078431372549,185.686274509804,172.960784313725,205.960784313725,169.372549019608,197.56862745098,181.294117647059,172.980392156863,158.980392156863,186.56862745098,172.549019607843,160.764705882353,203.450980392157,202.411764705882,198.333333333333,195.039215686275,188.960784313725,214.588235294118,156.745098039216,230.529411764706,169.980392156863,174.137254901961,190.588235294118,173.882352941176,169.117647058824,214.019607843137,167.352941176471,204.294117647059,181.960784313725,158.392156862745,213.823529411765,184.666666666667,207.274509803922,174.43137254902,205.803921568627,224.176470588235,164.372549019608,173.333333333333,199.098039215686,149.313725490196,203.607843137255,193.176470588235,165.588235294118,222.745098039216,242.039215686275,179.294117647059,205.921568627451,199.607843137255,180.490196078431,170.490196078431,188.156862745098,152.745098039216,167.137254901961,166.843137254902,174.372549019608,192.843137254902,195,167.666666666667,193.176470588235,168.725490196078,193.176470588235,166.803921568627,228.254901960784,225.588235294118,205.098039215686,214.686274509804,204.549019607843,198.588235294118,199.274509803922,168.588235294118,166,200.117647058824,206.705882352941,175.666666666667,227.901960784314,224.058823529412,183.21568627451,205.372549019608,184.725490196078,207.803921568627,170.153846153846,216.450980392157,199.078431372549,187.647058823529,167.627450980392,170.254901960784,148.607843137255,182.411764705882,196.941176470588,206.509803921569,203.254901960784,187,183.450980392157,205.058823529412,192.411764705882,158.901960784314,166.098039215686,203.352941176471,199.117647058824,216.941176470588,192.823529411765,208.843137254902,226.235294117647,210.21568627451,148.490196078431,147,181.882352941176,170.764705882353,200.313725490196],"text":["date: 471139200 value: 199.5 birth_stat: mean","date: 350265600 value: 198.0 birth_stat: mean","date: 85363200 value: 201.5 birth_stat: mean","date: 358214400 value: 163.8 birth_stat: mean","date: 302572800 value: 184.8 birth_stat: mean","date: 369705600 value: 188.4 birth_stat: mean","date: 205891200 value: 156.7 birth_stat: mean","date: 473817600 value: 166.2 birth_stat: mean","date: -6220800 value: 209.3 birth_stat: mean","date: 320457600 value: 191.8 birth_stat: mean","date: 172454400 value: 177.2 birth_stat: mean","date: 12528000 value: 207.8 birth_stat: mean","date: 430790400 value: 181.2 birth_stat: mean","date: 101952000 value: 175.8 birth_stat: mean","date: 156297600 value: 147.2 birth_stat: mean","date: 565747200 value: 166.3 birth_stat: mean","date: 522806400 value: 175.7 birth_stat: mean","date: 595987200 value: 165.4 birth_stat: mean","date: 455500800 value: 207.1 birth_stat: mean","date: 127440000 value: 175.3 birth_stat: mean","date: 598320000 value: 171.7 birth_stat: mean","date: 582163200 value: 217.6 birth_stat: mean","date: 350697600 value: 198.3 birth_stat: mean","date: 197942400 value: 144.7 birth_stat: mean","date: 431395200 value: 179.4 birth_stat: mean","date: 238636800 value: 191.6 birth_stat: mean","date: 420249600 value: 204.2 birth_stat: mean","date: 79574400 value: 181.6 birth_stat: mean","date: 477792000 value: 207.5 birth_stat: mean","date: 370224000 value: 224.7 birth_stat: mean","date: 212198400 value: 192.9 birth_stat: mean","date: 247622400 value: 153.8 birth_stat: mean","date: -6912000 value: 196.0 birth_stat: mean","date: 162777600 value: 176.0 birth_stat: mean","date: 294969600 value: 196.2 birth_stat: mean","date: 359078400 value: 202.1 birth_stat: mean","date: 398822400 value: 178.4 birth_stat: mean","date: 113443200 value: 185.2 birth_stat: mean","date: 35337600 value: 177.8 birth_stat: mean","date: 417744000 value: 212.0 birth_stat: mean","date: 454032000 value: 211.4 birth_stat: mean","date: 297820800 value: 162.9 birth_stat: mean","date: 165888000 value: 148.6 birth_stat: mean","date: 586656000 value: 238.4 birth_stat: mean","date: 308448000 value: 198.2 birth_stat: mean","date: 109900800 value: 178.1 birth_stat: mean","date: 490579200 value: 225.2 birth_stat: mean","date: 368236800 value: 214.2 birth_stat: mean","date: 503712000 value: 215.4 birth_stat: mean","date: 88300800 value: 176.6 birth_stat: mean","date: 598838400 value: 196.0 birth_stat: mean","date: 520041600 value: 216.4 birth_stat: mean","date: 327542400 value: 195.8 birth_stat: mean","date: 323654400 value: 196.7 birth_stat: mean","date: 157766400 value: 137.8 birth_stat: mean","date: 499996800 value: 218.0 birth_stat: mean","date: 175478400 value: 186.2 birth_stat: mean","date: 565056000 value: 170.3 birth_stat: mean","date: 470275200 value: 208.9 birth_stat: mean","date: 378604800 value: 203.8 birth_stat: mean","date: 472953600 value: 220.1 birth_stat: mean","date: 308275200 value: 202.9 birth_stat: mean","date: 210643200 value: 164.8 birth_stat: mean","date: 449193600 value: 203.1 birth_stat: mean","date: 156211200 value: 153.8 birth_stat: mean","date: 546393600 value: 162.5 birth_stat: mean","date: 460425600 value: 188.1 birth_stat: mean","date: 278553600 value: 185.7 birth_stat: mean","date: 572227200 value: 218.2 birth_stat: mean","date: 451180800 value: 197.2 birth_stat: mean","date: 55468800 value: 213.2 birth_stat: mean","date: 214704000 value: 181.5 birth_stat: mean","date: 542332800 value: 219.6 birth_stat: mean","date: 235440000 value: 161.3 birth_stat: mean","date: 363312000 value: 225.5 birth_stat: mean","date: 216864000 value: 177.1 birth_stat: mean","date: 172022400 value: 142.6 birth_stat: mean","date: 432000000 value: 187.0 birth_stat: mean","date: 561772800 value: 219.4 birth_stat: mean","date: 488419200 value: 216.0 birth_stat: mean","date: 277084800 value: 191.7 birth_stat: mean","date: 88992000 value: 177.1 birth_stat: mean","date: 285552000 value: 193.6 birth_stat: mean","date: 84758400 value: 198.9 birth_stat: mean","date: 172281600 value: 177.5 birth_stat: mean","date: 285033600 value: 169.6 birth_stat: mean","date: 526867200 value: 235.5 birth_stat: mean","date: 327801600 value: 198.2 birth_stat: mean","date: 307238400 value: 215.9 birth_stat: mean","date: 20390400 value: 223.2 birth_stat: mean","date: 58060800 value: 186.6 birth_stat: mean","date: 227491200 value: 181.6 birth_stat: mean","date: 569203200 value: 218.5 birth_stat: mean","date: 257731200 value: 178.3 birth_stat: mean","date: 215481600 value: 156.2 birth_stat: mean","date: 381888000 value: 166.9 birth_stat: mean","date: 391392000 value: 209.5 birth_stat: mean","date: 213926400 value: 188.7 birth_stat: mean","date: 579312000 value: 221.9 birth_stat: mean","date: 153619200 value: 177.7 birth_stat: mean","date: 190512000 value: 171.3 birth_stat: mean","date: 62640000 value: 190.0 birth_stat: mean","date: 145584000 value: 200.3 birth_stat: mean","date: 297648000 value: 188.0 birth_stat: mean","date: 96163200 value: 177.7 birth_stat: mean","date: 231897600 value: 149.9 birth_stat: mean","date: 329270400 value: 160.5 birth_stat: mean","date: 467164800 value: 167.5 birth_stat: mean","date: 123552000 value: 139.6 birth_stat: mean","date: 551404800 value: 224.2 birth_stat: mean","date: 468028800 value: 196.7 birth_stat: mean","date: 515980800 value: 212.0 birth_stat: mean","date: 112320000 value: 185.3 birth_stat: mean","date: 260582400 value: 173.7 birth_stat: mean","date: 297302400 value: 191.6 birth_stat: mean","date: 288576000 value: 198.0 birth_stat: mean","date: 87264000 value: 164.9 birth_stat: mean","date: 495331200 value: 234.5 birth_stat: mean","date: 121564800 value: 169.5 birth_stat: mean","date: 171590400 value: 176.4 birth_stat: mean","date: 589075200 value: 232.7 birth_stat: mean","date: 483926400 value: 207.7 birth_stat: mean","date: 100915200 value: 174.8 birth_stat: mean","date: 397353600 value: 219.5 birth_stat: mean","date: 381283200 value: 164.3 birth_stat: mean","date: 298166400 value: 192.1 birth_stat: mean","date: 400291200 value: 224.6 birth_stat: mean","date: 416361600 value: 165.3 birth_stat: mean","date: 179539200 value: 181.7 birth_stat: mean","date: 242438400 value: 202.5 birth_stat: mean","date: 235526400 value: 152.8 birth_stat: mean","date: 256348800 value: 182.3 birth_stat: mean","date: 548035200 value: 219.8 birth_stat: mean","date: 243302400 value: 179.6 birth_stat: mean","date: 312422400 value: 196.3 birth_stat: mean","date: -10886400 value: 208.2 birth_stat: mean","date: 540604800 value: 210.9 birth_stat: mean","date: 234230400 value: 157.8 birth_stat: mean","date: 126835200 value: 172.3 birth_stat: mean","date: 102902400 value: 168.9 birth_stat: mean","date: 163382400 value: 177.5 birth_stat: mean","date: 65232000 value: 179.5 birth_stat: mean","date: 45446400 value: 192.4 birth_stat: mean","date: 513907200 value: 213.3 birth_stat: mean","date: 458611200 value: 180.6 birth_stat: mean","date: 197856000 value: 162.5 birth_stat: mean","date: 98323200 value: 174.6 birth_stat: mean","date: 284083200 value: 173.6 birth_stat: mean","date: 68860800 value: 181.0 birth_stat: mean","date: 88819200 value: 177.5 birth_stat: mean","date: 268963200 value: 193.5 birth_stat: mean","date: -27993600 value: 193.3 birth_stat: mean","date: 452044800 value: 151.4 birth_stat: mean","date: 270604800 value: 166.5 birth_stat: mean","date: 186537600 value: 147.0 birth_stat: mean","date: 413251200 value: 166.3 birth_stat: mean","date: 256176000 value: 176.0 birth_stat: mean","date: 319766400 value: 199.5 birth_stat: mean","date: -28166400 value: 170.5 birth_stat: mean","date: 216691200 value: 155.2 birth_stat: mean","date: 10540800 value: 157.6 birth_stat: mean","date: 510624000 value: 171.8 birth_stat: mean","date: 272592000 value: 200.8 birth_stat: mean","date: 70502400 value: 178.1 birth_stat: mean","date: -16588800 value: 193.7 birth_stat: mean","date: 314928000 value: 156.2 birth_stat: mean","date: 588297600 value: 239.9 birth_stat: mean","date: 205632000 value: 187.2 birth_stat: mean","date: 22723200 value: 227.7 birth_stat: mean","date: 590025600 value: 236.5 birth_stat: mean","date: 481334400 value: 206.9 birth_stat: mean","date: 184896000 value: 175.0 birth_stat: mean","date: 48297600 value: 205.8 birth_stat: mean","date: 590630400 value: 241.8 birth_stat: mean","date: 289180800 value: 191.2 birth_stat: mean","date: 575424000 value: 167.3 birth_stat: mean","date: 332467200 value: 217.5 birth_stat: mean","date: 181353600 value: 173.9 birth_stat: mean","date: -11232000 value: 178.1 birth_stat: mean","date: 141955200 value: 194.6 birth_stat: mean","date: 60048000 value: 167.9 birth_stat: mean","date: 213494400 value: 185.5 birth_stat: mean","date: 599011200 value: 153.6 birth_stat: mean","date: 414028800 value: 207.8 birth_stat: mean","date: 486259200 value: 214.6 birth_stat: mean","date: 260496000 value: 185.3 birth_stat: mean","date: 433123200 value: 219.2 birth_stat: mean","date: 142473600 value: 185.7 birth_stat: mean","date: 33436800 value: 192.2 birth_stat: mean","date: 110160000 value: 176.6 birth_stat: mean","date: 416016000 value: 202.4 birth_stat: mean","date: 240019200 value: 200.2 birth_stat: mean","date: 164764800 value: 147.5 birth_stat: mean","date: 249609600 value: 188.6 birth_stat: mean","date: 594518400 value: 222.0 birth_stat: mean","date: 73958400 value: 152.7 birth_stat: mean","date: 359683200 value: 205.3 birth_stat: mean","date: 219542400 value: 185.3 birth_stat: mean","date: 566006400 value: 212.6 birth_stat: mean","date: 439257600 value: 162.3 birth_stat: mean","date: 546220800 value: 212.7 birth_stat: mean","date: 549158400 value: 224.3 birth_stat: mean","date: 148262400 value: 193.5 birth_stat: mean","date: 87696000 value: 186.2 birth_stat: mean","date: 522979200 value: 233.3 birth_stat: mean","date: 339638400 value: 206.6 birth_stat: mean","date: 381196800 value: 171.1 birth_stat: mean","date: 24969600 value: 186.1 birth_stat: mean","date: 143164800 value: 190.1 birth_stat: mean","date: 324345600 value: 167.5 birth_stat: mean","date: 75513600 value: 179.3 birth_stat: mean","date: 334540800 value: 225.3 birth_stat: mean","date: 194918400 value: 148.2 birth_stat: mean","date: 515548800 value: 155.3 birth_stat: mean","date: 476064000 value: 207.7 birth_stat: mean","date: 232243200 value: 180.6 birth_stat: mean","date: -10022400 value: 180.3 birth_stat: mean","date: 114134400 value: 193.0 birth_stat: mean","date: 275875200 value: 203.6 birth_stat: mean","date: 102643200 value: 177.2 birth_stat: mean","date: 188784000 value: 168.6 birth_stat: mean","date: 18748800 value: 212.5 birth_stat: mean","date: 236822400 value: 160.2 birth_stat: mean","date: -22809600 value: 175.3 birth_stat: mean","date: 449107200 value: 199.3 birth_stat: mean","date: 579139200 value: 217.2 birth_stat: mean","date: 62899200 value: 199.1 birth_stat: mean","date: 61344000 value: 158.9 birth_stat: mean","date: 513216000 value: 210.2 birth_stat: mean","date: 487123200 value: 172.3 birth_stat: mean","date: 126489600 value: 173.5 birth_stat: mean","date: 46483200 value: 188.2 birth_stat: mean","date: 464832000 value: 234.9 birth_stat: mean","date: 343785600 value: 165.5 birth_stat: mean","date: 190598400 value: 173.5 birth_stat: mean","date: 203472000 value: 145.9 birth_stat: mean","date: 320025600 value: 201.3 birth_stat: mean","date: 379987200 value: 170.7 birth_stat: mean","date: 257558400 value: 163.5 birth_stat: mean","date: 345168000 value: 202.4 birth_stat: mean","date: 293587200 value: 155.3 birth_stat: mean","date: 269740800 value: 203.9 birth_stat: mean","date: -1209600 value: 204.4 birth_stat: mean","date: 20304000 value: 205.0 birth_stat: mean","date: 349401600 value: 202.9 birth_stat: mean","date: 270432000 value: 202.4 birth_stat: mean","date: 502070400 value: 194.5 birth_stat: mean","date: 51753600 value: 203.9 birth_stat: mean","date: 292723200 value: 188.1 birth_stat: mean","date: 74131200 value: 176.0 birth_stat: mean","date: 593913600 value: 217.3 birth_stat: mean","date: 401328000 value: 227.4 birth_stat: mean","date: 31276800 value: 244.1 birth_stat: mean","date: 466819200 value: 209.7 birth_stat: mean","date: 585964800 value: 238.5 birth_stat: mean","date: 26265600 value: 177.8 birth_stat: mean","date: 410832000 value: 167.2 birth_stat: mean","date: 33782400 value: 204.7 birth_stat: mean","date: 369360000 value: 224.0 birth_stat: mean","date: 525398400 value: 231.7 birth_stat: mean","date: 107481600 value: 174.7 birth_stat: mean","date: 213321600 value: 191.9 birth_stat: mean","date: 403056000 value: 174.1 birth_stat: mean","date: 39830400 value: 191.1 birth_stat: mean","date: 60825600 value: 190.8 birth_stat: mean","date: 364780800 value: 215.9 birth_stat: mean","date: 34300800 value: 211.8 birth_stat: mean","date: 442800000 value: 192.9 birth_stat: mean","date: 419385600 value: 164.0 birth_stat: mean","date: 395798400 value: 183.8 birth_stat: mean","date: 6652800 value: 198.0 birth_stat: mean","date: 449798400 value: 197.1 birth_stat: mean","date: 31449600 value: 219.8 birth_stat: mean","date: 82598400 value: 187.0 birth_stat: mean","date: 108000000 value: 166.8 birth_stat: mean","date: 375235200 value: 165.2 birth_stat: mean","date: -10972800 value: 208.6 birth_stat: mean","date: 438480000 value: 163.1 birth_stat: mean","date: 572140800 value: 216.5 birth_stat: mean","date: 569116800 value: 211.4 birth_stat: mean","date: -29203200 value: 196.7 birth_stat: mean","date: 87955200 value: 154.6 birth_stat: mean","date: 124502400 value: 172.4 birth_stat: mean","date: -7776000 value: 214.2 birth_stat: mean","date: 578188800 value: 222.1 birth_stat: mean","date: 184982400 value: 167.0 birth_stat: mean","date: 36201600 value: 206.5 birth_stat: mean","date: -14169600 value: 199.9 birth_stat: mean","date: 261878400 value: 168.5 birth_stat: mean","date: 463622400 value: 228.3 birth_stat: mean","date: 310003200 value: 194.5 birth_stat: mean","date: 378259200 value: 169.7 birth_stat: mean","date: 80870400 value: 189.5 birth_stat: mean","date: 77155200 value: 170.5 birth_stat: mean","date: 237340800 value: 156.5 birth_stat: mean","date: 46224000 value: 160.7 birth_stat: mean","date: 89251200 value: 175.2 birth_stat: mean","date: 1036800 value: 207.5 birth_stat: mean","date: 254361600 value: 181.6 birth_stat: mean","date: 558403200 value: 185.6 birth_stat: mean","date: 39484800 value: 174.0 birth_stat: mean","date: 492307200 value: 226.1 birth_stat: mean","date: 403747200 value: 204.3 birth_stat: mean","date: 461289600 value: 226.5 birth_stat: mean","date: 533952000 value: 208.8 birth_stat: mean","date: 345427200 value: 196.8 birth_stat: mean","date: 64022400 value: 182.6 birth_stat: mean","date: 138067200 value: 150.3 birth_stat: mean","date: 290649600 value: 190.2 birth_stat: mean","date: 443664000 value: 194.6 birth_stat: mean","date: -13824000 value: 209.6 birth_stat: mean","date: 196041600 value: 169.1 birth_stat: mean","date: 515894400 value: 206.2 birth_stat: mean","date: 402192000 value: 221.0 birth_stat: mean","date: 236736000 value: 154.1 birth_stat: mean","date: 88732800 value: 183.3 birth_stat: mean","date: 12268800 value: 184.8 birth_stat: mean","date: 217555200 value: 182.7 birth_stat: mean","date: 257385600 value: 181.8 birth_stat: mean","date: 210211200 value: 179.6 birth_stat: mean","date: 335232000 value: 183.5 birth_stat: mean","date: 210902400 value: 189.3 birth_stat: mean","date: 478310400 value: 209.2 birth_stat: mean","date: 314064000 value: 166.1 birth_stat: mean","date: 448243200 value: 209.9 birth_stat: mean","date: 182217600 value: 156.6 birth_stat: mean","date: 39052800 value: 200.4 birth_stat: mean","date: 121824000 value: 145.5 birth_stat: mean","date: 207792000 value: 177.2 birth_stat: mean","date: 448502400 value: 204.5 birth_stat: mean","date: -21254400 value: 179.2 birth_stat: mean","date: 283737600 value: 204.2 birth_stat: mean","date: 269308800 value: 173.9 birth_stat: mean","date: 460512000 value: 179.2 birth_stat: mean","date: 587779200 value: 235.2 birth_stat: mean","date: 575337600 value: 179.8 birth_stat: mean","date: 322531200 value: 174.5 birth_stat: mean","date: 243820800 value: 202.5 birth_stat: mean","date: 384048000 value: 200.1 birth_stat: mean","date: 262396800 value: 177.0 birth_stat: mean","date: 307670400 value: 213.9 birth_stat: mean","date: 51408000 value: 203.6 birth_stat: mean","date: 262656000 value: 152.2 birth_stat: mean","date: 112924800 value: 190.2 birth_stat: mean","date: 178502400 value: 188.0 birth_stat: mean","date: 262483200 value: 173.7 birth_stat: mean","date: 555120000 value: 222.6 birth_stat: mean","date: 258076800 value: 187.9 birth_stat: mean","date: 365990400 value: 220.7 birth_stat: mean","date: -27907200 value: 196.2 birth_stat: mean","date: 17884800 value: 216.7 birth_stat: mean","date: 576547200 value: 170.6 birth_stat: mean","date: 27648000 value: 219.3 birth_stat: mean","date: 171072000 value: 171.4 birth_stat: mean","date: 403574400 value: 174.4 birth_stat: mean","date: 507513600 value: 208.6 birth_stat: mean","date: -6652800 value: 194.5 birth_stat: mean","date: 424742400 value: 170.8 birth_stat: mean","date: 189388800 value: 156.7 birth_stat: mean","date: 205718400 value: 188.0 birth_stat: mean","date: 591235200 value: 236.0 birth_stat: mean","date: 379296000 value: 197.8 birth_stat: mean","date: 522028800 value: 226.9 birth_stat: mean","date: 169862400 value: 177.3 birth_stat: mean","date: 468547200 value: 206.0 birth_stat: mean","date: 456969600 value: 207.1 birth_stat: mean","date: 560908800 value: 167.5 birth_stat: mean","date: 165715200 value: 174.5 birth_stat: mean","date: 286243200 value: 164.2 birth_stat: mean","date: 445478400 value: 195.6 birth_stat: mean","date: 255744000 value: 179.5 birth_stat: mean","date: 486432000 value: 176.4 birth_stat: mean","date: 263174400 value: 178.5 birth_stat: mean","date: 542678400 value: 173.3 birth_stat: mean","date: 462153600 value: 218.9 birth_stat: mean","date: 155088000 value: 140.3 birth_stat: mean","date: 110592000 value: 155.1 birth_stat: mean","date: 415238400 value: 201.1 birth_stat: mean","date: 13046400 value: 198.5 birth_stat: mean","date: 368323200 value: 213.6 birth_stat: mean","date: 187228800 value: 174.7 birth_stat: mean","date: 119664000 value: 170.9 birth_stat: mean","date: 475113600 value: 202.2 birth_stat: mean","date: 557452800 value: 230.1 birth_stat: mean","date: 458265600 value: 228.6 birth_stat: mean","date: 214012800 value: 180.1 birth_stat: mean","date: 101779200 value: 153.9 birth_stat: mean","date: 368496000 value: 183.4 birth_stat: mean","date: 41817600 value: 191.2 birth_stat: mean","date: 584841600 value: 234.4 birth_stat: mean","date: 280108800 value: 193.3 birth_stat: mean","date: -691200 value: 176.0 birth_stat: mean","date: 86832000 value: 188.8 birth_stat: mean","date: 339379200 value: 216.6 birth_stat: mean","date: 561686400 value: 223.1 birth_stat: mean","date: 367027200 value: 216.8 birth_stat: mean","date: 50284800 value: 201.1 birth_stat: mean","date: 197078400 value: 169.7 birth_stat: mean","date: 470707200 value: 166.3 birth_stat: mean","date: 37929600 value: 204.7 birth_stat: mean","date: 22118400 value: 221.6 birth_stat: mean","date: 144028800 value: 187.7 birth_stat: mean","date: 594172800 value: 175.5 birth_stat: mean","date: 207964800 value: 177.7 birth_stat: mean","date: 113097600 value: 184.3 birth_stat: mean","date: 594777600 value: 171.2 birth_stat: mean","date: 568771200 value: 162.7 birth_stat: mean","date: 529977600 value: 170.8 birth_stat: mean","date: 1555200 value: 198.5 birth_stat: mean","date: 33696000 value: 215.6 birth_stat: mean","date: 34473600 value: 199.4 birth_stat: mean","date: 500601600 value: 215.4 birth_stat: mean","date: 86227200 value: 192.8 birth_stat: mean","date: 210384000 value: 185.8 birth_stat: mean","date: 189129600 value: 198.9 birth_stat: mean","date: 294278400 value: 186.6 birth_stat: mean","date: 105235200 value: 163.2 birth_stat: mean","date: 164246400 value: 176.5 birth_stat: mean","date: 511920000 value: 164.5 birth_stat: mean","date: 382924800 value: 203.4 birth_stat: mean","date: 71625600 value: 147.7 birth_stat: mean","date: 512092800 value: 218.5 birth_stat: mean","date: 398131200 value: 185.2 birth_stat: mean","date: 262742400 value: 140.2 birth_stat: mean","date: -18230400 value: 192.9 birth_stat: mean","date: 422841600 value: 205.4 birth_stat: mean","date: 67392000 value: 155.6 birth_stat: mean","date: 25660800 value: 181.7 birth_stat: mean","date: 5702400 value: 175.0 birth_stat: mean","date: 254102400 value: 182.7 birth_stat: mean","date: 333763200 value: 218.2 birth_stat: mean","date: 104371200 value: 164.2 birth_stat: mean","date: -28684800 value: 195.8 birth_stat: mean","date: 215827200 value: 176.8 birth_stat: mean","date: 258940800 value: 186.0 birth_stat: mean","date: 154396800 value: 158.9 birth_stat: mean","date: 562550400 value: 216.6 birth_stat: mean","date: 323395200 value: 198.9 birth_stat: mean","date: 263520000 value: 182.7 birth_stat: mean","date: 99964800 value: 165.3 birth_stat: mean","date: 36460800 value: 188.0 birth_stat: mean","date: 129081600 value: 145.7 birth_stat: mean","date: 465696000 value: 222.3 birth_stat: mean","date: 187920000 value: 187.4 birth_stat: mean","date: 278380800 value: 165.2 birth_stat: mean","date: 189907200 value: 165.0 birth_stat: mean","date: 499824000 value: 165.5 birth_stat: mean","date: 261187200 value: 169.0 birth_stat: mean","date: 97459200 value: 174.1 birth_stat: mean","date: 392083200 value: 174.9 birth_stat: mean","date: 103248000 value: 173.4 birth_stat: mean","date: 275270400 value: 203.3 birth_stat: mean","date: 227232000 value: 189.9 birth_stat: mean","date: 380073600 value: 167.1 birth_stat: mean","date: 143856000 value: 182.9 birth_stat: mean","date: 250646400 value: 147.1 birth_stat: mean","date: 173145600 value: 159.4 birth_stat: mean","date: 31536000 value: 173.5 birth_stat: mean","date: 526262400 value: 233.0 birth_stat: mean","date: 597801600 value: 165.7 birth_stat: mean","date: 222739200 value: 160.2 birth_stat: mean","date: 561513600 value: 162.2 birth_stat: mean","date: 182131200 value: 180.6 birth_stat: mean","date: 422582400 value: 215.1 birth_stat: mean","date: 595641600 value: 215.1 birth_stat: mean","date: 232761600 value: 184.6 birth_stat: mean","date: 427420800 value: 216.5 birth_stat: mean","date: 12009600 value: 196.9 birth_stat: mean","date: 551664000 value: 226.4 birth_stat: mean","date: 367286400 value: 191.0 birth_stat: mean","date: 407289600 value: 167.2 birth_stat: mean","date: -18662400 value: 179.5 birth_stat: mean","date: 393120000 value: 210.4 birth_stat: mean","date: 57542400 value: 194.5 birth_stat: mean","date: 199843200 value: 139.0 birth_stat: mean","date: 254448000 value: 184.8 birth_stat: mean","date: 126921600 value: 163.6 birth_stat: mean","date: 81561600 value: 183.9 birth_stat: mean","date: 564537600 value: 166.2 birth_stat: mean","date: -6393600 value: 168.4 birth_stat: mean","date: 163900800 value: 168.8 birth_stat: mean","date: -17539200 value: 200.4 birth_stat: mean","date: 428284800 value: 216.2 birth_stat: mean","date: 354067200 value: 165.8 birth_stat: mean","date: 427248000 value: 175.3 birth_stat: mean","date: 536716800 value: 161.9 birth_stat: mean","date: 259545600 value: 179.7 birth_stat: mean","date: 383443200 value: 203.3 birth_stat: mean","date: 82339200 value: 182.9 birth_stat: mean","date: 172540800 value: 156.1 birth_stat: mean","date: 6912000 value: 172.2 birth_stat: mean","date: 520905600 value: 178.6 birth_stat: mean","date: 554688000 value: 225.4 birth_stat: mean","date: 222912000 value: 181.3 birth_stat: mean","date: 500083200 value: 209.7 birth_stat: mean","date: 213753600 value: 163.0 birth_stat: mean","date: 544060800 value: 208.3 birth_stat: mean","date: 232329600 value: 182.6 birth_stat: mean","date: -9763200 value: 204.9 birth_stat: mean","date: 35251200 value: 182.6 birth_stat: mean","date: 128822400 value: 169.0 birth_stat: mean","date: 125798400 value: 186.5 birth_stat: mean","date: 256089600 value: 156.2 birth_stat: mean","date: 336182400 value: 215.8 birth_stat: mean","date: 96940800 value: 157.3 birth_stat: mean","date: 319161600 value: 201.0 birth_stat: mean","date: 154569600 value: 173.3 birth_stat: mean","date: 141868800 value: 170.7 birth_stat: mean","date: 5270400 value: 198.6 birth_stat: mean","date: 414892800 value: 208.0 birth_stat: mean","date: 144720000 value: 166.1 birth_stat: mean","date: 468201600 value: 204.6 birth_stat: mean","date: 92966400 value: 194.2 birth_stat: mean","date: 203385600 value: 154.8 birth_stat: mean","date: 202521600 value: 171.5 birth_stat: mean","date: -25747200 value: 164.6 birth_stat: mean","date: 52876800 value: 173.6 birth_stat: mean","date: 255830400 value: 181.6 birth_stat: mean","date: 135907200 value: 177.2 birth_stat: mean","date: 390441600 value: 207.3 birth_stat: mean","date: 583459200 value: 238.5 birth_stat: mean","date: 361756800 value: 206.3 birth_stat: mean","date: 319680000 value: 190.5 birth_stat: mean","date: 128217600 value: 170.4 birth_stat: mean","date: 203126400 value: 172.6 birth_stat: mean","date: 346464000 value: 176.1 birth_stat: mean","date: 234748800 value: 181.1 birth_stat: mean","date: 215136000 value: 184.4 birth_stat: mean","date: 162086400 value: 176.2 birth_stat: mean","date: 162950400 value: 144.8 birth_stat: mean","date: -23328000 value: 157.0 birth_stat: mean","date: 386899200 value: 208.2 birth_stat: mean","date: 103939200 value: 174.3 birth_stat: mean","date: 211593600 value: 195.6 birth_stat: mean","date: 51840000 value: 209.9 birth_stat: mean","date: 27907200 value: 218.2 birth_stat: mean","date: 282268800 value: 197.5 birth_stat: mean","date: 506995200 value: 176.9 birth_stat: mean","date: 193449600 value: 173.1 birth_stat: mean","date: 556156800 value: 227.2 birth_stat: mean","date: 533174400 value: 207.9 birth_stat: mean","date: 42249600 value: 182.5 birth_stat: mean","date: 138240000 value: 172.4 birth_stat: mean","date: -18144000 value: 188.0 birth_stat: mean","date: 552700800 value: 226.1 birth_stat: mean","date: 125020800 value: 187.0 birth_stat: mean","date: 45014400 value: 164.0 birth_stat: mean","date: 52704000 value: 211.5 birth_stat: mean","date: 124675200 value: 179.9 birth_stat: mean","date: 29462400 value: 220.0 birth_stat: mean","date: 572572800 value: 215.7 birth_stat: mean","date: 423705600 value: 203.4 birth_stat: mean","date: 67305600 value: 163.7 birth_stat: mean","date: 147225600 value: 155.1 birth_stat: mean","date: 543196800 value: 220.7 birth_stat: mean","date: 106617600 value: 151.0 birth_stat: mean","date: 439344000 value: 156.4 birth_stat: mean","date: 469584000 value: 162.7 birth_stat: mean","date: 416707200 value: 206.4 birth_stat: mean","date: 146188800 value: 199.1 birth_stat: mean","date: 228268800 value: 152.3 birth_stat: mean","date: 252806400 value: 177.5 birth_stat: mean","date: 181526400 value: 182.1 birth_stat: mean","date: 1987200 value: 185.7 birth_stat: mean","date: 536025600 value: 173.0 birth_stat: mean","date: 315100800 value: 206.0 birth_stat: mean","date: 360720000 value: 169.4 birth_stat: mean","date: 12441600 value: 197.6 birth_stat: mean","date: 69465600 value: 181.3 birth_stat: mean","date: 185068800 value: 173.0 birth_stat: mean","date: 232416000 value: 159.0 birth_stat: mean","date: 278208000 value: 186.6 birth_stat: mean","date: -16070400 value: 172.5 birth_stat: mean","date: 453254400 value: 160.8 birth_stat: mean","date: 269568000 value: 203.5 birth_stat: mean","date: 324000000 value: 202.4 birth_stat: mean","date: 355708800 value: 198.3 birth_stat: mean","date: 410745600 value: 195.0 birth_stat: mean","date: 265334400 value: 189.0 birth_stat: mean","date: 571017600 value: 214.6 birth_stat: mean","date: 116985600 value: 156.7 birth_stat: mean","date: 527299200 value: 230.5 birth_stat: mean","date: 340761600 value: 170.0 birth_stat: mean","date: 70675200 value: 174.1 birth_stat: mean","date: 46310400 value: 190.6 birth_stat: mean","date: 12873600 value: 173.9 birth_stat: mean","date: 108864000 value: 169.1 birth_stat: mean","date: 543715200 value: 214.0 birth_stat: mean","date: 502761600 value: 167.4 birth_stat: mean","date: 348278400 value: 204.3 birth_stat: mean","date: 32227200 value: 182.0 birth_stat: mean","date: 264470400 value: 158.4 birth_stat: mean","date: 371433600 value: 213.8 birth_stat: mean","date: 113702400 value: 184.7 birth_stat: mean","date: 304300800 value: 207.3 birth_stat: mean","date: 98409600 value: 174.4 birth_stat: mean","date: 343958400 value: 205.8 birth_stat: mean","date: 366595200 value: 224.2 birth_stat: mean","date: 573609600 value: 164.4 birth_stat: mean","date: 163296000 value: 173.3 birth_stat: mean","date: 411868800 value: 199.1 birth_stat: mean","date: 292982400 value: 149.3 birth_stat: mean","date: 274060800 value: 203.6 birth_stat: mean","date: 345600 value: 193.2 birth_stat: mean","date: 280195200 value: 165.6 birth_stat: mean","date: 488764800 value: 222.7 birth_stat: mean","date: 585878400 value: 242.0 birth_stat: mean","date: 230428800 value: 179.3 birth_stat: mean","date: 362620800 value: 205.9 birth_stat: mean","date: 56332800 value: 199.6 birth_stat: mean","date: 234576000 value: 180.5 birth_stat: mean","date: 270518400 value: 170.5 birth_stat: mean","date: 526953600 value: 188.2 birth_stat: mean","date: 91584000 value: 152.7 birth_stat: mean","date: 416966400 value: 167.1 birth_stat: mean","date: 81820800 value: 166.8 birth_stat: mean","date: 191116800 value: 174.4 birth_stat: mean","date: 296784000 value: 192.8 birth_stat: mean","date: 276307200 value: 195.0 birth_stat: mean","date: 168739200 value: 167.7 birth_stat: mean","date: 240451200 value: 193.2 birth_stat: mean","date: 390873600 value: 168.7 birth_stat: mean","date: -17452800 value: 193.2 birth_stat: mean","date: 120355200 value: 166.8 birth_stat: mean","date: 585792000 value: 228.3 birth_stat: mean","date: 399600000 value: 225.6 birth_stat: mean","date: 271382400 value: 205.1 birth_stat: mean","date: 569721600 value: 214.7 birth_stat: mean","date: 404092800 value: 204.5 birth_stat: mean","date: 238723200 value: 198.6 birth_stat: mean","date: 271468800 value: 199.3 birth_stat: mean","date: 360115200 value: 168.6 birth_stat: mean","date: 179193600 value: 166.0 birth_stat: mean","date: 505958400 value: 200.1 birth_stat: mean","date: 2764800 value: 206.7 birth_stat: mean","date: 96768000 value: 175.7 birth_stat: mean","date: 495072000 value: 227.9 birth_stat: mean","date: 551577600 value: 224.1 birth_stat: mean","date: 234057600 value: 183.2 birth_stat: mean","date: -29808000 value: 205.4 birth_stat: mean","date: 522115200 value: 184.7 birth_stat: mean","date: -9849600 value: 207.8 birth_stat: mean","date: 105062400 value: 170.2 birth_stat: mean","date: 336873600 value: 216.5 birth_stat: mean","date: 86313600 value: 199.1 birth_stat: mean","date: 180576000 value: 187.6 birth_stat: mean","date: 106444800 value: 167.6 birth_stat: mean","date: 599097600 value: 170.3 birth_stat: mean","date: 104198400 value: 148.6 birth_stat: mean","date: 259891200 value: 182.4 birth_stat: mean","date: 31795200 value: 196.9 birth_stat: mean","date: 382752000 value: 206.5 birth_stat: mean","date: 360547200 value: 203.3 birth_stat: mean","date: 258681600 value: 187.0 birth_stat: mean","date: 226713600 value: 183.5 birth_stat: mean","date: 467942400 value: 205.1 birth_stat: mean","date: 465264000 value: 192.4 birth_stat: mean","date: 282096000 value: 158.9 birth_stat: mean","date: 508291200 value: 166.1 birth_stat: mean","date: 419644800 value: 203.4 birth_stat: mean","date: 325814400 value: 199.1 birth_stat: mean","date: 364608000 value: 216.9 birth_stat: mean","date: -30499200 value: 192.8 birth_stat: mean","date: 510364800 value: 208.8 birth_stat: mean","date: 401932800 value: 226.2 birth_stat: mean","date: 501120000 value: 210.2 birth_stat: mean","date: 254275200 value: 148.5 birth_stat: mean","date: 294192000 value: 147.0 birth_stat: mean","date: 549331200 value: 181.9 birth_stat: mean","date: 383097600 value: 170.8 birth_stat: mean","date: 386208000 value: 200.3 birth_stat: mean"],"type":"scatter","mode":"markers","marker":{"autocolorscale":false,"color":"rgba(0,186,56,1)","opacity":1,"size":5.66929133858268,"symbol":"circle","line":{"width":1.88976377952756,"color":"rgba(0,186,56,1)"}},"hoveron":"points","name":"mean","legendgroup":"mean","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"x":[41817600,421804800,588038400,528076800,64108800,278985600,56246400,569980800,67564800,60393600,-19180800,248832000,470880000,270432000,114652800,560131200,382406400,338256000,238982400,239587200,164851200,316742400,587433600,105494400,203990400,566092800,240624000,-22723200,-8467200,236131200,73094400,157248000,91843200,548294400,195523200,110332800,477532800,571276800,2937600,531100800,238118400,465350400,9244800,149990400,177724800,542678400,249264000,191808000,299548800,458611200,419299200,546998400,462758400,392688000,327024000,292377600,468892800,188524800,493084800,384998400,189302400,278208000,332985600,175910400,113616000,-28425600,521683200,72403200,52012800,547430400,474076800,282355200,365299200,67219200,445564800,306806400,310003200,392860800,555120000,-25401600,293328000,294796800,120268800,-12182400,38793600,520128000,67996800,376617600,141868800,185155200,420336000,114393600,139968000,198547200,218246400,466905600,244944000,270086400,34992000,317606400,497664000,51062400,229564800,322876800,34560000,284256000,595468800,257126400,199152000,37843200,84844800,261100800,-2332800,502934400,577324800,94176000,81993600,15379200,162432000,422668800,347760000,53568000,597456000,211766400,25228800,243043200,116553600,216172800,430358400,200966400,150595200,383702400,119318400,255225600,136771200,387072000,558057600,280108800,-15120000,564019200,-9158400,562032000,25574400,1296000,221184000,256089600,144633600,293155200,568512000,-23068800,90633600,40262400,335577600,231984000,266457600,468460800,122083200,17193600,157939200,23932800,556934400,409190400,456624000,218505600,155520000,219628800,191203200,73008000,144806400,259372800,426816000,267235200,75945600,187833600,140486400,294019200,362620800,554688000,564451200,210902400,81216000,322272000,201139200,531792000,339292800,516499200,-18489600,54518400,457747200,21254400,485654400,71971200,543801600,37497600,374716800,393379200,43200000,545270400,525312000,108777600,305856000,568425600,89942400,-20822400,529200000,436492800,102643200,310348800,357004800,538272000,531964800,221097600,249091200,36892800,166924800,-17193600,62553600,-25574400,318384000,328924800,84067200,490320000,329702400,479692800,505008000,230515200,19267200,168048000,565315200,596160000,579052800,2073600,58060800,380073600,417398400,20044800,482025600,-7948800,416707200,14774400,569721600,295833600,304646400,258076800,108000000,282960000,432864000,265161600,45446400,118800000,267667200,434505600,114912000,362707200,205200000,577238400,524880000,113443200,309916800,139881600,127526400,111196800,442540800,395884800,129513600,340588800,-24710400,329443200,452217600,35337600,201571200,573177600,245548800,345254400,145411200,132364800,156902400,370137600,209520000,496972800,119836800,199929600,469929600,169862400,282441600,478224000,-27388800,572227200,-28166400,-17971200,43113600,-11923200,333244800,-26697600,347500800,5875200,67392000,387849600,257817600,229305600,200275200,129168000,510105600,-22636800,595641600,60566400,228441600,484876800,103593600,227577600,163555200,232588800,568684800,393292800,415238400,285465600,597974400,139536000,247449600,113961600,443318400,175996800,82252800,164073600,90720000,551750400,500428800,409968000,222480000,-10195200,137808000,467510400,-13651200,314064000,122256000,445132800,597369600,58233600,321408000,291513600,130118400,459475200,486691200,296438400,574819200,29808000,248659200,382233600,519350400,261360000,62208000,273888000,404697600,184204800,502416000,-18403200,262656000,445219200,241920000,72489600,387331200,204422400,301449600,135216000,63504000,340934400,294883200,170035200,452304000,62121600,248140800,20304000,33523200,-6739200,487036800,590284800,250473600,81043200,189648000,510796800,578880000,76377600,488160000,97286400,27388800,578016000,570412800,219369600,59616000,66441600,120960000,521337600,93312000,277948800,28166400,353203200,13737600,569376000,155692800,556675200,495936000,26352000,136857600,30153600,435456000,489110400,541987200,592272000,134524800,547776000,73440000,388281600,348019200,464140800,289785600,20995200,55641600,175824000,56073600,591494400,50284800,233884800,240796800,39225600,243388800,24364800,548380800,544147200,400377600,-8899200,547171200,202521600,11923200,194313600,249436800,1900800,225417600,48470400,271123200,255744000,406080000,115344000,112665600,229046400,574041600,126835200,572832000,1641600,219110400,414633600,276825600,483408000,334454400,373766400,377308800,325987200,344044800,385344000,458352000,170985600,539136000,270000000,326246400,11577600,485395200,7171200,159840000,213321600,52272000,332812800,22464000,18489600,542419200,225072000,-5097600,4147200,19008000,178934400,314150400,553824000,129600000,551059200,166320000,560476800,-24019200,510883200,81302400,123465600,70070400,555465600,41299200,122601600,592963200,524361600,156988800,14428800,564105600,415411200,482630400,20217600,53136000,76204800,210384000,130982400,340848000,316051200,394416000,-16588800,64195200,177379200,173145600,494812800,314323200,484012800,-27302400,347328000,488073600,137894400,154828800,333072000,418348800,109555200,61862400,330393600,207532800,206323200,90547200,558144000,567302400,456192000,309484800,50630400,239500800,543196800,92102400,415324800,269395200,340416000,328320000,587779200,412300800,200534400,168998400,78537600,283478400,354326400,419385600,569635200,433555200,31017600,320371200,349574400,418694400,451958400,514080000,545011200,443836800,-3456000,285379200,100137600,-2073600,455500800,170208000,552441600,368841600,226627200,126316800,442886400,78969600,38448000,336960000,330307200,426902400,92275200,196128000,226972800,164419200,360806400,334022400,477360000,27993600,172800,389923200,360201600,17280000,197510400,458697600,385603200,189475200,339984000,266976000,387244800,181958400,-25488000,271296000,348192000,327801600,310435200,90806400,571622400,67478400,229651200,440899200,191721600,487209600,73699200,436924800,535593600,528595200,85276800,66700800,251769600,243475200,329097600,174009600,363398400,9158400,517276800,95990400,121737600,348451200,109123200,317174400,55814400,475459200,187228800,421372800,45014400,294105600,166492800,503539200,455068800,174700800,532828800,243820800,507168000,250646400,528768000,507081600,287625600,171158400,131587200,563587200,535766400,65836800,257385600,281059200,3369600],"y":[20,19,17,22,18,16,16,15,20,2,16,10,23,16,14,18,16,16,15,16,14,21,19,7,16,18,22,14,12,10,13,14,14,22,15,2,19,20,16,22,22,15,14,14,18,18,10,15,19,11,19,17,20,16,21,17,14,12,19,20,12,21,26,18,16,14,25,12,10,21,17,19,22,14,22,17,16,20,20,12,13,14,6,18,10,23,10,20,1,12,14,10,16,14,1,20,18,16,8,18,27,6,18,17,18,15,21,18,14,12,12,14,14,18,22,12,18,8,14,18,13,18,19,20,20,10,12,10,16,17,12,11,14,18,10,21,22,23,14,16,14,15,18,18,10,12,20,16,20,16,16,10,21,18,12,14,14,6,13,14,13,21,22,13,19,17,10,17,8,9,22,24,14,18,7,18,23,22,10,15,16,20,14,13,25,21,8,12,20,22,20,12,20,22,21,22,14,21,27,8,16,20,10,16,19,26,14,15,17,17,18,16,21,16,14,18,12,12,18,26,14,21,21,20,21,10,16,10,16,23,14,16,20,18,22,20,21,2,25,20,13,22,20,22,17,17,21,10,16,4,18,12,16,19,13,10,21,16,18,10,8,14,20,26,12,22,12,22,24,16,12,19,16,20,12,10,8,17,16,20,15,17,14,18,17,21,14,15,12,14,4,14,16,12,24,14,8,16,19,18,22,12,14,20,19,10,14,23,6,12,6,14,8,21,19,24,20,16,15,10,19,10,16,18,14,12,15,24,20,12,17,22,12,15,14,23,19,12,12,22,14,22,20,23,15,12,18,24,20,18,16,14,23,12,27,18,13,24,20,14,18,14,20,14,8,21,20,23,22,10,13,16,12,14,18,22,16,14,16,20,15,10,25,14,10,17,20,22,24,12,14,21,12,14,12,22,16,9,8,19,25,18,8,18,22,25,20,17,14,21,14,22,15,17,19,12,14,22,20,21,10,22,19,12,20,14,21,17,25,14,26,16,8,16,12,20,22,16,13,16,19,16,16,16,20,10,14,10,13,22,20,21,22,11,21,24,23,18,16,12,11,16,17,20,23,12,12,20,12,24,14,24,24,16,4,4,8,16,14,24,11,21,8,13,6,23,14,14,6,12,14,8,17,25,10,18,16,17,23,8,16,16,18,14,20,18,20,14,10,12,17,26,19,16,14,10,24,18,14,16,20,8,10,18,16,15,12,17,14,10,21,12,18,18,18,16,14,18,21,15,20,12,14,12,14,20,20,17,29,12,22,24,18,21,25,23,18,12,16,16,18,24,18,18,19,20,14,14,18,18,22,19,20,14,14,14,14,23,10,15,12,16,20,16,22,14,15,19,12,19,13,14,16,12,23,21,17,15,18,15,18,18,14,15,25,14,15,22,26,16,16,14,10,23,22,22,10,14,14,13,24,5,17,14,18,5,23,10,15,14,19,21,14,15,13,20,9,15,14,15,15,16,20,9,19,22,19,12],"text":["date: 41817600 value: 20.0 birth_stat: min","date: 421804800 value: 19.0 birth_stat: min","date: 588038400 value: 17.0 birth_stat: min","date: 528076800 value: 22.0 birth_stat: min","date: 64108800 value: 18.0 birth_stat: min","date: 278985600 value: 16.0 birth_stat: min","date: 56246400 value: 16.0 birth_stat: min","date: 569980800 value: 15.0 birth_stat: min","date: 67564800 value: 20.0 birth_stat: min","date: 60393600 value: 2.0 birth_stat: min","date: -19180800 value: 16.0 birth_stat: min","date: 248832000 value: 10.0 birth_stat: min","date: 470880000 value: 23.0 birth_stat: min","date: 270432000 value: 16.0 birth_stat: min","date: 114652800 value: 14.0 birth_stat: min","date: 560131200 value: 18.0 birth_stat: min","date: 382406400 value: 16.0 birth_stat: min","date: 338256000 value: 16.0 birth_stat: min","date: 238982400 value: 15.0 birth_stat: min","date: 239587200 value: 16.0 birth_stat: min","date: 164851200 value: 14.0 birth_stat: min","date: 316742400 value: 21.0 birth_stat: min","date: 587433600 value: 19.0 birth_stat: min","date: 105494400 value: 7.0 birth_stat: min","date: 203990400 value: 16.0 birth_stat: min","date: 566092800 value: 18.0 birth_stat: min","date: 240624000 value: 22.0 birth_stat: min","date: -22723200 value: 14.0 birth_stat: min","date: -8467200 value: 12.0 birth_stat: min","date: 236131200 value: 10.0 birth_stat: min","date: 73094400 value: 13.0 birth_stat: min","date: 157248000 value: 14.0 birth_stat: min","date: 91843200 value: 14.0 birth_stat: min","date: 548294400 value: 22.0 birth_stat: min","date: 195523200 value: 15.0 birth_stat: min","date: 110332800 value: 2.0 birth_stat: min","date: 477532800 value: 19.0 birth_stat: min","date: 571276800 value: 20.0 birth_stat: min","date: 2937600 value: 16.0 birth_stat: min","date: 531100800 value: 22.0 birth_stat: min","date: 238118400 value: 22.0 birth_stat: min","date: 465350400 value: 15.0 birth_stat: min","date: 9244800 value: 14.0 birth_stat: min","date: 149990400 value: 14.0 birth_stat: min","date: 177724800 value: 18.0 birth_stat: min","date: 542678400 value: 18.0 birth_stat: min","date: 249264000 value: 10.0 birth_stat: min","date: 191808000 value: 15.0 birth_stat: min","date: 299548800 value: 19.0 birth_stat: min","date: 458611200 value: 11.0 birth_stat: min","date: 419299200 value: 19.0 birth_stat: min","date: 546998400 value: 17.0 birth_stat: min","date: 462758400 value: 20.0 birth_stat: min","date: 392688000 value: 16.0 birth_stat: min","date: 327024000 value: 21.0 birth_stat: min","date: 292377600 value: 17.0 birth_stat: min","date: 468892800 value: 14.0 birth_stat: min","date: 188524800 value: 12.0 birth_stat: min","date: 493084800 value: 19.0 birth_stat: min","date: 384998400 value: 20.0 birth_stat: min","date: 189302400 value: 12.0 birth_stat: min","date: 278208000 value: 21.0 birth_stat: min","date: 332985600 value: 26.0 birth_stat: min","date: 175910400 value: 18.0 birth_stat: min","date: 113616000 value: 16.0 birth_stat: min","date: -28425600 value: 14.0 birth_stat: min","date: 521683200 value: 25.0 birth_stat: min","date: 72403200 value: 12.0 birth_stat: min","date: 52012800 value: 10.0 birth_stat: min","date: 547430400 value: 21.0 birth_stat: min","date: 474076800 value: 17.0 birth_stat: min","date: 282355200 value: 19.0 birth_stat: min","date: 365299200 value: 22.0 birth_stat: min","date: 67219200 value: 14.0 birth_stat: min","date: 445564800 value: 22.0 birth_stat: min","date: 306806400 value: 17.0 birth_stat: min","date: 310003200 value: 16.0 birth_stat: min","date: 392860800 value: 20.0 birth_stat: min","date: 555120000 value: 20.0 birth_stat: min","date: -25401600 value: 12.0 birth_stat: min","date: 293328000 value: 13.0 birth_stat: min","date: 294796800 value: 14.0 birth_stat: min","date: 120268800 value: 6.0 birth_stat: min","date: -12182400 value: 18.0 birth_stat: min","date: 38793600 value: 10.0 birth_stat: min","date: 520128000 value: 23.0 birth_stat: min","date: 67996800 value: 10.0 birth_stat: min","date: 376617600 value: 20.0 birth_stat: min","date: 141868800 value: 1.0 birth_stat: min","date: 185155200 value: 12.0 birth_stat: min","date: 420336000 value: 14.0 birth_stat: min","date: 114393600 value: 10.0 birth_stat: min","date: 139968000 value: 16.0 birth_stat: min","date: 198547200 value: 14.0 birth_stat: min","date: 218246400 value: 1.0 birth_stat: min","date: 466905600 value: 20.0 birth_stat: min","date: 244944000 value: 18.0 birth_stat: min","date: 270086400 value: 16.0 birth_stat: min","date: 34992000 value: 8.0 birth_stat: min","date: 317606400 value: 18.0 birth_stat: min","date: 497664000 value: 27.0 birth_stat: min","date: 51062400 value: 6.0 birth_stat: min","date: 229564800 value: 18.0 birth_stat: min","date: 322876800 value: 17.0 birth_stat: min","date: 34560000 value: 18.0 birth_stat: min","date: 284256000 value: 15.0 birth_stat: min","date: 595468800 value: 21.0 birth_stat: min","date: 257126400 value: 18.0 birth_stat: min","date: 199152000 value: 14.0 birth_stat: min","date: 37843200 value: 12.0 birth_stat: min","date: 84844800 value: 12.0 birth_stat: min","date: 261100800 value: 14.0 birth_stat: min","date: -2332800 value: 14.0 birth_stat: min","date: 502934400 value: 18.0 birth_stat: min","date: 577324800 value: 22.0 birth_stat: min","date: 94176000 value: 12.0 birth_stat: min","date: 81993600 value: 18.0 birth_stat: min","date: 15379200 value: 8.0 birth_stat: min","date: 162432000 value: 14.0 birth_stat: min","date: 422668800 value: 18.0 birth_stat: min","date: 347760000 value: 13.0 birth_stat: min","date: 53568000 value: 18.0 birth_stat: min","date: 597456000 value: 19.0 birth_stat: min","date: 211766400 value: 20.0 birth_stat: min","date: 25228800 value: 20.0 birth_stat: min","date: 243043200 value: 10.0 birth_stat: min","date: 116553600 value: 12.0 birth_stat: min","date: 216172800 value: 10.0 birth_stat: min","date: 430358400 value: 16.0 birth_stat: min","date: 200966400 value: 17.0 birth_stat: min","date: 150595200 value: 12.0 birth_stat: min","date: 383702400 value: 11.0 birth_stat: min","date: 119318400 value: 14.0 birth_stat: min","date: 255225600 value: 18.0 birth_stat: min","date: 136771200 value: 10.0 birth_stat: min","date: 387072000 value: 21.0 birth_stat: min","date: 558057600 value: 22.0 birth_stat: min","date: 280108800 value: 23.0 birth_stat: min","date: -15120000 value: 14.0 birth_stat: min","date: 564019200 value: 16.0 birth_stat: min","date: -9158400 value: 14.0 birth_stat: min","date: 562032000 value: 15.0 birth_stat: min","date: 25574400 value: 18.0 birth_stat: min","date: 1296000 value: 18.0 birth_stat: min","date: 221184000 value: 10.0 birth_stat: min","date: 256089600 value: 12.0 birth_stat: min","date: 144633600 value: 20.0 birth_stat: min","date: 293155200 value: 16.0 birth_stat: min","date: 568512000 value: 20.0 birth_stat: min","date: -23068800 value: 16.0 birth_stat: min","date: 90633600 value: 16.0 birth_stat: min","date: 40262400 value: 10.0 birth_stat: min","date: 335577600 value: 21.0 birth_stat: min","date: 231984000 value: 18.0 birth_stat: min","date: 266457600 value: 12.0 birth_stat: min","date: 468460800 value: 14.0 birth_stat: min","date: 122083200 value: 14.0 birth_stat: min","date: 17193600 value: 6.0 birth_stat: min","date: 157939200 value: 13.0 birth_stat: min","date: 23932800 value: 14.0 birth_stat: min","date: 556934400 value: 13.0 birth_stat: min","date: 409190400 value: 21.0 birth_stat: min","date: 456624000 value: 22.0 birth_stat: min","date: 218505600 value: 13.0 birth_stat: min","date: 155520000 value: 19.0 birth_stat: min","date: 219628800 value: 17.0 birth_stat: min","date: 191203200 value: 10.0 birth_stat: min","date: 73008000 value: 17.0 birth_stat: min","date: 144806400 value: 8.0 birth_stat: min","date: 259372800 value: 9.0 birth_stat: min","date: 426816000 value: 22.0 birth_stat: min","date: 267235200 value: 24.0 birth_stat: min","date: 75945600 value: 14.0 birth_stat: min","date: 187833600 value: 18.0 birth_stat: min","date: 140486400 value: 7.0 birth_stat: min","date: 294019200 value: 18.0 birth_stat: min","date: 362620800 value: 23.0 birth_stat: min","date: 554688000 value: 22.0 birth_stat: min","date: 564451200 value: 10.0 birth_stat: min","date: 210902400 value: 15.0 birth_stat: min","date: 81216000 value: 16.0 birth_stat: min","date: 322272000 value: 20.0 birth_stat: min","date: 201139200 value: 14.0 birth_stat: min","date: 531792000 value: 13.0 birth_stat: min","date: 339292800 value: 25.0 birth_stat: min","date: 516499200 value: 21.0 birth_stat: min","date: -18489600 value: 8.0 birth_stat: min","date: 54518400 value: 12.0 birth_stat: min","date: 457747200 value: 20.0 birth_stat: min","date: 21254400 value: 22.0 birth_stat: min","date: 485654400 value: 20.0 birth_stat: min","date: 71971200 value: 12.0 birth_stat: min","date: 543801600 value: 20.0 birth_stat: min","date: 37497600 value: 22.0 birth_stat: min","date: 374716800 value: 21.0 birth_stat: min","date: 393379200 value: 22.0 birth_stat: min","date: 43200000 value: 14.0 birth_stat: min","date: 545270400 value: 21.0 birth_stat: min","date: 525312000 value: 27.0 birth_stat: min","date: 108777600 value: 8.0 birth_stat: min","date: 305856000 value: 16.0 birth_stat: min","date: 568425600 value: 20.0 birth_stat: min","date: 89942400 value: 10.0 birth_stat: min","date: -20822400 value: 16.0 birth_stat: min","date: 529200000 value: 19.0 birth_stat: min","date: 436492800 value: 26.0 birth_stat: min","date: 102643200 value: 14.0 birth_stat: min","date: 310348800 value: 15.0 birth_stat: min","date: 357004800 value: 17.0 birth_stat: min","date: 538272000 value: 17.0 birth_stat: min","date: 531964800 value: 18.0 birth_stat: min","date: 221097600 value: 16.0 birth_stat: min","date: 249091200 value: 21.0 birth_stat: min","date: 36892800 value: 16.0 birth_stat: min","date: 166924800 value: 14.0 birth_stat: min","date: -17193600 value: 18.0 birth_stat: min","date: 62553600 value: 12.0 birth_stat: min","date: -25574400 value: 12.0 birth_stat: min","date: 318384000 value: 18.0 birth_stat: min","date: 328924800 value: 26.0 birth_stat: min","date: 84067200 value: 14.0 birth_stat: min","date: 490320000 value: 21.0 birth_stat: min","date: 329702400 value: 21.0 birth_stat: min","date: 479692800 value: 20.0 birth_stat: min","date: 505008000 value: 21.0 birth_stat: min","date: 230515200 value: 10.0 birth_stat: min","date: 19267200 value: 16.0 birth_stat: min","date: 168048000 value: 10.0 birth_stat: min","date: 565315200 value: 16.0 birth_stat: min","date: 596160000 value: 23.0 birth_stat: min","date: 579052800 value: 14.0 birth_stat: min","date: 2073600 value: 16.0 birth_stat: min","date: 58060800 value: 20.0 birth_stat: min","date: 380073600 value: 18.0 birth_stat: min","date: 417398400 value: 22.0 birth_stat: min","date: 20044800 value: 20.0 birth_stat: min","date: 482025600 value: 21.0 birth_stat: min","date: -7948800 value: 2.0 birth_stat: min","date: 416707200 value: 25.0 birth_stat: min","date: 14774400 value: 20.0 birth_stat: min","date: 569721600 value: 13.0 birth_stat: min","date: 295833600 value: 22.0 birth_stat: min","date: 304646400 value: 20.0 birth_stat: min","date: 258076800 value: 22.0 birth_stat: min","date: 108000000 value: 17.0 birth_stat: min","date: 282960000 value: 17.0 birth_stat: min","date: 432864000 value: 21.0 birth_stat: min","date: 265161600 value: 10.0 birth_stat: min","date: 45446400 value: 16.0 birth_stat: min","date: 118800000 value: 4.0 birth_stat: min","date: 267667200 value: 18.0 birth_stat: min","date: 434505600 value: 12.0 birth_stat: min","date: 114912000 value: 16.0 birth_stat: min","date: 362707200 value: 19.0 birth_stat: min","date: 205200000 value: 13.0 birth_stat: min","date: 577238400 value: 10.0 birth_stat: min","date: 524880000 value: 21.0 birth_stat: min","date: 113443200 value: 16.0 birth_stat: min","date: 309916800 value: 18.0 birth_stat: min","date: 139881600 value: 10.0 birth_stat: min","date: 127526400 value: 8.0 birth_stat: min","date: 111196800 value: 14.0 birth_stat: min","date: 442540800 value: 20.0 birth_stat: min","date: 395884800 value: 26.0 birth_stat: min","date: 129513600 value: 12.0 birth_stat: min","date: 340588800 value: 22.0 birth_stat: min","date: -24710400 value: 12.0 birth_stat: min","date: 329443200 value: 22.0 birth_stat: min","date: 452217600 value: 24.0 birth_stat: min","date: 35337600 value: 16.0 birth_stat: min","date: 201571200 value: 12.0 birth_stat: min","date: 573177600 value: 19.0 birth_stat: min","date: 245548800 value: 16.0 birth_stat: min","date: 345254400 value: 20.0 birth_stat: min","date: 145411200 value: 12.0 birth_stat: min","date: 132364800 value: 10.0 birth_stat: min","date: 156902400 value: 8.0 birth_stat: min","date: 370137600 value: 17.0 birth_stat: min","date: 209520000 value: 16.0 birth_stat: min","date: 496972800 value: 20.0 birth_stat: min","date: 119836800 value: 15.0 birth_stat: min","date: 199929600 value: 17.0 birth_stat: min","date: 469929600 value: 14.0 birth_stat: min","date: 169862400 value: 18.0 birth_stat: min","date: 282441600 value: 17.0 birth_stat: min","date: 478224000 value: 21.0 birth_stat: min","date: -27388800 value: 14.0 birth_stat: min","date: 572227200 value: 15.0 birth_stat: min","date: -28166400 value: 12.0 birth_stat: min","date: -17971200 value: 14.0 birth_stat: min","date: 43113600 value: 4.0 birth_stat: min","date: -11923200 value: 14.0 birth_stat: min","date: 333244800 value: 16.0 birth_stat: min","date: -26697600 value: 12.0 birth_stat: min","date: 347500800 value: 24.0 birth_stat: min","date: 5875200 value: 14.0 birth_stat: min","date: 67392000 value: 8.0 birth_stat: min","date: 387849600 value: 16.0 birth_stat: min","date: 257817600 value: 19.0 birth_stat: min","date: 229305600 value: 18.0 birth_stat: min","date: 200275200 value: 22.0 birth_stat: min","date: 129168000 value: 12.0 birth_stat: min","date: 510105600 value: 14.0 birth_stat: min","date: -22636800 value: 20.0 birth_stat: min","date: 595641600 value: 19.0 birth_stat: min","date: 60566400 value: 10.0 birth_stat: min","date: 228441600 value: 14.0 birth_stat: min","date: 484876800 value: 23.0 birth_stat: min","date: 103593600 value: 6.0 birth_stat: min","date: 227577600 value: 12.0 birth_stat: min","date: 163555200 value: 6.0 birth_stat: min","date: 232588800 value: 14.0 birth_stat: min","date: 568684800 value: 8.0 birth_stat: min","date: 393292800 value: 21.0 birth_stat: min","date: 415238400 value: 19.0 birth_stat: min","date: 285465600 value: 24.0 birth_stat: min","date: 597974400 value: 20.0 birth_stat: min","date: 139536000 value: 16.0 birth_stat: min","date: 247449600 value: 15.0 birth_stat: min","date: 113961600 value: 10.0 birth_stat: min","date: 443318400 value: 19.0 birth_stat: min","date: 175996800 value: 10.0 birth_stat: min","date: 82252800 value: 16.0 birth_stat: min","date: 164073600 value: 18.0 birth_stat: min","date: 90720000 value: 14.0 birth_stat: min","date: 551750400 value: 12.0 birth_stat: min","date: 500428800 value: 15.0 birth_stat: min","date: 409968000 value: 24.0 birth_stat: min","date: 222480000 value: 20.0 birth_stat: min","date: -10195200 value: 12.0 birth_stat: min","date: 137808000 value: 17.0 birth_stat: min","date: 467510400 value: 22.0 birth_stat: min","date: -13651200 value: 12.0 birth_stat: min","date: 314064000 value: 15.0 birth_stat: min","date: 122256000 value: 14.0 birth_stat: min","date: 445132800 value: 23.0 birth_stat: min","date: 597369600 value: 19.0 birth_stat: min","date: 58233600 value: 12.0 birth_stat: min","date: 321408000 value: 12.0 birth_stat: min","date: 291513600 value: 22.0 birth_stat: min","date: 130118400 value: 14.0 birth_stat: min","date: 459475200 value: 22.0 birth_stat: min","date: 486691200 value: 20.0 birth_stat: min","date: 296438400 value: 23.0 birth_stat: min","date: 574819200 value: 15.0 birth_stat: min","date: 29808000 value: 12.0 birth_stat: min","date: 248659200 value: 18.0 birth_stat: min","date: 382233600 value: 24.0 birth_stat: min","date: 519350400 value: 20.0 birth_stat: min","date: 261360000 value: 18.0 birth_stat: min","date: 62208000 value: 16.0 birth_stat: min","date: 273888000 value: 14.0 birth_stat: min","date: 404697600 value: 23.0 birth_stat: min","date: 184204800 value: 12.0 birth_stat: min","date: 502416000 value: 27.0 birth_stat: min","date: -18403200 value: 18.0 birth_stat: min","date: 262656000 value: 13.0 birth_stat: min","date: 445219200 value: 24.0 birth_stat: min","date: 241920000 value: 20.0 birth_stat: min","date: 72489600 value: 14.0 birth_stat: min","date: 387331200 value: 18.0 birth_stat: min","date: 204422400 value: 14.0 birth_stat: min","date: 301449600 value: 20.0 birth_stat: min","date: 135216000 value: 14.0 birth_stat: min","date: 63504000 value: 8.0 birth_stat: min","date: 340934400 value: 21.0 birth_stat: min","date: 294883200 value: 20.0 birth_stat: min","date: 170035200 value: 23.0 birth_stat: min","date: 452304000 value: 22.0 birth_stat: min","date: 62121600 value: 10.0 birth_stat: min","date: 248140800 value: 13.0 birth_stat: min","date: 20304000 value: 16.0 birth_stat: min","date: 33523200 value: 12.0 birth_stat: min","date: -6739200 value: 14.0 birth_stat: min","date: 487036800 value: 18.0 birth_stat: min","date: 590284800 value: 22.0 birth_stat: min","date: 250473600 value: 16.0 birth_stat: min","date: 81043200 value: 14.0 birth_stat: min","date: 189648000 value: 16.0 birth_stat: min","date: 510796800 value: 20.0 birth_stat: min","date: 578880000 value: 15.0 birth_stat: min","date: 76377600 value: 10.0 birth_stat: min","date: 488160000 value: 25.0 birth_stat: min","date: 97286400 value: 14.0 birth_stat: min","date: 27388800 value: 10.0 birth_stat: min","date: 578016000 value: 17.0 birth_stat: min","date: 570412800 value: 20.0 birth_stat: min","date: 219369600 value: 22.0 birth_stat: min","date: 59616000 value: 24.0 birth_stat: min","date: 66441600 value: 12.0 birth_stat: min","date: 120960000 value: 14.0 birth_stat: min","date: 521337600 value: 21.0 birth_stat: min","date: 93312000 value: 12.0 birth_stat: min","date: 277948800 value: 14.0 birth_stat: min","date: 28166400 value: 12.0 birth_stat: min","date: 353203200 value: 22.0 birth_stat: min","date: 13737600 value: 16.0 birth_stat: min","date: 569376000 value: 9.0 birth_stat: min","date: 155692800 value: 8.0 birth_stat: min","date: 556675200 value: 19.0 birth_stat: min","date: 495936000 value: 25.0 birth_stat: min","date: 26352000 value: 18.0 birth_stat: min","date: 136857600 value: 8.0 birth_stat: min","date: 30153600 value: 18.0 birth_stat: min","date: 435456000 value: 22.0 birth_stat: min","date: 489110400 value: 25.0 birth_stat: min","date: 541987200 value: 20.0 birth_stat: min","date: 592272000 value: 17.0 birth_stat: min","date: 134524800 value: 14.0 birth_stat: min","date: 547776000 value: 21.0 birth_stat: min","date: 73440000 value: 14.0 birth_stat: min","date: 388281600 value: 22.0 birth_stat: min","date: 348019200 value: 15.0 birth_stat: min","date: 464140800 value: 17.0 birth_stat: min","date: 289785600 value: 19.0 birth_stat: min","date: 20995200 value: 12.0 birth_stat: min","date: 55641600 value: 14.0 birth_stat: min","date: 175824000 value: 22.0 birth_stat: min","date: 56073600 value: 20.0 birth_stat: min","date: 591494400 value: 21.0 birth_stat: min","date: 50284800 value: 10.0 birth_stat: min","date: 233884800 value: 22.0 birth_stat: min","date: 240796800 value: 19.0 birth_stat: min","date: 39225600 value: 12.0 birth_stat: min","date: 243388800 value: 20.0 birth_stat: min","date: 24364800 value: 14.0 birth_stat: min","date: 548380800 value: 21.0 birth_stat: min","date: 544147200 value: 17.0 birth_stat: min","date: 400377600 value: 25.0 birth_stat: min","date: -8899200 value: 14.0 birth_stat: min","date: 547171200 value: 26.0 birth_stat: min","date: 202521600 value: 16.0 birth_stat: min","date: 11923200 value: 8.0 birth_stat: min","date: 194313600 value: 16.0 birth_stat: min","date: 249436800 value: 12.0 birth_stat: min","date: 1900800 value: 20.0 birth_stat: min","date: 225417600 value: 22.0 birth_stat: min","date: 48470400 value: 16.0 birth_stat: min","date: 271123200 value: 13.0 birth_stat: min","date: 255744000 value: 16.0 birth_stat: min","date: 406080000 value: 19.0 birth_stat: min","date: 115344000 value: 16.0 birth_stat: min","date: 112665600 value: 16.0 birth_stat: min","date: 229046400 value: 16.0 birth_stat: min","date: 574041600 value: 20.0 birth_stat: min","date: 126835200 value: 10.0 birth_stat: min","date: 572832000 value: 14.0 birth_stat: min","date: 1641600 value: 10.0 birth_stat: min","date: 219110400 value: 13.0 birth_stat: min","date: 414633600 value: 22.0 birth_stat: min","date: 276825600 value: 20.0 birth_stat: min","date: 483408000 value: 21.0 birth_stat: min","date: 334454400 value: 22.0 birth_stat: min","date: 373766400 value: 11.0 birth_stat: min","date: 377308800 value: 21.0 birth_stat: min","date: 325987200 value: 24.0 birth_stat: min","date: 344044800 value: 23.0 birth_stat: min","date: 385344000 value: 18.0 birth_stat: min","date: 458352000 value: 16.0 birth_stat: min","date: 170985600 value: 12.0 birth_stat: min","date: 539136000 value: 11.0 birth_stat: min","date: 270000000 value: 16.0 birth_stat: min","date: 326246400 value: 17.0 birth_stat: min","date: 11577600 value: 20.0 birth_stat: min","date: 485395200 value: 23.0 birth_stat: min","date: 7171200 value: 12.0 birth_stat: min","date: 159840000 value: 12.0 birth_stat: min","date: 213321600 value: 20.0 birth_stat: min","date: 52272000 value: 12.0 birth_stat: min","date: 332812800 value: 24.0 birth_stat: min","date: 22464000 value: 14.0 birth_stat: min","date: 18489600 value: 24.0 birth_stat: min","date: 542419200 value: 24.0 birth_stat: min","date: 225072000 value: 16.0 birth_stat: min","date: -5097600 value: 4.0 birth_stat: min","date: 4147200 value: 4.0 birth_stat: min","date: 19008000 value: 8.0 birth_stat: min","date: 178934400 value: 16.0 birth_stat: min","date: 314150400 value: 14.0 birth_stat: min","date: 553824000 value: 24.0 birth_stat: min","date: 129600000 value: 11.0 birth_stat: min","date: 551059200 value: 21.0 birth_stat: min","date: 166320000 value: 8.0 birth_stat: min","date: 560476800 value: 13.0 birth_stat: min","date: -24019200 value: 6.0 birth_stat: min","date: 510883200 value: 23.0 birth_stat: min","date: 81302400 value: 14.0 birth_stat: min","date: 123465600 value: 14.0 birth_stat: min","date: 70070400 value: 6.0 birth_stat: min","date: 555465600 value: 12.0 birth_stat: min","date: 41299200 value: 14.0 birth_stat: min","date: 122601600 value: 8.0 birth_stat: min","date: 592963200 value: 17.0 birth_stat: min","date: 524361600 value: 25.0 birth_stat: min","date: 156988800 value: 10.0 birth_stat: min","date: 14428800 value: 18.0 birth_stat: min","date: 564105600 value: 16.0 birth_stat: min","date: 415411200 value: 17.0 birth_stat: min","date: 482630400 value: 23.0 birth_stat: min","date: 20217600 value: 8.0 birth_stat: min","date: 53136000 value: 16.0 birth_stat: min","date: 76204800 value: 16.0 birth_stat: min","date: 210384000 value: 18.0 birth_stat: min","date: 130982400 value: 14.0 birth_stat: min","date: 340848000 value: 20.0 birth_stat: min","date: 316051200 value: 18.0 birth_stat: min","date: 394416000 value: 20.0 birth_stat: min","date: -16588800 value: 14.0 birth_stat: min","date: 64195200 value: 10.0 birth_stat: min","date: 177379200 value: 12.0 birth_stat: min","date: 173145600 value: 17.0 birth_stat: min","date: 494812800 value: 26.0 birth_stat: min","date: 314323200 value: 19.0 birth_stat: min","date: 484012800 value: 16.0 birth_stat: min","date: -27302400 value: 14.0 birth_stat: min","date: 347328000 value: 10.0 birth_stat: min","date: 488073600 value: 24.0 birth_stat: min","date: 137894400 value: 18.0 birth_stat: min","date: 154828800 value: 14.0 birth_stat: min","date: 333072000 value: 16.0 birth_stat: min","date: 418348800 value: 20.0 birth_stat: min","date: 109555200 value: 8.0 birth_stat: min","date: 61862400 value: 10.0 birth_stat: min","date: 330393600 value: 18.0 birth_stat: min","date: 207532800 value: 16.0 birth_stat: min","date: 206323200 value: 15.0 birth_stat: min","date: 90547200 value: 12.0 birth_stat: min","date: 558144000 value: 17.0 birth_stat: min","date: 567302400 value: 14.0 birth_stat: min","date: 456192000 value: 10.0 birth_stat: min","date: 309484800 value: 21.0 birth_stat: min","date: 50630400 value: 12.0 birth_stat: min","date: 239500800 value: 18.0 birth_stat: min","date: 543196800 value: 18.0 birth_stat: min","date: 92102400 value: 18.0 birth_stat: min","date: 415324800 value: 16.0 birth_stat: min","date: 269395200 value: 14.0 birth_stat: min","date: 340416000 value: 18.0 birth_stat: min","date: 328320000 value: 21.0 birth_stat: min","date: 587779200 value: 15.0 birth_stat: min","date: 412300800 value: 20.0 birth_stat: min","date: 200534400 value: 12.0 birth_stat: min","date: 168998400 value: 14.0 birth_stat: min","date: 78537600 value: 12.0 birth_stat: min","date: 283478400 value: 14.0 birth_stat: min","date: 354326400 value: 20.0 birth_stat: min","date: 419385600 value: 20.0 birth_stat: min","date: 569635200 value: 17.0 birth_stat: min","date: 433555200 value: 29.0 birth_stat: min","date: 31017600 value: 12.0 birth_stat: min","date: 320371200 value: 22.0 birth_stat: min","date: 349574400 value: 24.0 birth_stat: min","date: 418694400 value: 18.0 birth_stat: min","date: 451958400 value: 21.0 birth_stat: min","date: 514080000 value: 25.0 birth_stat: min","date: 545011200 value: 23.0 birth_stat: min","date: 443836800 value: 18.0 birth_stat: min","date: -3456000 value: 12.0 birth_stat: min","date: 285379200 value: 16.0 birth_stat: min","date: 100137600 value: 16.0 birth_stat: min","date: -2073600 value: 18.0 birth_stat: min","date: 455500800 value: 24.0 birth_stat: min","date: 170208000 value: 18.0 birth_stat: min","date: 552441600 value: 18.0 birth_stat: min","date: 368841600 value: 19.0 birth_stat: min","date: 226627200 value: 20.0 birth_stat: min","date: 126316800 value: 14.0 birth_stat: min","date: 442886400 value: 14.0 birth_stat: min","date: 78969600 value: 18.0 birth_stat: min","date: 38448000 value: 18.0 birth_stat: min","date: 336960000 value: 22.0 birth_stat: min","date: 330307200 value: 19.0 birth_stat: min","date: 426902400 value: 20.0 birth_stat: min","date: 92275200 value: 14.0 birth_stat: min","date: 196128000 value: 14.0 birth_stat: min","date: 226972800 value: 14.0 birth_stat: min","date: 164419200 value: 14.0 birth_stat: min","date: 360806400 value: 23.0 birth_stat: min","date: 334022400 value: 10.0 birth_stat: min","date: 477360000 value: 15.0 birth_stat: min","date: 27993600 value: 12.0 birth_stat: min","date: 172800 value: 16.0 birth_stat: min","date: 389923200 value: 20.0 birth_stat: min","date: 360201600 value: 16.0 birth_stat: min","date: 17280000 value: 22.0 birth_stat: min","date: 197510400 value: 14.0 birth_stat: min","date: 458697600 value: 15.0 birth_stat: min","date: 385603200 value: 19.0 birth_stat: min","date: 189475200 value: 12.0 birth_stat: min","date: 339984000 value: 19.0 birth_stat: min","date: 266976000 value: 13.0 birth_stat: min","date: 387244800 value: 14.0 birth_stat: min","date: 181958400 value: 16.0 birth_stat: min","date: -25488000 value: 12.0 birth_stat: min","date: 271296000 value: 23.0 birth_stat: min","date: 348192000 value: 21.0 birth_stat: min","date: 327801600 value: 17.0 birth_stat: min","date: 310435200 value: 15.0 birth_stat: min","date: 90806400 value: 18.0 birth_stat: min","date: 571622400 value: 15.0 birth_stat: min","date: 67478400 value: 18.0 birth_stat: min","date: 229651200 value: 18.0 birth_stat: min","date: 440899200 value: 14.0 birth_stat: min","date: 191721600 value: 15.0 birth_stat: min","date: 487209600 value: 25.0 birth_stat: min","date: 73699200 value: 14.0 birth_stat: min","date: 436924800 value: 15.0 birth_stat: min","date: 535593600 value: 22.0 birth_stat: min","date: 528595200 value: 26.0 birth_stat: min","date: 85276800 value: 16.0 birth_stat: min","date: 66700800 value: 16.0 birth_stat: min","date: 251769600 value: 14.0 birth_stat: min","date: 243475200 value: 10.0 birth_stat: min","date: 329097600 value: 23.0 birth_stat: min","date: 174009600 value: 22.0 birth_stat: min","date: 363398400 value: 22.0 birth_stat: min","date: 9158400 value: 10.0 birth_stat: min","date: 517276800 value: 14.0 birth_stat: min","date: 95990400 value: 14.0 birth_stat: min","date: 121737600 value: 13.0 birth_stat: min","date: 348451200 value: 24.0 birth_stat: min","date: 109123200 value: 5.0 birth_stat: min","date: 317174400 value: 17.0 birth_stat: min","date: 55814400 value: 14.0 birth_stat: min","date: 475459200 value: 18.0 birth_stat: min","date: 187228800 value: 5.0 birth_stat: min","date: 421372800 value: 23.0 birth_stat: min","date: 45014400 value: 10.0 birth_stat: min","date: 294105600 value: 15.0 birth_stat: min","date: 166492800 value: 14.0 birth_stat: min","date: 503539200 value: 19.0 birth_stat: min","date: 455068800 value: 21.0 birth_stat: min","date: 174700800 value: 14.0 birth_stat: min","date: 532828800 value: 15.0 birth_stat: min","date: 243820800 value: 13.0 birth_stat: min","date: 507168000 value: 20.0 birth_stat: min","date: 250646400 value: 9.0 birth_stat: min","date: 528768000 value: 15.0 birth_stat: min","date: 507081600 value: 14.0 birth_stat: min","date: 287625600 value: 15.0 birth_stat: min","date: 171158400 value: 15.0 birth_stat: min","date: 131587200 value: 16.0 birth_stat: min","date: 563587200 value: 20.0 birth_stat: min","date: 535766400 value: 9.0 birth_stat: min","date: 65836800 value: 19.0 birth_stat: min","date: 257385600 value: 22.0 birth_stat: min","date: 281059200 value: 19.0 birth_stat: min","date: 3369600 value: 12.0 birth_stat: min"],"type":"scatter","mode":"markers","marker":{"autocolorscale":false,"color":"rgba(97,156,255,1)","opacity":1,"size":5.66929133858268,"symbol":"circle","line":{"width":1.88976377952756,"color":"rgba(97,156,255,1)"}},"hoveron":"points","name":"min","legendgroup":"min","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null}],"layout":{"margin":{"t":24.7671232876712,"r":7.30593607305936,"b":38.7214611872146,"l":48.9497716894977},"plot_bgcolor":"rgba(235,235,235,1)","paper_bgcolor":"rgba(255,255,255,1)","font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"xaxis":{"domain":[0,1],"type":"linear","autorange":false,"tickmode":"array","range":[-61979040,630577440],"ticktext":["1970","1975","1980","1985"],"tickvals":[0,157766400,315532800,473385600],"ticks":"outside","tickcolor":"rgba(51,51,51,1)","ticklen":3.65296803652968,"tickwidth":0.66417600664176,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.689497716895},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(255,255,255,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"y","title":"date","titlefont":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"hoverformat":".2f"},"yaxis":{"domain":[0,1],"type":"linear","autorange":false,"tickmode":"array","range":[-82.5,1754.5],"ticktext":["0","500","1000","1500"],"tickvals":[0,500,1000,1500],"ticks":"outside","tickcolor":"rgba(51,51,51,1)","ticklen":3.65296803652968,"tickwidth":0.66417600664176,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.689497716895},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(255,255,255,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"x","title":"value","titlefont":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"hoverformat":".2f"},"shapes":[{"type":"rect","fillcolor":null,"line":{"color":null,"width":0,"linetype":[]},"yref":"paper","xref":"paper","x0":0,"x1":1,"y0":0,"y1":1}],"showlegend":true,"legend":{"bgcolor":"rgba(255,255,255,1)","bordercolor":"transparent","borderwidth":1.88976377952756,"font":{"color":"rgba(0,0,0,1)","family":"","size":11.689497716895},"y":0.913385826771654},"annotations":[{"text":"birth_stat","x":1.02,"y":1,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"left","yanchor":"bottom","legendTitle":true}],"hovermode":"closest"},"source":"A","attrs":{"1f7a1cae023c":{"x":{},"y":{},"colour":{},"type":"ggplotly"}},"cur_data":"1f7a1cae023c","visdat":{"1f7a1cae023c":["function (y) ","x"]},"config":{"modeBarButtonsToAdd":[{"name":"Collaborate","icon":{"width":1000,"ascent":500,"descent":-50,"path":"M487 375c7-10 9-23 5-36l-79-259c-3-12-11-23-22-31-11-8-22-12-35-12l-263 0c-15 0-29 5-43 15-13 10-23 23-28 37-5 13-5 25-1 37 0 0 0 3 1 7 1 5 1 8 1 11 0 2 0 4-1 6 0 3-1 5-1 6 1 2 2 4 3 6 1 2 2 4 4 6 2 3 4 5 5 7 5 7 9 16 13 26 4 10 7 19 9 26 0 2 0 5 0 9-1 4-1 6 0 8 0 2 2 5 4 8 3 3 5 5 5 7 4 6 8 15 12 26 4 11 7 19 7 26 1 1 0 4 0 9-1 4-1 7 0 8 1 2 3 5 6 8 4 4 6 6 6 7 4 5 8 13 13 24 4 11 7 20 7 28 1 1 0 4 0 7-1 3-1 6-1 7 0 2 1 4 3 6 1 1 3 4 5 6 2 3 3 5 5 6 1 2 3 5 4 9 2 3 3 7 5 10 1 3 2 6 4 10 2 4 4 7 6 9 2 3 4 5 7 7 3 2 7 3 11 3 3 0 8 0 13-1l0-1c7 2 12 2 14 2l218 0c14 0 25-5 32-16 8-10 10-23 6-37l-79-259c-7-22-13-37-20-43-7-7-19-10-37-10l-248 0c-5 0-9-2-11-5-2-3-2-7 0-12 4-13 18-20 41-20l264 0c5 0 10 2 16 5 5 3 8 6 10 11l85 282c2 5 2 10 2 17 7-3 13-7 17-13z m-304 0c-1-3-1-5 0-7 1-1 3-2 6-2l174 0c2 0 4 1 7 2 2 2 4 4 5 7l6 18c0 3 0 5-1 7-1 1-3 2-6 2l-173 0c-3 0-5-1-8-2-2-2-4-4-4-7z m-24-73c-1-3-1-5 0-7 2-2 3-2 6-2l174 0c2 0 5 0 7 2 3 2 4 4 5 7l6 18c1 2 0 5-1 6-1 2-3 3-5 3l-174 0c-3 0-5-1-7-3-3-1-4-4-5-6z"},"click":"function(gd) { \n // is this being viewed in RStudio?\n if (location.search == '?viewer_pane=1') {\n alert('To learn about plotly for collaboration, visit:\\n https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html');\n } else {\n window.open('https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html', '_blank');\n }\n }"}],"cloud":false},"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.2,"selected":{"opacity":1}},"base_url":"https://plot.ly"},"evals":["config.modeBarButtonsToAdd.0.click"],"jsHooks":{"render":[{"code":"function(el, x) { var ctConfig = crosstalk.var('plotlyCrosstalkOpts').set({\"on\":\"plotly_click\",\"persistent\":false,\"dynamic\":false,\"selectize\":false,\"opacityDim\":0.2,\"selected\":{\"opacity\":1}}); }","data":null}]}} Whilst using plot_ly() we obtain… plot_ly(date, x = ~date, y = ~value, color = ~birth_stat, type = "scatter") {"x":{"visdat":{"1f7a3b6792cf":["function () ","plotlyVisDat"]},"cur_data":"1f7a3b6792cf","attrs":{"1f7a3b6792cf":{"x":{},"y":{},"color":{},"alpha":1,"sizes":[10,100],"type":"scatter"}},"layout":{"margin":{"b":40,"l":60,"t":25,"r":10},"xaxis":{"domain":[0,1],"title":"date"},"yaxis":{"domain":[0,1],"title":"value"},"hovermode":"closest","showlegend":true},"source":"A","config":{"modeBarButtonsToAdd":[{"name":"Collaborate","icon":{"width":1000,"ascent":500,"descent":-50,"path":"M487 375c7-10 9-23 5-36l-79-259c-3-12-11-23-22-31-11-8-22-12-35-12l-263 0c-15 0-29 5-43 15-13 10-23 23-28 37-5 13-5 25-1 37 0 0 0 3 1 7 1 5 1 8 1 11 0 2 0 4-1 6 0 3-1 5-1 6 1 2 2 4 3 6 1 2 2 4 4 6 2 3 4 5 5 7 5 7 9 16 13 26 4 10 7 19 9 26 0 2 0 5 0 9-1 4-1 6 0 8 0 2 2 5 4 8 3 3 5 5 5 7 4 6 8 15 12 26 4 11 7 19 7 26 1 1 0 4 0 9-1 4-1 7 0 8 1 2 3 5 6 8 4 4 6 6 6 7 4 5 8 13 13 24 4 11 7 20 7 28 1 1 0 4 0 7-1 3-1 6-1 7 0 2 1 4 3 6 1 1 3 4 5 6 2 3 3 5 5 6 1 2 3 5 4 9 2 3 3 7 5 10 1 3 2 6 4 10 2 4 4 7 6 9 2 3 4 5 7 7 3 2 7 3 11 3 3 0 8 0 13-1l0-1c7 2 12 2 14 2l218 0c14 0 25-5 32-16 8-10 10-23 6-37l-79-259c-7-22-13-37-20-43-7-7-19-10-37-10l-248 0c-5 0-9-2-11-5-2-3-2-7 0-12 4-13 18-20 41-20l264 0c5 0 10 2 16 5 5 3 8 6 10 11l85 282c2 5 2 10 2 17 7-3 13-7 17-13z m-304 0c-1-3-1-5 0-7 1-1 3-2 6-2l174 0c2 0 4 1 7 2 2 2 4 4 5 7l6 18c0 3 0 5-1 7-1 1-3 2-6 2l-173 0c-3 0-5-1-8-2-2-2-4-4-4-7z m-24-73c-1-3-1-5 0-7 2-2 3-2 6-2l174 0c2 0 5 0 7 2 3 2 4 4 5 7l6 18c1 2 0 5-1 6-1 2-3 3-5 3l-174 0c-3 0-5-1-7-3-3-1-4-4-5-6z"},"click":"function(gd) { \n // is this being viewed in RStudio?\n if (location.search == '?viewer_pane=1') {\n alert('To learn about plotly for collaboration, visit:\\n https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html');\n } else {\n window.open('https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html', '_blank');\n }\n }"}],"cloud":false},"data":[{"x":["1983-06-27","1982-11-22","1985-08-31","1970-03-14","1975-03-01","1972-01-11","1988-06-20","1975-08-10","1985-01-12","1981-02-11","1978-07-26","1969-01-17","1976-07-30","1972-05-07","1978-03-03","1975-11-21","1976-04-07","1972-11-04","1970-06-22","1980-07-21","1983-08-16","1974-11-03","1981-05-10","1979-03-16","1982-05-08","1980-09-06","1975-06-23","1986-06-07","1971-08-06","1974-04-02","1971-07-03","1981-05-09","1975-07-15","1976-08-19","1977-06-08","1988-04-13","1984-03-04","1987-04-12","1972-09-08","1971-09-16","1988-03-09","1988-11-29","1974-01-13","1984-05-18","1987-09-26","1969-09-15","1972-06-21","1973-07-03","1980-07-09","1982-04-24","1975-06-15","1981-06-11","1972-02-03","1979-01-17","1979-12-19","1982-04-19","1973-02-08","1982-09-29","1981-09-30","1981-03-08","1974-02-06","1972-02-06","1985-02-20","1971-05-03","1984-02-24","1978-12-24","1975-07-19","1971-09-01","1986-02-18","1974-05-09","1985-04-29","1977-08-22","1985-08-20","1985-08-28","1983-11-15","1979-09-15","1969-12-08","1969-12-02","1983-01-08","1984-12-08","1974-03-14","1984-05-02","1984-06-02","1975-09-08","1970-08-23","1973-09-24","1988-06-06","1974-08-28","1981-02-20","1987-02-10","1969-05-03","1983-12-30","1987-08-22","1977-02-14","1978-10-06","1971-07-31","1986-04-24","1987-11-20","1979-07-20","1985-05-14","1977-01-05","1975-03-26","1974-01-16","1987-04-16","1976-12-27","1988-02-17","1987-06-14","1988-06-14","1971-11-01","1975-04-27","1986-11-29","1979-01-18","1981-04-27","1978-06-01","1978-05-15","1970-06-18","1970-03-24","1983-10-07","1988-01-05","1979-12-31","1986-09-09","1975-12-21","1978-01-08","1985-10-10","1983-07-10","1985-03-19","1981-11-18","1984-07-30","1971-08-15","1974-12-29","1984-05-14","1987-07-06","1973-01-06","1975-09-06","1970-07-21","1969-11-27","1977-06-04","1983-11-13","1978-04-28","1980-09-25","1984-01-16","1976-02-24","1972-06-30","1983-02-16","1984-05-25","1985-09-03","1986-12-29","1984-02-10","1971-01-14","1969-07-13","1985-01-29","1970-10-31","1979-09-11","1969-08-11","1973-08-15","1978-11-06","1984-07-23","1980-06-25","1984-02-02","1978-08-16","1969-05-09","1985-10-31","1978-10-18","1973-05-07","1980-03-25","1971-08-24","1970-12-27","1977-07-28","1970-07-12","1983-05-11","1976-02-09","1973-06-06","1985-01-19","1987-03-13","1984-12-04","1987-04-09","1971-11-12","1979-12-09","1982-01-03","1974-01-26","1977-01-06","1977-06-29","1971-10-04","1982-01-14","1969-09-11","1984-12-19","1977-05-13","1978-03-23","1972-01-27","1984-06-05","1985-03-11","1970-05-20","1974-06-04","1977-06-19","1976-07-08","1983-03-14","1972-10-02","1985-12-05","1985-11-15","1984-06-22","1983-07-12","1970-09-07","1978-08-28","1983-09-05","1978-12-21","1977-04-11","1969-03-01","1981-09-09","1983-05-01","1975-02-23","1979-03-13","1983-11-08","1978-02-01","1972-09-26","1979-06-22","1975-06-27","1982-03-01","1973-09-06","1977-02-28","1987-03-20","1973-10-12","1974-03-29","1982-06-05","1976-08-28","1974-11-04","1985-05-17","1983-01-02","1981-04-30","1972-08-11","1983-09-26","1970-05-09","1971-01-23","1988-04-27","1974-06-17","1973-07-09","1981-07-18","1970-01-01","1978-05-18","1971-05-01","1972-07-27","1987-12-30","1977-02-13","1987-11-08","1981-04-12","1984-09-02","1974-01-05","1979-03-15","1971-02-08","1979-09-19","1970-01-06","1976-06-27","1986-08-29","1972-08-06","1986-11-02","1981-07-01","1987-12-29","1971-04-17","1978-11-25","1983-08-14","1988-12-16","1975-08-19","1978-08-23","1985-02-16","1972-01-26","1983-09-24","1984-06-18","1987-05-13","1982-06-15","1981-12-17","1970-06-02","1971-11-28","1976-05-03","1979-03-21","1971-01-08","1969-05-24","1981-07-14","1977-10-23","1973-12-09","1979-05-19","1984-03-08","1982-05-04","1970-04-10","1983-08-05","1971-11-09","1985-07-14","1970-07-15","1970-09-08","1985-02-07","1975-11-20","1971-09-05","1986-01-21","1983-05-30","1984-05-22","1980-10-13","1974-03-13","1975-03-29","1976-11-12","1973-02-13","1987-12-31","1974-05-22","1970-04-30","1969-06-20","1979-11-21","1984-10-21","1985-08-09","1980-05-09","1976-04-06","1970-08-15","1982-03-17","1971-03-23","1972-03-03","1982-06-14","1978-06-07","1981-11-17","1972-06-14","1981-05-02","1976-01-26","1979-03-06","1979-09-18","1988-06-10","1980-03-18","1985-10-24","1971-01-02","1985-12-06","1984-04-24","1974-12-03","1987-10-08","1986-05-19","1987-08-08","1988-04-14","1986-04-17","1973-06-30","1988-09-12","1977-01-16","1983-01-23","1987-05-07","1980-04-02","1979-03-05","1988-07-24","1986-08-12","1977-03-23","1972-09-12","1969-04-27","1988-04-24","1987-07-21","1986-09-25","1982-09-01","1980-10-08","1979-04-28","1971-12-16","1981-10-28","1986-05-23","1982-01-29","1983-03-17","1980-05-10","1970-06-14","1975-07-07","1980-09-05","1969-09-10","1969-02-27","1972-12-27","1987-04-28","1982-02-05","1982-07-08","1986-05-17","1974-02-01","1988-08-31","1970-12-24","1988-02-04","1973-02-09","1974-06-02","1976-06-01","1972-03-04","1980-05-08","1986-05-15","1978-02-22","1975-06-04","1974-08-15","1973-11-30","1974-08-06","1976-08-25","1969-10-16","1978-02-24","1984-08-15","1982-08-09","1983-02-27","1975-01-07","1972-04-24","1986-04-15","1973-11-07","1981-02-14","1987-01-14","1973-03-12","1982-02-02","1983-03-15","1975-05-11","1970-12-29","1986-01-15","1971-01-18","1981-12-09","1977-01-23","1969-01-14","1977-09-10","1970-09-24","1986-05-01","1982-06-20","1986-08-02","1975-05-16","1985-06-05","1978-09-28","1983-06-29","1981-12-02","1983-05-22","1985-10-11","1988-09-06","1972-02-21","1980-02-10","1985-08-11","1986-09-26","1980-08-31","1971-08-27","1969-12-05","1982-02-19","1972-02-15","1977-11-13","1974-05-14","1969-03-25","1981-06-21","1970-11-30","1972-01-18","1987-06-08","1979-10-07","1974-04-08","1984-01-14","1983-07-14","1971-11-22","1987-05-29","1973-02-18","1988-01-17","1987-07-20","1976-02-10","1976-09-07","1978-08-20","1971-07-04","1980-04-13","1984-07-14","1986-10-23","1969-05-10","1986-01-17","1980-11-22","1977-05-14","1980-01-20","1975-10-03","1973-01-17","1981-11-13","1976-03-10","1975-04-30","1978-04-23","1982-04-26","1969-05-28","1986-07-13","1970-10-14","1977-12-01","1969-05-31","1983-10-18","1974-08-13","1986-02-01","1980-04-03","1982-11-21","1981-11-02","1979-08-24","1988-08-11","1988-12-13","1974-03-15","1975-12-01","1982-05-11","1981-05-29","1977-05-29","1982-10-09","1969-01-18","1985-06-10","1987-05-16","1974-02-28","1970-01-05","1987-01-16","1975-03-23","1985-11-17","1975-12-31","1975-07-16","1975-01-15","1978-06-19","1969-02-10","1979-05-11","1971-03-29","1985-07-04","1977-08-10","1976-06-29","1988-06-19","1982-11-27","1978-04-17","1982-10-06","1985-07-07","1987-12-04","1970-10-12","1983-08-27","1976-01-23","1976-01-28","1973-04-17","1976-12-03","1969-11-20","1983-05-28","1975-06-25","1976-06-22","1982-09-02","1982-04-15","1970-04-11","1979-03-25","1985-08-08","1978-03-14","1974-12-06","1980-05-27","1977-01-12","1976-05-07","1985-08-03","1977-06-16","1971-01-11","1971-11-25","1977-09-29","1987-10-18","1976-07-26","1977-06-07","1974-04-30","1974-10-17","1983-10-26","1970-10-15","1976-03-27","1979-12-26","1980-01-10","1974-08-22","1973-03-28","1973-12-06","1977-11-20","1979-12-12","1975-09-22","1986-08-23","1975-09-20","1978-01-21","1971-08-09","1978-08-10","1988-02-22","1970-07-23","1977-08-15","1980-12-06","1972-10-22","1983-03-19","1972-09-19","1971-02-23","1975-03-04","1985-02-27","1979-04-06","1983-12-14","1987-07-17","1982-06-17","1975-10-20","1981-11-19","1977-09-02","1977-11-26","1983-09-21","1978-05-12","1985-10-22","1984-10-09","1984-04-30","1977-01-30","1980-11-07","1982-11-07","1974-08-30","1970-11-17","1970-03-30","1986-10-11","1979-12-22","1972-07-07","1975-05-02","1984-03-14","1982-05-16","1973-07-21","1979-10-17","1970-10-26","1982-02-17","1983-07-21","1985-06-25","1988-01-01","1985-04-07","1974-04-09","1987-07-18","1971-09-12","1986-11-07","1969-09-04","1976-09-20","1981-12-15","1981-05-20","1979-08-14","1970-01-31","1980-05-29","1977-11-27","1984-08-06","1987-03-10","1985-09-08","1982-02-07","1969-11-15","1985-01-02","1984-03-31","1970-12-23","1983-10-08","1986-10-10","1974-01-07","1981-11-26","1979-11-26","1973-11-18","1970-06-29","1985-02-19","1985-11-12","1982-07-17","1988-02-27","1971-04-18","1976-12-15","1983-05-27","1982-01-15","1976-02-05","1977-03-29","1974-04-20","1982-10-03","1972-07-01","1986-01-13","1974-01-08","1972-03-12","1984-01-13","1983-01-21","1972-02-26","1987-09-23","1973-06-05","1970-03-02","1973-04-02","1972-06-03","1978-12-15","1983-02-24","1970-05-26","1977-06-05","1977-08-28","1985-09-09","1985-05-12","1974-08-08","1981-01-08","1983-06-17","1986-03-17","1985-11-10","1982-12-27","1970-06-19","1973-05-13","1979-10-01","1988-09-07","1981-12-01","1971-02-15","1972-01-04","1973-04-19","1978-11-14","1986-07-25","1982-06-25","1987-01-26","1972-10-17","1986-06-11","1983-03-08","1979-10-27","1971-09-24","1969-12-22","1974-05-06","1984-12-21","1975-02-17","1986-05-10","1975-09-27","1971-04-09","1988-01-15"],"y":[1286,1272,1288,970,694,928,1508,778,1107,1152,1066,936,1026,758,922,922,922,804,1006,1144,1386,754,1090,1110,1100,1120,962,1118,942,906,882,1072,880,994,944,1470,1050,1136,994,938,1381,1613,658,1184,1313,994,788,872,1140,1060,736,1246,904,1058,1082,1278,788,1206,1250,984,828,744,1312,876,1164,894,770,906,1327,856,1276,1066,1454,1447,1238,1080,1020,1032,1086,1066,802,1300,1104,1028,832,884,1508,984,1206,1489,854,1204,1281,950,1028,1028,1309,1468,1076,1408,940,858,824,1397,964,1502,1123,1633,890,768,1111,956,1076,1028,1032,982,1008,1362,1440,1086,1545,774,802,1459,1074,1336,1164,1246,838,702,1208,1403,672,860,1166,824,906,1110,1028,1170,1120,946,838,1256,1324,1464,1441,1276,942,930,1342,906,1170,1032,914,1030,1274,1118,1164,1040,978,1323,974,766,1252,946,858,1122,848,1280,876,830,1158,1410,1298,1525,908,914,1062,758,928,1052,1072,1138,1038,1310,952,946,716,1196,1239,966,896,794,934,1244,844,1349,1412,1190,1284,882,1008,1020,990,928,930,1286,978,734,980,1176,962,918,1114,868,1122,860,916,1480,784,866,1084,930,846,1298,1058,1220,910,1300,928,976,1626,934,786,1074,764,1044,924,912,1550,886,1159,990,1086,748,1040,904,1228,982,776,1479,836,1063,1168,1598,820,948,1092,1556,874,1004,1104,882,1122,1386,1369,1276,1246,1020,700,896,1148,956,866,1152,846,758,860,1194,1256,1002,1326,830,1117,986,1158,1332,822,780,1295,1024,1264,1060,818,748,972,816,1417,922,896,1024,1120,964,1459,1116,904,934,1168,924,884,1250,1098,1282,744,1028,920,978,1148,1528,1154,1355,798,1324,1250,856,1451,1379,1278,1454,1349,736,1588,804,968,1414,1102,990,1246,1416,956,890,846,1206,1521,1466,1254,1182,852,896,1214,1420,1292,1246,972,876,960,1264,1080,888,916,1430,1122,1422,1118,842,1604,882,1455,804,702,944,742,1076,1437,980,940,956,874,998,1002,922,964,1376,1252,1106,862,850,1382,818,1032,1393,842,1168,1206,794,1154,1346,1082,1196,800,1036,978,1030,1407,1066,1214,968,1317,1122,1416,1226,1014,1374,1653,738,936,1186,1497,1030,896,970,1142,896,896,874,1010,1034,1048,906,1483,906,822,1068,1334,832,1477,702,1142,1481,860,996,894,762,926,1120,1336,862,1331,990,844,852,926,902,1174,894,912,842,1190,996,1129,1010,986,874,1304,990,1098,1056,1038,1268,1074,1643,1534,858,936,1292,1218,806,1086,904,1389,1173,866,938,1396,852,1136,1000,944,942,1000,982,1118,990,1126,1010,920,1275,1002,904,1334,1131,1494,1088,1128,812,866,884,960,1018,1082,934,852,1310,1252,992,930,1441,1024,888,1202,1048,856,1261,1014,960,666,1070,1149,1008,994,826,862,1298,1096,834,986,1034,880,814,828,842,1146,1000,1268,916,800,928,1006,1396,1000,1012,990,770,1040,972,940,848,1240,1044,1202,1516,1226,832,1158,1022,876,1332,990,1363,1492,1256,928,1196,1032,966,1084,1032,1165,918,956,890,1208,1000,746,1080,1060,1256,1194,1316,1182,1126,884,1190,884,1387,1042,1078,1194,1060,1284,852,1094,852,1446,1385,1162,966,898,1135,1078,1012,1140,1472,874,950,1018,732,960,1205,1390,1202,1255,764,992,1256,1112,878,994,782,1036,744,1261,834,758,1252,1220,808,1524,834,1038,848,750,1056,1292,1026,796,916,1434,1065,908,1068,1262,1375,1091,1232,1072,764,1054,1671,1266,854,770,832,1050,1480,1242,1399,880,1423,1258,960,1012,1032,808,1388,660,1210,838,884,1464],"type":"scatter","mode":"markers","name":"max","marker":{"fillcolor":"rgba(102,194,165,0.5)","color":"rgba(102,194,165,1)","line":{"color":"transparent"}},"xaxis":"x","yaxis":"y","frame":null},{"x":["1984-12-06","1981-02-06","1972-09-15","1981-05-09","1979-08-04","1981-09-19","1976-07-11","1985-01-06","1969-10-21","1980-02-27","1975-06-20","1970-05-26","1983-08-27","1973-03-26","1974-12-15","1987-12-06","1986-07-27","1988-11-20","1984-06-08","1974-01-15","1988-12-17","1988-06-13","1981-02-11","1976-04-10","1983-09-03","1977-07-25","1983-04-27","1972-07-10","1985-02-21","1981-09-25","1976-09-22","1977-11-06","1969-10-13","1975-02-28","1979-05-08","1981-05-19","1982-08-22","1973-08-06","1971-02-14","1983-03-29","1984-05-22","1979-06-10","1975-04-05","1988-08-04","1979-10-11","1973-06-26","1985-07-19","1981-09-02","1985-12-18","1972-10-19","1988-12-23","1986-06-25","1980-05-19","1980-04-04","1975-01-01","1985-11-05","1975-07-25","1987-11-28","1984-11-26","1981-12-31","1984-12-27","1979-10-09","1976-09-04","1984-03-27","1974-12-14","1987-04-26","1984-08-04","1978-10-30","1988-02-19","1984-04-19","1971-10-05","1976-10-21","1987-03-10","1977-06-18","1981-07-07","1976-11-15","1975-06-15","1983-09-10","1987-10-21","1985-06-24","1978-10-13","1972-10-27","1979-01-19","1972-09-08","1975-06-18","1979-01-13","1986-09-12","1980-05-22","1979-09-27","1970-08-25","1971-11-04","1977-03-18","1988-01-15","1978-03-03","1976-10-30","1982-02-07","1982-05-28","1976-10-12","1988-05-11","1974-11-14","1976-01-15","1971-12-27","1974-08-13","1979-06-08","1973-01-18","1977-05-08","1980-06-08","1984-10-21","1973-12-01","1987-06-23","1984-10-31","1986-05-09","1973-07-24","1978-04-05","1979-06-04","1979-02-23","1972-10-07","1985-09-12","1973-11-08","1975-06-10","1988-09-01","1985-05-03","1973-03-14","1982-08-05","1982-01-31","1979-06-14","1982-09-08","1983-03-13","1975-09-10","1977-09-07","1977-06-19","1978-02-15","1987-05-15","1977-09-17","1979-11-26","1969-08-28","1987-02-18","1977-06-04","1974-01-08","1973-04-06","1975-03-07","1972-01-26","1971-06-11","1986-04-15","1984-07-14","1976-04-09","1973-02-12","1979-01-02","1972-03-08","1972-10-25","1978-07-11","1969-02-11","1984-04-29","1978-07-30","1975-11-30","1983-02-05","1978-02-13","1980-02-19","1969-02-09","1976-11-13","1970-05-03","1986-03-08","1978-08-22","1972-03-27","1969-06-23","1979-12-25","1988-08-23","1976-07-08","1970-09-21","1988-09-12","1985-04-03","1975-11-11","1971-07-14","1988-09-19","1979-03-02","1988-03-27","1980-07-15","1975-10-01","1969-08-24","1974-07-02","1971-11-27","1976-10-07","1988-12-25","1983-02-14","1985-05-30","1978-04-04","1983-09-23","1974-07-08","1971-01-23","1973-06-29","1983-03-09","1977-08-10","1975-03-23","1977-11-29","1988-11-03","1972-05-06","1981-05-26","1976-12-16","1987-12-09","1983-12-03","1987-04-24","1987-05-28","1974-09-13","1972-10-12","1986-07-29","1980-10-06","1982-01-30","1970-10-17","1974-07-16","1980-04-12","1972-05-24","1980-08-08","1976-03-06","1986-05-04","1985-02-01","1977-05-12","1969-09-07","1973-08-14","1978-09-29","1973-04-03","1975-12-26","1970-08-06","1977-07-04","1969-04-12","1984-03-26","1988-05-09","1971-12-30","1971-12-12","1986-04-07","1985-06-09","1974-01-04","1971-06-23","1984-09-24","1980-11-23","1976-01-16","1976-06-13","1980-02-22","1982-01-16","1978-03-01","1980-12-09","1979-04-22","1978-07-20","1969-12-18","1970-08-24","1981-01-27","1978-07-28","1985-11-29","1971-08-23","1979-04-12","1972-05-08","1988-10-27","1982-09-20","1970-12-29","1984-10-17","1988-07-27","1970-11-01","1983-01-08","1971-01-27","1981-09-15","1986-08-26","1973-05-29","1976-10-05","1982-10-10","1971-04-07","1971-12-06","1981-07-24","1971-02-02","1984-01-13","1983-04-17","1982-07-18","1970-03-19","1984-04-03","1970-12-31","1972-08-14","1973-06-04","1981-11-22","1969-08-27","1983-11-24","1988-02-18","1988-01-14","1969-01-28","1972-10-15","1973-12-12","1969-10-03","1988-04-28","1975-11-12","1971-02-24","1969-07-21","1978-04-20","1984-09-10","1979-10-29","1981-12-27","1972-07-25","1972-06-12","1977-07-10","1971-06-20","1972-10-30","1970-01-13","1978-01-23","1987-09-12","1971-04-03","1985-08-08","1982-10-18","1984-08-14","1986-12-03","1980-12-12","1972-01-12","1974-05-18","1979-03-19","1984-01-23","1969-07-25","1976-03-19","1986-05-08","1982-09-30","1977-07-03","1972-10-24","1970-05-23","1976-11-23","1978-02-27","1976-08-30","1980-08-16","1976-09-07","1985-02-27","1979-12-15","1984-03-16","1975-10-11","1971-03-29","1973-11-11","1976-08-02","1984-03-19","1969-04-30","1978-12-29","1978-07-15","1984-08-05","1988-08-17","1988-03-26","1980-03-22","1977-09-23","1982-03-04","1978-04-26","1979-10-02","1971-08-19","1978-04-29","1973-07-31","1975-08-29","1978-04-27","1987-08-05","1978-03-07","1981-08-07","1969-02-12","1970-07-27","1988-04-09","1970-11-17","1975-06-04","1982-10-16","1986-01-31","1969-10-16","1983-06-18","1976-01-02","1976-07-09","1988-09-26","1982-01-08","1986-07-18","1975-05-21","1984-11-06","1984-06-25","1987-10-11","1975-04-03","1979-01-27","1984-02-13","1978-02-08","1985-06-01","1978-05-05","1987-03-14","1984-08-24","1974-12-01","1973-07-04","1983-02-28","1970-06-01","1981-09-03","1975-12-08","1973-10-17","1985-01-21","1987-09-01","1984-07-10","1976-10-13","1973-03-24","1981-09-05","1971-04-30","1988-07-14","1978-11-17","1969-12-24","1972-10-02","1980-10-03","1987-10-20","1981-08-19","1971-08-06","1976-03-31","1984-12-01","1971-03-16","1970-09-14","1974-07-26","1988-10-30","1976-08-04","1973-08-02","1988-11-06","1988-01-10","1986-10-18","1970-01-19","1971-01-26","1971-02-04","1985-11-12","1972-09-25","1976-09-01","1975-12-30","1979-04-30","1973-05-03","1975-03-17","1986-03-23","1982-02-19","1972-04-09","1986-03-25","1982-08-14","1978-04-30","1969-06-04","1983-05-27","1972-02-20","1970-10-25","1970-03-08","1978-01-20","1980-07-30","1973-04-23","1969-02-03","1976-11-03","1978-03-17","1974-11-23","1987-10-30","1980-04-01","1978-05-09","1973-03-03","1971-02-27","1974-02-03","1984-10-04","1975-12-16","1978-10-28","1976-01-08","1985-11-03","1978-04-12","1973-02-02","1982-06-05","1973-04-10","1978-09-22","1977-03-15","1982-01-17","1974-07-24","1977-12-11","1975-06-28","1971-01-01","1986-09-05","1988-12-11","1977-01-22","1987-10-18","1975-10-10","1983-05-24","1988-11-16","1977-05-18","1983-07-19","1970-05-20","1987-06-26","1981-08-22","1982-11-28","1969-05-30","1982-06-17","1971-10-29","1976-05-02","1978-01-24","1974-01-09","1972-08-02","1987-11-22","1969-10-19","1975-03-13","1969-06-12","1983-07-29","1981-03-22","1983-07-17","1987-01-04","1978-03-24","1982-02-25","1972-08-11","1975-06-21","1970-03-22","1986-07-05","1987-07-31","1977-01-24","1985-11-06","1976-10-10","1987-03-30","1977-05-13","1969-09-10","1971-02-13","1974-01-31","1973-12-27","1978-02-12","1980-08-27","1973-01-27","1980-02-12","1974-11-25","1974-07-01","1970-03-03","1983-02-24","1974-08-03","1984-11-02","1972-12-12","1976-06-12","1976-06-02","1969-03-09","1971-09-05","1978-02-09","1974-04-23","1982-05-17","1988-06-28","1981-06-19","1980-02-18","1974-01-24","1976-06-09","1980-12-24","1977-06-10","1976-10-26","1975-02-20","1975-03-02","1969-04-06","1982-04-06","1973-04-18","1976-09-15","1971-08-24","1970-11-20","1978-12-12","1986-01-25","1976-02-18","1987-08-17","1986-11-24","1971-05-05","1974-05-20","1969-06-05","1987-07-08","1973-12-18","1971-06-06","1971-09-03","1973-12-14","1970-12-08","1988-02-23","1983-06-06","1972-02-19","1974-09-01","1987-03-20","1973-05-19","1983-12-04","1984-11-18","1983-03-17","1974-08-20","1977-03-27","1978-01-05","1975-10-03","1970-01-24","1986-12-27","1979-12-27","1981-06-07","1970-05-25","1972-03-15","1975-11-13","1977-05-14","1978-10-26","1969-06-29","1984-05-13","1978-07-18","1980-04-08","1981-04-10","1983-01-07","1978-05-30","1988-02-05","1973-09-16","1986-09-17","1980-10-19","1972-03-29","1971-06-21","1970-05-30","1973-06-14","1987-03-26","1985-12-07","1981-01-14","1971-01-09","1978-05-20","1981-10-09","1973-08-09","1979-08-24","1973-02-13","1980-11-25","1981-08-14","1988-03-06","1975-03-06","1983-01-20","1979-04-15","1978-09-08","1970-01-05","1978-11-18","1985-06-28","1988-07-26","1977-04-21","1981-06-29","1971-10-15","1977-06-08","1978-07-29","1986-09-13","1972-11-26","1983-03-20","1972-08-05","1976-01-22","1979-05-29","1978-10-04","1975-05-08","1977-08-15","1982-05-22","1969-06-13","1973-10-25","1988-07-25","1982-08-31","1978-08-08","1988-01-21","1982-10-22","1977-07-26","1978-08-09","1981-05-31","1975-09-06","1986-01-13","1970-02-02","1973-01-25","1985-09-09","1987-06-25","1977-06-02","1969-01-21","1986-07-19","1969-09-09","1973-05-01","1980-09-04","1972-09-26","1975-09-22","1973-05-17","1988-12-26","1973-04-21","1978-03-28","1971-01-04","1982-02-17","1981-06-05","1978-03-14","1977-03-09","1984-10-30","1984-09-29","1978-12-10","1986-02-09","1983-04-20","1980-04-29","1981-07-22","1969-01-13","1986-03-05","1982-09-27","1985-11-18","1978-01-22","1979-04-29","1987-05-30","1982-02-21","1982-03-29"],"y":[199.450980392157,198.019607843137,201.549019607843,163.803921568627,184.843137254902,188.411764705882,156.725490196078,166.21568627451,209.294117647059,191.823529411765,177.235294117647,207.803921568627,181.21568627451,175.843137254902,147.156862745098,166.333333333333,175.666666666667,165.392156862745,207.058823529412,175.274509803922,171.686274509804,217.588235294118,198.274509803922,144.745098039216,179.43137254902,191.588235294118,204.156862745098,181.607843137255,207.509803921569,224.705882352941,192.862745098039,153.764705882353,196,175.960784313725,196.21568627451,202.137254901961,178.392156862745,185.176470588235,177.803921568627,211.980392156863,211.372549019608,162.921568627451,148.647058823529,238.352941176471,198.156862745098,178.058823529412,225.176470588235,214.156862745098,215.352941176471,176.607843137255,196.019607843137,216.43137254902,195.764705882353,196.725490196078,137.803921568627,218.019607843137,186.176470588235,170.294117647059,208.941176470588,203.803921568627,220.078431372549,202.941176470588,164.843137254902,203.058823529412,153.823529411765,162.470588235294,188.117647058824,185.725490196078,218.21568627451,197.196078431373,213.21568627451,181.509803921569,219.607843137255,161.313725490196,225.450980392157,177.078431372549,142.56862745098,186.980392156863,219.411764705882,215.960784313725,191.705882352941,177.058823529412,193.627450980392,198.882352941176,177.450980392157,169.588235294118,235.509803921569,198.21568627451,215.941176470588,223.21568627451,186.588235294118,181.56862745098,218.450980392157,178.301886792453,156.235294117647,166.941176470588,209.470588235294,188.666666666667,221.941176470588,177.666666666667,171.294117647059,190.039215686275,200.254901960784,188.019607843137,177.725490196078,149.862745098039,160.450980392157,167.529411764706,139.581818181818,224.176470588235,196.725490196078,212.019607843137,185.294117647059,173.725490196078,191.588235294118,198.039215686275,164.882352941176,234.470588235294,169.529411764706,176.411764705882,232.686274509804,207.705882352941,174.764705882353,219.529411764706,164.313725490196,192.117647058824,224.607843137255,165.333333333333,181.666666666667,202.549019607843,152.843137254902,182.274509803922,219.803921568627,179.627450980392,196.254901960784,208.156862745098,210.901960784314,157.823529411765,172.274509803922,168.921568627451,177.549019607843,179.529411764706,192.43137254902,213.254901960784,180.647058823529,162.490196078431,174.607843137255,173.627450980392,181,177.490196078431,193.490196078431,193.254901960784,151.392156862745,166.549019607843,147,166.254901960784,175.980392156863,199.509803921569,170.470588235294,155.156862745098,157.56862745098,171.823529411765,200.803921568627,178.098039215686,193.725490196078,156.235294117647,239.921568627451,187.235294117647,227.725490196078,236.509803921569,206.941176470588,175.019607843137,205.764705882353,241.803921568627,191.235294117647,167.333333333333,217.549019607843,173.928571428571,178.117647058824,194.56862745098,167.882352941176,185.509803921569,153.627450980392,207.803921568627,214.56862745098,185.294117647059,219.156862745098,185.725490196078,192.196078431373,176.627450980392,202.392156862745,200.235294117647,147.490196078431,188.607843137255,221.960784313725,152.725490196078,205.313725490196,185.294117647059,212.627450980392,162.254901960784,212.686274509804,224.254901960784,193.490196078431,186.196078431373,233.254901960784,206.647058823529,171.098039215686,186.078431372549,190.137254901961,167.529411764706,179.333333333333,225.333333333333,148.235294117647,155.313725490196,207.666666666667,180.588235294118,180.313725490196,192.980392156863,203.647058823529,177.156862745098,168.588235294118,212.470588235294,160.21568627451,175.294117647059,199.333333333333,217.196078431373,199.137254901961,158.862745098039,210.196078431373,172.333333333333,173.549019607843,188.235294117647,234.901960784314,165.549019607843,173.470588235294,145.882352941176,201.333333333333,170.686274509804,163.464285714286,202.392156862745,155.313725490196,203.941176470588,204.43137254902,205.019607843137,202.862745098039,202.43137254902,194.549019607843,203.882352941176,188.078431372549,176,217.313725490196,227.372549019608,244.078431372549,209.666666666667,238.509803921569,177.843137254902,167.156862745098,204.745098039216,223.960784313725,231.745098039216,174.686274509804,191.941176470588,174.098039215686,191.098039215686,190.823529411765,215.882352941176,211.843137254902,192.901960784314,164,183.803921568627,198.039215686275,197.098039215686,219.803921568627,187.039215686275,166.764705882353,165.235294117647,208.588235294118,163.058823529412,216.470588235294,211.392156862745,196.705882352941,154.588235294118,172.43137254902,214.156862745098,222.137254901961,167.019607843137,206.509803921569,199.921568627451,168.509803921569,228.254901960784,194.509803921569,169.666666666667,189.450980392157,170.529411764706,156.529411764706,160.666666666667,175.176470588235,207.450980392157,181.627450980392,185.627450980392,174.039215686275,226.137254901961,204.254901960784,226.470588235294,208.823529411765,196.843137254902,182.588235294118,150.333333333333,190.21568627451,194.607843137255,209.56862745098,169.078431372549,206.21568627451,220.960784313725,154.137254901961,183.294117647059,184.78431372549,182.666666666667,181.803921568627,179.588235294118,183.549019607843,189.294117647059,209.235294117647,166.137254901961,209.921568627451,156.56862745098,200.392156862745,145.490196078431,177.196078431373,204.450980392157,179.176470588235,204.176470588235,173.921568627451,179.156862745098,235.21568627451,179.764705882353,174.549019607843,202.509803921569,200.098039215686,177,213.941176470588,203.647058823529,152.235294117647,190.235294117647,187.980392156863,173.705882352941,222.56862745098,187.941176470588,220.705882352941,196.235294117647,216.705882352941,170.607843137255,219.254901960784,171.411764705882,174.392156862745,208.588235294118,194.470588235294,170.764705882353,156.745098039216,187.980392156863,236.019607843137,197.78431372549,226.901960784314,177.313725490196,206,207.078431372549,167.509803921569,174.529411764706,164.156862745098,195.627450980392,179.490196078431,176.392156862745,178.549019607843,173.274509803922,218.862745098039,140.277777777778,155.098039215686,201.058823529412,198.509803921569,213.607843137255,174.725490196078,170.862745098039,202.235294117647,230.078431372549,228.647058823529,180.058823529412,153.882352941176,183.411764705882,191.21568627451,234.372549019608,193.254901960784,176.039215686275,188.843137254902,216.627450980392,223.137254901961,216.843137254902,201.137254901961,169.666666666667,166.254901960784,204.666666666667,221.647058823529,187.725490196078,175.490196078431,177.745098039216,184.294117647059,171.235294117647,162.725490196078,170.78431372549,198.509803921569,215.607843137255,199.411764705882,215.372549019608,192.843137254902,185.803921568627,198.901960784314,186.627450980392,163.156862745098,176.470588235294,164.450980392157,203.43137254902,147.745098039216,218.509803921569,185.176470588235,140.235294117647,192.901960784314,205.411764705882,155.607843137255,181.686274509804,175.019607843137,182.666666666667,218.156862745098,164.156862745098,195.843137254902,176.764705882353,186.039215686275,158.882352941176,216.588235294118,198.941176470588,182.686274509804,165.313725490196,187.960784313725,145.725490196078,222.333333333333,187.372549019608,165.196078431373,165.039215686275,165.529411764706,169,174.058823529412,174.901960784314,173.392156862745,203.333333333333,189.882352941176,167.098039215686,182.882352941176,147.117647058824,159.392156862745,173.490196078431,233.019607843137,165.725490196078,160.156862745098,162.156862745098,180.627450980392,215.117647058824,215.137254901961,184.56862745098,216.470588235294,196.941176470588,226.43137254902,190.980392156863,167.21568627451,179.490196078431,210.411764705882,194.549019607843,139.019607843137,184.823529411765,163.647058823529,183.921568627451,166.196078431373,168.352941176471,168.823529411765,200.392156862745,216.176470588235,165.843137254902,175.294117647059,161.941176470588,179.686274509804,203.274509803922,182.941176470588,156.058823529412,172.235294117647,178.647058823529,225.352941176471,181.294117647059,209.705882352941,163,208.294117647059,182.627450980392,204.901960784314,182.627450980392,169.019607843137,186.450980392157,156.176470588235,215.78431372549,157.294117647059,201.019607843137,173.294117647059,170.740740740741,198.59649122807,208.039215686275,166.078431372549,204.627450980392,194.156862745098,154.78431372549,171.549019607843,164.588235294118,173.56862745098,181.607843137255,177.156862745098,207.274509803922,238.529411764706,206.313725490196,190.509803921569,170.43137254902,172.588235294118,176.058823529412,181.117647058824,184.372549019608,176.156862745098,144.843137254902,157.019607843137,208.235294117647,174.333333333333,195.627450980392,209.882352941176,218.156862745098,197.490196078431,176.882352941176,173.058823529412,227.156862745098,207.862745098039,182.549019607843,172.411764705882,188,226.078431372549,186.980392156863,163.960784313725,211.529411764706,179.941176470588,220,215.705882352941,203.352941176471,163.725490196078,155.078431372549,220.686274509804,150.960784313725,156.352941176471,162.745098039216,206.352941176471,199.078431372549,152.333333333333,177.509803921569,182.078431372549,185.686274509804,172.960784313725,205.960784313725,169.372549019608,197.56862745098,181.294117647059,172.980392156863,158.980392156863,186.56862745098,172.549019607843,160.764705882353,203.450980392157,202.411764705882,198.333333333333,195.039215686275,188.960784313725,214.588235294118,156.745098039216,230.529411764706,169.980392156863,174.137254901961,190.588235294118,173.882352941176,169.117647058824,214.019607843137,167.352941176471,204.294117647059,181.960784313725,158.392156862745,213.823529411765,184.666666666667,207.274509803922,174.43137254902,205.803921568627,224.176470588235,164.372549019608,173.333333333333,199.098039215686,149.313725490196,203.607843137255,193.176470588235,165.588235294118,222.745098039216,242.039215686275,179.294117647059,205.921568627451,199.607843137255,180.490196078431,170.490196078431,188.156862745098,152.745098039216,167.137254901961,166.843137254902,174.372549019608,192.843137254902,195,167.666666666667,193.176470588235,168.725490196078,193.176470588235,166.803921568627,228.254901960784,225.588235294118,205.098039215686,214.686274509804,204.549019607843,198.588235294118,199.274509803922,168.588235294118,166,200.117647058824,206.705882352941,175.666666666667,227.901960784314,224.058823529412,183.21568627451,205.372549019608,184.725490196078,207.803921568627,170.153846153846,216.450980392157,199.078431372549,187.647058823529,167.627450980392,170.254901960784,148.607843137255,182.411764705882,196.941176470588,206.509803921569,203.254901960784,187,183.450980392157,205.058823529412,192.411764705882,158.901960784314,166.098039215686,203.352941176471,199.117647058824,216.941176470588,192.823529411765,208.843137254902,226.235294117647,210.21568627451,148.490196078431,147,181.882352941176,170.764705882353,200.313725490196],"type":"scatter","mode":"markers","name":"mean","marker":{"fillcolor":"rgba(252,141,98,0.5)","color":"rgba(252,141,98,1)","line":{"color":"transparent"}},"xaxis":"x","yaxis":"y","frame":null},{"x":["1971-04-30","1983-05-15","1988-08-20","1986-09-26","1972-01-13","1978-11-04","1971-10-14","1988-01-24","1972-02-22","1971-12-01","1969-05-24","1977-11-20","1984-12-03","1978-07-28","1973-08-20","1987-10-02","1982-02-13","1980-09-20","1977-07-29","1977-08-05","1975-03-24","1980-01-15","1988-08-13","1973-05-06","1976-06-19","1987-12-10","1977-08-17","1969-04-13","1969-09-25","1977-06-26","1972-04-26","1974-12-26","1972-11-29","1987-05-18","1976-03-13","1973-07-01","1985-02-18","1988-02-08","1970-02-04","1986-10-31","1977-07-19","1984-09-30","1970-04-18","1974-10-03","1975-08-20","1987-03-14","1977-11-25","1976-01-30","1979-06-30","1984-07-14","1983-04-16","1987-05-03","1984-08-31","1982-06-12","1980-05-13","1979-04-08","1984-11-10","1975-12-23","1985-08-17","1982-03-15","1976-01-01","1978-10-26","1980-07-21","1975-07-30","1973-08-08","1969-02-06","1986-07-14","1972-04-18","1971-08-26","1987-05-08","1985-01-09","1978-12-13","1981-07-30","1972-02-18","1984-02-14","1979-09-22","1979-10-29","1982-06-14","1987-08-05","1969-03-13","1979-04-19","1979-05-06","1973-10-24","1969-08-13","1971-03-26","1986-06-26","1972-02-27","1981-12-08","1974-07-01","1975-11-14","1983-04-28","1973-08-17","1974-06-09","1976-04-17","1976-12-01","1984-10-18","1977-10-06","1978-07-24","1971-02-10","1980-01-25","1985-10-09","1971-08-15","1977-04-11","1980-03-26","1971-02-05","1979-01-04","1988-11-14","1978-02-24","1976-04-24","1971-03-15","1972-09-09","1978-04-11","1969-12-05","1985-12-09","1988-04-18","1972-12-26","1972-08-07","1970-06-28","1975-02-24","1983-05-25","1981-01-08","1971-09-13","1988-12-07","1976-09-17","1970-10-20","1977-09-14","1973-09-11","1976-11-07","1983-08-22","1976-05-15","1974-10-10","1982-02-28","1973-10-13","1978-02-02","1974-05-03","1982-04-08","1987-09-08","1978-11-17","1969-07-10","1987-11-16","1969-09-17","1987-10-24","1970-10-24","1970-01-16","1977-01-04","1978-02-12","1974-08-02","1979-04-17","1988-01-07","1969-04-09","1972-11-15","1971-04-12","1980-08-20","1977-05-09","1978-06-12","1984-11-05","1973-11-14","1970-07-19","1975-01-03","1970-10-05","1987-08-26","1982-12-20","1984-06-21","1976-12-04","1974-12-06","1976-12-17","1976-01-23","1972-04-25","1974-08-04","1978-03-22","1983-07-12","1978-06-21","1972-05-29","1975-12-15","1974-06-15","1979-04-27","1981-06-29","1987-07-31","1987-11-21","1976-09-07","1972-07-29","1980-03-19","1976-05-17","1986-11-08","1980-10-02","1986-05-15","1969-06-01","1971-09-24","1984-07-04","1970-09-04","1985-05-23","1972-04-13","1987-03-27","1971-03-11","1981-11-16","1982-06-20","1971-05-16","1987-04-13","1986-08-25","1973-06-13","1979-09-11","1988-01-06","1972-11-07","1969-05-05","1986-10-09","1983-11-01","1973-04-03","1979-11-02","1981-04-25","1987-01-22","1986-11-10","1977-01-03","1977-11-23","1971-03-04","1975-04-17","1969-06-16","1971-12-26","1969-03-11","1980-02-03","1980-06-04","1972-08-31","1985-07-16","1980-06-13","1985-03-15","1986-01-02","1977-04-22","1970-08-12","1975-04-30","1987-12-01","1988-11-22","1988-05-08","1970-01-25","1971-11-04","1982-01-17","1983-03-25","1970-08-21","1985-04-11","1969-10-01","1983-03-17","1970-06-21","1988-01-21","1979-05-18","1979-08-28","1978-03-07","1973-06-04","1978-12-20","1983-09-20","1978-05-28","1971-06-11","1973-10-07","1978-06-26","1983-10-09","1973-08-23","1981-06-30","1976-07-03","1988-04-17","1986-08-20","1973-08-06","1979-10-28","1974-06-08","1974-01-16","1973-07-11","1984-01-10","1982-07-19","1974-02-08","1980-10-17","1969-03-21","1980-06-10","1984-05-01","1971-02-14","1976-05-22","1988-03-01","1977-10-13","1980-12-10","1974-08-11","1974-03-13","1974-12-22","1981-09-24","1976-08-22","1985-10-01","1973-10-19","1976-05-03","1984-11-22","1975-05-21","1978-12-14","1985-02-26","1969-02-18","1988-02-19","1969-02-09","1969-06-07","1971-05-15","1969-08-16","1980-07-24","1969-02-26","1981-01-05","1970-03-10","1972-02-20","1982-04-17","1978-03-04","1977-04-08","1976-05-07","1974-02-04","1986-03-02","1969-04-14","1988-11-16","1971-12-03","1977-03-29","1985-05-14","1973-04-14","1977-03-19","1975-03-09","1977-05-16","1988-01-09","1982-06-19","1983-02-28","1979-01-18","1988-12-13","1974-06-04","1977-11-04","1973-08-12","1984-01-19","1975-07-31","1972-08-10","1975-03-15","1972-11-16","1987-06-27","1985-11-10","1982-12-29","1977-01-19","1969-09-05","1974-05-15","1984-10-25","1969-07-27","1979-12-15","1973-11-16","1984-02-09","1988-12-06","1971-11-06","1980-03-09","1979-03-29","1974-02-15","1984-07-24","1985-06-04","1979-05-25","1988-03-20","1970-12-12","1977-11-18","1982-02-11","1986-06-17","1978-04-14","1971-12-22","1978-09-06","1982-10-29","1975-11-03","1985-12-03","1969-06-02","1978-04-29","1984-02-10","1977-09-01","1972-04-19","1982-04-11","1976-06-24","1979-07-22","1974-04-15","1972-01-06","1980-10-21","1979-05-07","1975-05-23","1984-05-02","1971-12-21","1977-11-12","1970-08-24","1971-01-24","1969-10-15","1985-06-08","1988-09-15","1977-12-09","1972-07-27","1976-01-05","1986-03-10","1988-05-06","1972-06-03","1985-06-21","1973-01-31","1970-11-14","1988-04-26","1988-01-29","1976-12-14","1971-11-22","1972-02-09","1973-11-01","1986-07-10","1972-12-16","1978-10-23","1970-11-23","1981-03-12","1970-06-09","1988-01-17","1974-12-08","1987-08-23","1985-09-19","1970-11-02","1974-05-04","1970-12-16","1983-10-20","1985-07-02","1987-03-06","1988-10-08","1974-04-07","1987-05-12","1972-04-30","1982-04-22","1981-01-11","1984-09-16","1979-03-09","1970-09-01","1971-10-07","1975-07-29","1971-10-12","1988-09-29","1971-08-06","1977-05-31","1977-08-19","1971-03-31","1977-09-18","1970-10-10","1987-05-19","1987-03-31","1982-09-09","1969-09-20","1987-05-05","1976-06-02","1970-05-19","1976-02-28","1977-11-27","1970-01-23","1977-02-22","1971-07-16","1978-08-05","1978-02-08","1982-11-14","1973-08-28","1973-07-28","1977-04-05","1988-03-11","1974-01-08","1988-02-26","1970-01-20","1976-12-11","1983-02-21","1978-10-10","1985-04-27","1980-08-07","1981-11-05","1981-12-16","1980-05-01","1980-11-26","1982-03-19","1984-07-11","1975-06-03","1987-02-01","1978-07-23","1980-05-04","1970-05-15","1985-05-20","1970-03-25","1975-01-25","1976-10-05","1971-08-29","1980-07-19","1970-09-18","1970-08-03","1987-03-11","1977-02-18","1969-11-03","1970-02-18","1970-08-09","1975-09-03","1979-12-16","1987-07-21","1974-02-09","1987-06-19","1975-04-10","1987-10-06","1969-03-29","1986-03-11","1972-07-30","1973-11-30","1972-03-22","1987-08-09","1971-04-24","1973-11-20","1988-10-16","1986-08-14","1974-12-23","1970-06-17","1987-11-17","1983-03-02","1985-04-18","1970-08-23","1971-09-08","1972-06-01","1976-09-01","1974-02-25","1980-10-20","1980-01-07","1982-07-02","1969-06-23","1972-01-14","1975-08-16","1975-06-28","1985-09-06","1979-12-18","1985-05-04","1969-02-19","1981-01-03","1985-06-20","1974-05-16","1974-11-28","1980-07-22","1983-04-05","1973-06-22","1971-12-18","1980-06-21","1976-07-30","1976-07-16","1972-11-14","1987-09-09","1987-12-24","1984-06-16","1979-10-23","1971-08-10","1977-08-04","1987-03-20","1972-12-02","1983-03-01","1978-07-16","1980-10-15","1980-05-28","1988-08-17","1983-01-25","1976-05-10","1975-05-11","1972-06-28","1978-12-26","1981-03-25","1983-04-17","1988-01-20","1983-09-28","1970-12-26","1980-02-26","1981-01-29","1983-04-09","1984-04-28","1986-04-17","1987-04-10","1984-01-25","1969-11-22","1979-01-17","1973-03-05","1969-12-08","1984-06-08","1975-05-25","1987-07-05","1981-09-09","1977-03-08","1974-01-02","1984-01-14","1972-07-03","1971-03-22","1980-09-05","1980-06-20","1983-07-13","1972-12-04","1976-03-20","1977-03-12","1975-03-19","1981-06-08","1980-08-02","1985-02-16","1970-11-21","1970-01-03","1982-05-11","1981-06-01","1970-07-20","1976-04-05","1984-07-15","1982-03-22","1976-01-03","1980-10-10","1978-06-18","1982-04-10","1975-10-08","1969-03-12","1978-08-07","1981-01-13","1980-05-22","1979-11-03","1972-11-17","1988-02-12","1972-02-21","1977-04-12","1983-12-22","1976-01-29","1985-06-10","1972-05-03","1983-11-06","1986-12-22","1986-10-02","1972-09-14","1972-02-12","1977-12-24","1977-09-19","1980-06-06","1975-07-08","1981-07-08","1970-04-17","1986-05-24","1973-01-16","1973-11-10","1981-01-16","1973-06-17","1980-01-20","1971-10-09","1985-01-25","1975-12-08","1983-05-10","1971-06-06","1979-04-28","1975-04-12","1985-12-16","1984-06-03","1975-07-16","1986-11-20","1977-09-23","1986-01-27","1977-12-11","1986-10-04","1986-01-26","1979-02-12","1975-06-05","1974-03-04","1987-11-11","1986-12-24","1972-02-02","1978-02-27","1978-11-28","1970-02-09"],"y":[20,19,17,22,18,16,16,15,20,2,16,10,23,16,14,18,16,16,15,16,14,21,19,7,16,18,22,14,12,10,13,14,14,22,15,2,19,20,16,22,22,15,14,14,18,18,10,15,19,11,19,17,20,16,21,17,14,12,19,20,12,21,26,18,16,14,25,12,10,21,17,19,22,14,22,17,16,20,20,12,13,14,6,18,10,23,10,20,1,12,14,10,16,14,1,20,18,16,8,18,27,6,18,17,18,15,21,18,14,12,12,14,14,18,22,12,18,8,14,18,13,18,19,20,20,10,12,10,16,17,12,11,14,18,10,21,22,23,14,16,14,15,18,18,10,12,20,16,20,16,16,10,21,18,12,14,14,6,13,14,13,21,22,13,19,17,10,17,8,9,22,24,14,18,7,18,23,22,10,15,16,20,14,13,25,21,8,12,20,22,20,12,20,22,21,22,14,21,27,8,16,20,10,16,19,26,14,15,17,17,18,16,21,16,14,18,12,12,18,26,14,21,21,20,21,10,16,10,16,23,14,16,20,18,22,20,21,2,25,20,13,22,20,22,17,17,21,10,16,4,18,12,16,19,13,10,21,16,18,10,8,14,20,26,12,22,12,22,24,16,12,19,16,20,12,10,8,17,16,20,15,17,14,18,17,21,14,15,12,14,4,14,16,12,24,14,8,16,19,18,22,12,14,20,19,10,14,23,6,12,6,14,8,21,19,24,20,16,15,10,19,10,16,18,14,12,15,24,20,12,17,22,12,15,14,23,19,12,12,22,14,22,20,23,15,12,18,24,20,18,16,14,23,12,27,18,13,24,20,14,18,14,20,14,8,21,20,23,22,10,13,16,12,14,18,22,16,14,16,20,15,10,25,14,10,17,20,22,24,12,14,21,12,14,12,22,16,9,8,19,25,18,8,18,22,25,20,17,14,21,14,22,15,17,19,12,14,22,20,21,10,22,19,12,20,14,21,17,25,14,26,16,8,16,12,20,22,16,13,16,19,16,16,16,20,10,14,10,13,22,20,21,22,11,21,24,23,18,16,12,11,16,17,20,23,12,12,20,12,24,14,24,24,16,4,4,8,16,14,24,11,21,8,13,6,23,14,14,6,12,14,8,17,25,10,18,16,17,23,8,16,16,18,14,20,18,20,14,10,12,17,26,19,16,14,10,24,18,14,16,20,8,10,18,16,15,12,17,14,10,21,12,18,18,18,16,14,18,21,15,20,12,14,12,14,20,20,17,29,12,22,24,18,21,25,23,18,12,16,16,18,24,18,18,19,20,14,14,18,18,22,19,20,14,14,14,14,23,10,15,12,16,20,16,22,14,15,19,12,19,13,14,16,12,23,21,17,15,18,15,18,18,14,15,25,14,15,22,26,16,16,14,10,23,22,22,10,14,14,13,24,5,17,14,18,5,23,10,15,14,19,21,14,15,13,20,9,15,14,15,15,16,20,9,19,22,19,12],"type":"scatter","mode":"markers","name":"min","marker":{"fillcolor":"rgba(141,160,203,0.5)","color":"rgba(141,160,203,1)","line":{"color":"transparent"}},"xaxis":"x","yaxis":"y","frame":null}],"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.2,"selected":{"opacity":1}},"base_url":"https://plot.ly"},"evals":["config.modeBarButtonsToAdd.0.click"],"jsHooks":{"render":[{"code":"function(el, x) { var ctConfig = crosstalk.var('plotlyCrosstalkOpts').set({\"on\":\"plotly_click\",\"persistent\":false,\"dynamic\":false,\"selectize\":false,\"opacityDim\":0.2,\"selected\":{\"opacity\":1}}); }","data":null}]}} Again, both plots are identical, bar styling. time2 = microbenchmark( ggplotly = ggplotly( ggplot(date) + geom_point(aes(y = value, x = date, colour = birth_stat)) ), plotly = plot_ly(date, x = ~date, y = ~value, color = ~birth_stat, type = "scatter"), times = 100, unit = "s") time2 ## Unit: seconds ## expr min lq mean median uq max neval cld ## ggplotly 0.335823 0.355301 0.389759 0.365353 0.378502 0.54746 100 b ## plotly 0.002472 0.002534 0.002719 0.002585 0.002675 0.01179 100 a autoplot(time2) On average ggplotly() is 143 times slower than plot_ly(), with the max run time being 0.547 seconds! Summary I’m going to level with you. Using ggplotly() in interactive mode isn’t a problem. Well, it’s not a problem until your shiny dashboard or your markdown document has to generate a few plots at the same time. With only one plot, you’ll probably go with the method that gives you your style in the easiest way possible and you’ll do this with no repercussions. However, let’s say you’re making a shiny dashboard and it now has over 5 interactive graphs within it. Suddenly, if you’re using ggplotly(), the lag we noticed in the analysis above starts to build up unnecessarily. That’s why I’d use plot_ly(). Thanks for chatting! R.version.string ## [1] "R version 3.4.2 (2017-09-28)" packageVersion("ggplot2") ## [1] '2.2.1' packageVersion("plotly") ## [1] '4.7.1' var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script')); To leave a comment for the author, please follow the link and comment on their blog: R on The Jumping Rivers Blog. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more... ### Data-set update to “Empirical software engineering using R” Sun, 11/26/2017 - 20:26 (This article was first published on The Shape of Code » R, and kindly contributed to R-bloggers) The pile of papers, books and data-sets, relating to previously released draft chapters of my Empirical software engineering book, has been growing, and cluttering up my mind. I decided to have a clear-out. A couple of things stood out. There are around 25 data-sets that have been promised but not yet arrived. If you encounter anybody who mentions they promised to send me data, please encourage them to spend some time doing this. I don’t want to add a new category, promised but never delivered, to the list of email responses. There has been an increase in data-sets not being used because I already have something better. This is a good sign, data quality is increasing. One consequence is that a growing number of ‘historical’ data-sets have fallen by the wayside. This is a good thing, most data-sets analysed in papers are very low quality and only used because nothing else was available. One of my reasons for making draft releases was to prompt people to suggest data I had missed. This has not happened yet; come on people, suggest some data I don’t yet know about. About a third of the pile got included in the latest draft, a third had been superseded by something better, and a third are still waiting for promised data. Now, back to the reliability chapter. var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script')); To leave a comment for the author, please follow the link and comment on their blog: The Shape of Code » R. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more... ### rfoaas 1.1.1: Updated and extended Sun, 11/26/2017 - 20:08 (This article was first published on Thinking inside the box , and kindly contributed to R-bloggers) FOAAS upstream is still at release 1.1.0, but added a few new accessors a couple of months ago. So this new version of rfoaas updates to these: asshole(), cup(), fyyff(), immensity(), programmer(), rtfm(), thinking(). We also added test coverage and in doing so noticed that our actual tests never ran on Travis. Yay. Now fixed. As usual, CRANberries provides a diff to the previous CRAN release. Questions, comments etc should go to the GitHub issue tracker. More background information is on the project page as well as on the github repo This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings. var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script')); To leave a comment for the author, please follow the link and comment on their blog: Thinking inside the box . R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more... ### Rcpp 0.12.14: Some deprecation and minor updates Fri, 11/24/2017 - 14:49 (This article was first published on Thinking inside the box , and kindly contributed to R-bloggers) The fourteenth release in the 0.12.* series of Rcpp landed on CRAN yesterday after a somewhat longer-than-usual gestation period (and word is it may have been due to some unrelated disturbances from lots of changes within the main r-devel build). This release follows the 0.12.0 release from July 2016, the 0.12.1 release in September 2016, the 0.12.2 release in November 2016, the 0.12.3 release in January 2017, the 0.12.4 release in March 2016, the 0.12.5 release in May 2016, the 0.12.6 release in July 2016, the 0.12.7 release in September 2016, the 0.12.8 release in November 2016, the 0.12.9 release in January 2017, the 0.12.10.release in March 2017, the 0.12.11.release in May 2017, the 0.12.12 release in July 2017 and the 0.12.13.release in late September 2017 making it the eighteenth release at the steady and predictable bi-montly release frequency. Rcpp has become the most popular way of enhancing GNU R with C or C++ code. As of today, 1246 packages (and hence 77 more since the last release) on CRAN depend on Rcpp for making analytical code go faster and further, along with another 91 in BioConductor. This release is relatively minor compared to other releases, but follows through on the deprecattion of the old vectors for Date and Datetime (which were terrible: I was influenced by the vector design in QuantLib at the time and didn’t really understand yet how a SEXP vector should work) we announced with Rcpp 0.12.8 a year ago. So now the new vectors are the default, but you can flip back if you need to with #define. Otherwise Dan rounded a corner with the improved iterators he contributed, and Kirill improved the output stream implementation suppressing a warning with newer compilers. Changes in Rcpp version 0.12.14 (2017-11-17) • Changes in Rcpp API: • New const iterators functions cbegin() and cend() added to MatrixRow as well (Dan Dillon in #750). • The Rostream object now contains a Buffer rather than allocating one (Kirill Müller in #763). • New DateVector and DatetimeVector classes are now the default fully deprecating the old classes as announced one year ago. • Changes in Rcpp Package: • DESCRIPTION file now list doi information per CRAN suggestion. • Changes in Rcpp Documentation: • Update CITATION file with doi information and PeerJ preprint. Thanks to CRANberries, you can also look at a diff to the previous release. As always, details are on the Rcpp Changelog page and the Rcpp page which also leads to the downloads page, the browseable doxygen docs and zip files of doxygen output for the standard formats. A local directory has source and documentation too. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page. This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings. var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script')); To leave a comment for the author, please follow the link and comment on their blog: Thinking inside the box . R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more... ### Association rules using FPGrowth in Spark MLlib through SparklyR Thu, 11/23/2017 - 20:55 (This article was first published on R – Longhow Lam's Blog, and kindly contributed to R-bloggers) Introduction Market Basket Analysis or association rules mining can be a very useful technique to gain insights in transactional data sets, and it can be useful for product recommendation. The classical example is data in a supermarket. For each customer we know what the individual products (items) are that he has bought. With association rules mining we can identify items that are frequently bought together. Other use cases for MBA could be web click data, log files, and even questionnaires. In R there is a package arules to calculate association rules, it makes use of the so-called Apriori algorithm. For data sets that are not too big, calculating rules with arules in R (on a laptop) is not a problem. But when you have very huge data sets, you need to do something else, you can: • use more computing power (or cluster of computing nodes). • use another algorithm, for example FP Growth, which is more scalable. See this blog for some details on Apriori vs. FP Growth. Or do both of the above points by using FPGrowth in Spark MLlib on a cluster. And the nice thing is: you can stay in your familiar R Studio environment! Spark MLlib and sparklyr Example Data set We use the example groceries transactions data in the arules package. It is not a big data set and you would definitely not need more than a laptop, but it is much more realistic than the example given in the Spark MLlib documentation :-). Preparing the data I am a fan of sparklyr It offers a good R interface to Spark and MLlib. You can use dplyr syntax to prepare data on Spark, it exposes many of the MLlib machine learning algorithms in a uniform way. Moreover, it is nicely integrated into the RStudio environment offering the user views on Spark data and a way to manage the Spark connection. First connect to spark and read in the groceries transactional data, and upload the data to Spark. I am just using a local spark install on my Ubuntu laptop. ###### sparklyr code to perform FPGrowth algorithm ############ library(sparklyr) library(dplyr) #### spark connect ######################################### sc <- spark_connect(master = "local") #### first create some dummy data ########################### transactions = readRDS("transactions.RDs") #### upload to spark ######################################### trx_tbl = copy_to(sc, transactions, overwrite = TRUE) For demonstration purposes, data is copied in this example from the local R session to Spark. For large data sets this is not feasible anymore, in that case data can come from hive tables (on the cluster). The figure above shows the products purchased by the first four customers in Spark in an RStudio grid. Although transactional systems will often output the data in this structure, it is not what the FPGrowth model in MLlib expects. It expects the data aggregated by id (customer) and the products inside an array. So there is one more preparation step. # data needs to be aggregated by id, the items need to be in a list trx_agg = trx_tbl %>% group_by(id) %>% summarise( items = collect_list(item) ) The figure above shows the aggregated data, customer 12, has a list of 9 items that he has purchased. Running the FPGrowth algorithm We can now run the FPGrowth algorithm, but there is one more thing. Sparklyr does not expose the FPGrowth algorithm (yet), there is no R interface to the FPGrowth algorithm. Luckily, sparklyr allows the user to invoke the underlying Scala methods in Spark. We can define an new object with invoke_new uid = sparklyr:::random_string("fpgrowth_") jobj = invoke_new(sc, "org.apache.spark.ml.fpm.FPGrowth", uid) Now jobj is an object of class FPGrowth in Spark. jobj class org.apache.spark.ml.fpm.FPGrowth fpgrowth_d4d41f71f3e0 And by looking at the Scala documentation of FPGrowth we see that there are more methods that you can use. We need to use the function invoke, to specify which column contains the list of items, to specify the minimum confidence and to specify the minimum support. jobj %>% invoke("setItemsCol", "items") %>% invoke("setMinConfidence", 0.03) %>% invoke("setMinSupport", 0.01) %>% invoke("fit", spark_dataframe(trx_agg)) By invoking fit, the FPGrowth algorithm is fitted and an FPGrowthModel object is returned where we can invoke associationRules to get the calculated rules in a spark data frame rules = FPGmodel %>% invoke("associationRules") The rules in the spark data frame consists of an antecedent column (the left hand side of the rule), a consequent column (the right hand side of the rule) and a column with the confidence of the rule. Note that the antecedent and consequent are lists of items! If needed we can split these lists and collect them to R for plotting for further analysis. The invoke statements and rules extractions statements can of course be wrapped inside functions to make it more reusable. So given the aggregated transactions in a spark table trx_agg, you can get something like: GroceryRules = ml_fpgrowth( trx_agg ) %>% ml_fpgrowth_extract_rules() plot_rules(GroceryRules) Conclusion The complete R script can be found on my GitHub. If arules in R on your laptop is not workable anymore because of the size of your data, consider FPGrowth in Spark through sparklyr. cheers, Longhow var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script')); To leave a comment for the author, please follow the link and comment on their blog: R – Longhow Lam's Blog. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more... ### R live class | Professional R Programming | Nov 29-30 Milan Thu, 11/23/2017 - 19:13 (This article was first published on R blog | Quantide - R training & consulting, and kindly contributed to R-bloggers) Professional R Programming is the sixth and last course of the autumn term. It takes place in November 29-30 in a location close to Milano Lima. If you have a solid R knowledge and want to boost your programming skills, this course is made for you. This course will give you an inner perspective of R working mechanisms, as well as tools for addressing your code’s issues and to make it more efficient. Once these concepts are established, you will learn how to create R packages and use them as the fundamental unit of reproducible R code. Professional R Programming: Outlines – Base Programming: environments, functions and loops – Functionals in base R – The purrr package – Code style and clarity – Profiling – Parallel computation – Testing and debugging – Documenting your code: rmarkdown – Sharing your code: github – R packages Professional R Programming is organized by the R training and consulting company Quantide and is taught in Italian, while all the course materials are in English. This course is for max 6 attendees. Location The course location is 550 mt. (7 minutes on walk) from Milano central station and just 77 mt. (1 minute on walk) from Lima subway station. Registration If you want to reserve a seat go to: FAQ, detailed program and tickets. Other R courses | Autumn term Sadly, this is the last course of the autumn term. Our next R classes’ session will be in Spring! Stay in touch for more updates. In case you are a group of people interested in more than one class, write us at training[at]quantide[dot]com! We can arrange together a tailor-made course, picking all the topics that are interesting for your organization and dropping the rest. The post R live class | Professional R Programming | Nov 29-30 Milan appeared first on Quantide – R training & consulting. var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script')); To leave a comment for the author, please follow the link and comment on their blog: R blog | Quantide - R training & consulting. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more... ### EARL Boston round up Thu, 11/23/2017 - 17:14 (This article was first published on Mango Solutions, and kindly contributed to R-bloggers) Now we’ve recovered from over indulging in Boston’s culinary delights, we’re ready to share our highlights from this year’s EARL Boston Conference. Day 1 highlights Stack Overflow’s David Robinson kicked off the Conference, using Stack Overflow data to perform all sorts of interesting analyses. Highlights included trends in questions mentioning specific R packages over time, leading to the identification of rival R packages. We found that R is the least disliked language (because it’s the best obviously!); although David cautioned that often people who haven’t used R before haven’t heard of it either. Richie Cotton’s talk on how DataCamp is a ‘data-inspired’ organisation was particularly entertaining and he was a really engaging speaker. It was also great to hear from Emily Riederer about tidycf; she shared a really good example of the type of data-driven revolution taking place in many financial institutions. We also enjoyed Patrick Turgeon’s presentation on Quantitative Trading with R. His presentation portrayed quantitative trading as a scientific problem to be investigated using diverse sources of information, open source code and hard work. Free from jargon, Patrick demonstrated that placing bets on the markets does not have to be some mysterious art, but an analytic puzzle like any other. A brilliant first day was rounded out with an evening reception overlooking the Charles River, where we enjoyed drinks and a chance to catch up with everyone at the Conference. It was a great opportunity to chat with all the attendees to find out what talks they enjoyed and what ones they wanted to catch on day two. Day 2 highlights Mara Averick got things moving on day two with a witty and humble keynote talk on the importance of good communication in data science. She may have also confessed to getting R banned in her fantasy basketball league. From having to argue with the internet that Krieger’s most common distinctive phrase is “yep yep”, to always having the correct word for any situation, she gave a fantastic presentation; a key skill for any data scientist (even if she says she isn’t one!). Keeping up the theme of great communication in data science, Ali Zaidi gave a really clear rundown of what deep learning is, and how existing models can be reused to make pattern recognition practicably applicable even with modest hardware. Other highlights included both Alex Albright’s and Monika Wahi’s talks. Alex showed us lots of enjoyable small analyses and suggested ideas for finding fun datasets and encouraged us all to share our findings when experimenting. Monika Wahi discussed why SAS still dominates in healthcare and how we can convert people to R. She talked about how R is easier and nicer to read and showed us equivalent code in SAS and R to illustrate her point. It was tough, but we picked just a few of the many highlights from both days at EARL. Please tweet @EARLConf any of your EARL highlights so we can share them – we would love to see what people enjoyed the most. We’d like to thank all of our attendees for joining us, our fantastic speakers, and our generous sponsors for making EARL Boston the success it has been. To hear the latest news about EARL Conferences sign up to our mailing list, and we’ll let you know first when tickets are on sale. You can now find speaker slides (where available) on the EARL website – just click on the speaker profile and download the file. var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script')); To leave a comment for the author, please follow the link and comment on their blog: Mango Solutions. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more... ### Happy Thanksgiving! Thu, 11/23/2017 - 17:00 (This article was first published on Revolutions, and kindly contributed to R-bloggers) Today is Thanksgiving Day here in the US, so we're taking the rest of the week off to enjoy the time with family. Even if you don't celebrate Thanksgiving, today is still an excellent day to give thanks to the volunteers who have contributed to the R project and its ecosystem. In particular, give thanks to the R Core Group, whose tireless dedication — in several cases over a period of more than 20 years — was and remains critical to the success and societal contributions of the language we use and love: R. You can contribute financially by becoming a Supporting Member of the R Foundation. var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script')); To leave a comment for the author, please follow the link and comment on their blog: Revolutions. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more... ### Handling ‘Happy’ vs ‘Not Happy’: Better sentiment analysis with sentimentr in R Thu, 11/23/2017 - 15:00 (This article was first published on R Programming – DataScience+, and kindly contributed to R-bloggers) Sentiment Analysis is one of the most obvious things Data Analysts with unlabelled Text data (with no score or no rating) end up doing in an attempt to extract some insights out of it and the same Sentiment analysis is also one of the potential research areas for any NLP (Natural Language Processing) enthusiasts. For an analyst, the same sentiment analysis is a pain in the neck because most of the primitive packages/libraries handling sentiment analysis perform a simple dictionary lookup and calculate a final composite score based on the number of occurrences of positive and negative words. But that often ends up in a lot of false positives, with a very obvious case being ‘happy’ vs ‘not happy’ – Negations, in general Valence Shifters. Consider this sentence: ‘I am not very happy’. Any Primitive Sentiment Analysis Algorithm would just flag this sentence positive because of the word ‘happy’ that apparently would appear in the positive dictionary. But reading this sentence we know this is not a positive sentence. While we could build our own way to handle these negations, there are couple of new R-packages that could do this with ease. One such package is sentimentr developed by Tyler Rinker. Installing the package sentimentr can be installed from CRAN or the development version can be installed from github. install.packages('sentimentr') #or library(devtools) install_github('trinker/sentimentr') Why sentimentr? The author of the package himself explaining what does sentimentr do that other packages don’t and why does it matter? “sentimentr attempts to take into account valence shifters (i.e., negators, amplifiers (intensifiers), de-amplifiers (downtoners), and adversative conjunctions) while maintaining speed. Simply put, sentimentr is an augmented dictionary lookup. The next questions address why it matters.” Sentiment Scoring: sentimentr offers sentiment analysis with two functions: 1. sentiment_by() 2. sentiment() Aggregated (Averaged) Sentiment Score for a given text with sentiment_by sentiment_by('I am not very happy', by = NULL) element_id sentence_id word_count sentiment 1: 1 1 5 -0.06708204 But this might not help much when we have multiple sentences with different polarity, hence sentence-level scoring with sentiment would help here. sentiment('I am not very happy. He is very happy') element_id sentence_id word_count sentiment 1: 1 1 5 -0.06708204 2: 1 2 4 0.67500000 Both the functions return a dataframe with four columns: 1. element_id – ID / Serial Number of the given text 2. sentence_id – ID / Serial Number of the sentence and this is equal to element_id in case of sentiment_by 3. word_count – Number of words in the given sentence 4. sentiment – Sentiment Score of the given sentence Extract Sentiment Keywords The extract_sentiment_terms() function helps us extract the keywords – both positive and negative that was part of the sentiment score calculation. sentimentr also supports pipe operator %>% which makes it easier to write multiple lines of code with less assignment and also cleaner code. 'My life has become terrible since I met you and lost money' %>% extract_sentiment_terms() element_id sentence_id negative positive 1: 1 1 terrible,lost money Sentiment Highlighting: And finally, the highight() function coupled with sentiment_by() that gives a html output with parts of sentences nicely highlighted with green and red color to show its polarity. Trust me, This might seem trivial but it really helps while making Presentations to share the results, discuss False positives and to identify the room for improvements in the accuracy. 'My life has become terrible since I met you and lost money. But I still have got a little hope left in me' %>% sentiment_by(by = NULL) %>% highlight() Output Screenshot: Try using sentimentr for your sentiment analysis and text analytics project and do share your feedback in comments. Complete code used here is available on my github. Related Post var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script')); To leave a comment for the author, please follow the link and comment on their blog: R Programming – DataScience+. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more... ### Arbitrary Data Transforms Using cdata Wed, 11/22/2017 - 17:36 (This article was first published on R – Win-Vector Blog, and kindly contributed to R-bloggers) We have been writing a lot on higher-order data transforms lately: What I want to do now is "write a bit more, so I finally feel I have been concise." The cdata R package supplies general data transform operators. • The whole system is based on two primitives or operators cdata::moveValuesToRowsD() and cdata::moveValuesToColumnsD(). • These operators have pivot, un-pivot, one-hot encode, transpose, moving multiple rows and columns, and many other transforms as simple special cases. • It is easy to write many different operations in terms of the cdata primitives. • These operators can work-in memory or at big data scale (with databases and Apache Spark; for big data we use the cdata::moveValuesToRowsN() and cdata::moveValuesToColumnsN() variants). • The transforms are controlled by a control table that itself is a diagram of or picture of the transform. We will end with a quick example, centered on pivoting/un-pivoting values to/from more than one column at the same time. Suppose we had some sales data supplied as the following table: SalesPerson Period BookingsWest BookingsEast a 2017Q1 100 175 a 2017Q2 110 180 b 2017Q1 250 0 b 2017Q2 245 0 Suppose we are interested in adding a derived column: which region the salesperson made most of their bookings in. library("cdata") ## Loading required package: wrapr library("seplyr") d <- d %.>% dplyr::mutate(., BestRegion = ifelse(BookingsWest > BookingsEast, "West", ifelse(BookingsEast > BookingsWest, "East", "Both"))) Our notional goal is (as part of a larger data processing plan) to reformat the data a thin/tall table or a RDF-triple like form. Further suppose we wanted to copy the derived column into every row of the transformed table (perhaps to make some other step involving this value easy). We can use cdata::moveValuesToRowsD() to do this quickly and easily. First we design what is called a transform control table. cT1 <- data.frame(Region = c("West", "East"), Bookings = c("BookingsWest", "BookingsEast"), BestRegion = c("BestRegion", "BestRegion"), stringsAsFactors = FALSE) print(cT1) ## Region Bookings BestRegion ## 1 West BookingsWest BestRegion ## 2 East BookingsEast BestRegion In a control table: • The column names specify new columns that will be formed by cdata::moveValuesToRowsD(). • The values specify where to take values from. This control table is called "non trivial" as it does not correspond to a simple pivot/un-pivot (those tables all have two columns). The control table is a picture of of the mapping we want to perform. An interesting fact is cdata::moveValuesToColumnsD(cT1, cT1, keyColumns = NULL) is a picture of the control table as a one-row table (and this one row table can be mapped back to the original control table by cdata::moveValuesToRowsD(), these two operators work roughly as inverses of each other; though cdata::moveValuesToRowsD() operates on rows and cdata::moveValuesToColumnsD() operates on groups of rows specified by the keying columns). The mnemonic is: • cdata::moveValuesToColumnsD() converts arbitrary grouped blocks of rows that look like the control table into many columns. • cdata::moveValuesToRowsD() converts each row into row blocks that have the same shape as the control table. Because pivot and un-pivot are fairly common needs cdata also supplies functions that pre-populate the controls tables for these operations (buildPivotControlTableD() and buildUnPivotControlTable()). To design any transform you draw out the control table and then apply one of these operators (you can pretty much move from any block structure to any block structure by chaining two or more of these steps). We can now use the control table to supply the same transform for each row. d %.>% dplyr::mutate(., Quarter = substr(Period,5,6), Year = as.numeric(substr(Period,1,4))) %.>% dplyr::select(., -Period) %.>% moveValuesToRowsD(., controlTable = cT1, columnsToCopy = c('SalesPerson', 'Year', 'Quarter')) %.>% arrange_se(., c('SalesPerson', 'Year', 'Quarter', 'Region')) %.>% knitr::kable(.) SalesPerson Year Quarter Region Bookings BestRegion a 2017 Q1 East 175 East a 2017 Q1 West 100 East a 2017 Q2 East 180 East a 2017 Q2 West 110 East b 2017 Q1 East 0 West b 2017 Q1 West 250 West b 2017 Q2 East 0 West b 2017 Q2 West 245 West Notice we were able to easily copy the extra BestRegion values into all the correct rows. It can be hard to figure out how to specify such a transformation in terms of pivots and un-pivots. However, as we have said: by drawing control tables one can easily design and manage fairly arbitrary data transform sequences (often stepping through either a denormalized intermediate where all values per-instance are in a single row, or a thin intermediate like the triple-like structure we just moved into). var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script')); To leave a comment for the author, please follow the link and comment on their blog: R – Win-Vector Blog. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more... ### Mapping “world cities” in R Wed, 11/22/2017 - 13:00 (This article was first published on r-bloggers – SHARP SIGHT LABS, and kindly contributed to R-bloggers) Here at Sharp Sight, we make a lot of maps. There are a few reasons for this. First, good maps are typically ‘information dense.’ You can get a lot of information at a glance from a good map. They are good visualization tools for finding and communicating insights. Second, it’s extremely easy to get data that you can use to make a map. From a variety of sources, you’ll find data about cities, states, counties, and countries. If you know how to retrieve this data and wrangle it into shape, it will be easy to find data that you can use to make a map. Finally, map making is just good practice. To create a map like the one we’re about to make, you’ll typically need to use a variety of data wrangling and data visualization tools. Maps make for excellent practice for intermediate data scientists who have already mastered some of the basics. With that in mind, this week we’ll make a map of “world cities.” This set of cities has been identified by the Globalization and World Cities (GaWC) Research Network as being highly connected and influential in the world economy. We’re going to initially create a very basic map, but we’ll also create a small multiple version of the map (broken out by GaWC ranking). Let’s get started. First, we’ll load the packages that we’ll need. #============== # LOAD PACKAGES #============== library(tidyverse) library(ggmap) library(forcats) Next, we’ll input the cities by hard coding them as data frames. To be clear, there is more than one way to do this (e.g., we could scrape the data), but there isn’t that much data here, so doing this manually is acceptable. #=================== # INPUT ALPHA CITIES #=================== df_alpha_plus_plus <- tibble(city = c('London','New York')) df_alpha_plus <- tibble(city = c('Singapore', 'Hong Kong', 'Paris', 'Beijing' ,'Tokyo', 'Dubai', 'Shanghai')) df_alpha <- tibble(city = c('Sydney', 'São Paulo', 'Milan', 'Chicago' ,'Mexico City', 'Mumbai', 'Moscow', 'Frankfurt' ,'Madrid', 'Warsaw', 'Johannesburg', 'Toronto' ,'Seoul', 'Istanbul', 'Kuala Lumpur', 'Jakarta' ,'Amsterdam', 'Brussels', 'Los Angeles')) df_alpha_minus <- tibble(city = c('Dublin', 'Melbourne', 'Washington', 'New Delhi' ,'Bangkok', 'Zurich', 'Vienna', 'Taipei' ,'Buenos Aires', 'Stockholm', 'San Francisco' ,'Guangzhou', 'Manila', 'Bogotá', 'Miami', 'Luxembourg' ,'Riyadh', 'Santiago', 'Barcelona', 'Tel Aviv', 'Lisbon')) Now, we’ll create a new variable called rating. This will contain the global city rating. Notice that this is a very straightforward use of dplyr::mutate(), one of the tidyverse functions you should definitely master. #======================= # ADD GLOBAL CITY RATING #======================= df_alpha_plus_plus <- df_alpha_plus_plus %>% mutate(rating = 'alpha++') df_alpha_plus <- df_alpha_plus %>% mutate(rating = 'alpha+') df_alpha <- df_alpha %>% mutate(rating = 'alpha') df_alpha_minus <- df_alpha_minus %>% mutate(rating = 'alpha-') Next, we’ll combine the different data frames into one using rbind(). #====================================== # COMBINE DATAFRAMES INTO ONE DATAFRAME #====================================== alpha_cities <- rbind(df_alpha_plus_plus ,df_alpha_plus ,df_alpha ,df_alpha_minus ) Now that the data are combined into a single data frame, we’ll get the longitude and latitude using geocode(). #======== # GEOCODE #======== latlong <- geocode(alpha_cities$city) #======== # INSPECT #======== alpha_cities latlong

Once we have the longitude and latitude data, we need to combine it with the original data in the alpha_cities data frame. To do this, we will use cbind().

#============================ # BIND LAT/LONG TO CITY NAMES #============================ alpha_cities <- cbind(alpha_cities, latlong) %>% rename(long = lon) alpha_cities #names(alpha_cities)

Now we have the data that we need, but we’ll need to clean things up a little.

In the visualization we’ll make, we will need to use the faceting technique from ggplot2. When we do this, we’ll facet on the rating variable, but we will need the levels of that variable to be ordered properly (otherwise the facets will be out of order).

To reorder the factor levels of rating, we will use fct_relevel().

#================================================ # REORDER LEVELS OF GLOBAL CITY RATING # - the global city ratings should be ordered # i.e., alpha++, then alpha+ .... # - to do this, we'll use forecats::fct_relevel() #================================================ alpha_cities <- mutate(alpha_cities, rating = fct_relevel(rating, 'alpha++','alpha+','alpha','alpha-')) levels(alpha_cities\$rating)

Because we will be building a map, we’ll need to retrive a map of the world. We can get a world map by using map_data(“world”).

#============== # GET WORLD MAP #============== map_world <- map_data("world")

Ok. We basically have everything we need. Now we will make a simple first draft.

#================ # FIRST DRAFT MAP #================ ggplot() + geom_polygon(data = map_world, aes(x = long, y = lat, group = group)) + geom_point(data = alpha_cities, aes(x = long, y = lat), color = 'red')

… and now we’ll use the faceting technique to break out our plot using the rating variable.

#========================== # CREATE SMALL MULTIPLE MAP #========================== ggplot() + geom_polygon(data = map_world, aes(x = long, y = lat, group = group)) + geom_point(data = alpha_cities, aes(x = long, y = lat), color = 'red') + #facet_grid(. ~ rating) #facet_grid(rating ~ .) facet_wrap(~ rating)

Once again, this is a good example of an intermediate-level project that you could do to practice your data wrangling and data visualization skills.

Having said that, before you attempt to do something like this yourself, I highly recommend that you first master the individual tools that we used here (i.e., the tools from ggplot2, dplyr, and the tidyverse).

To master data science, you need to master the essential tools.

And to make rapid progress, you need to know what to learn, what not to learn, and you need to know how to practice what you learn.

Sharp Sight is dedicated to teaching you how to master the tools of data science as quickly as possible.

You’ll learn:

• What data science tools you should learn (and what not to learn)
• How to practice those tools
• How to put those tools together to execute analyses and machine learning projects
• … and more