TITLE: Generalized mathematical model of cancer heterogeneity
AUTHORS: Motohiko Naito

[DESCRIPTION]
<div class = "text-blocks"><div class = "text-block">The number of reports on mathematical modeling related to oncology is increasing with advances in oncology. Even though the field of oncology has developed significantly over the years, oncology-related experiments remain limited in their ability to examine cancer. To overcome this limitation, in this study, a stochastic process was incorporated into conventional cancer growth properties to obtain a generalized mathematical model of cancer growth. Further, an expression for the violation of symmetry by cancer clones that leads to cancer heterogeneity was derived by solving a stochastic differential equation. Monte Carlo simulations of the solution to the derived equation validate the theories formulated in this study. These findings are expected to provide a deeper understanding of the mechanisms of cancer growth, with Monte Carlo simulation having the potential of being a useful tool for oncologists.</div></div>

[STEPS]
?. There's a short protocol available that contains all used codes, and a detailed version that is based on the preprint.
?. [Mathematical modeling of cancerous tumor growth]
The growth of cancer is assumed mathematically to follow the Poisson process with parameter λ.
?. [Mathematical modeling of cancerous tumor growth]
The Poisson process satisfies the following three conditions (16, 17):the increment for events occurring within the interval (t, t + h] is λh.the process is time homogeneous, which implies that the distributions of the increments depend only on time and not on preceding scenarioseach increment over contiguous time intervals is independent of the others
In oncology, the growth of cancer appears autonomous because genetic and/or epigenetic abnormalities occur frequently in cell cycles or cell divisions, and the apoptosis of cancer cells occurs rarely, except in the cases of terminal cancer. Therefore, it is reasonable to assume that over a short period, the growth of cancer cells becomes almost constant, independent of preceding conditions, and occurs at random, i.e., it follows the Poisson process.
?. [Mathematical modeling of cancerous tumor growth]
Let N(t) be the number of cancer cells at time t, andP[N(t) =n] (abbreviated as pn(t)) be the probability that N(t) =n at time t. The change in the number of cancer cells over a short interval (t, t + h] is calculated under the above conditions.
?. [Mathematical modeling of cancerous tumor growth]
For an interval (t, t + h], probabilityP[N(t + h) =n] can be expressed as the sum of three states.
?. [Mathematical modeling of cancerous tumor growth]
Two of these states are as follows: the probability of no cell division occurring in the interval (t, t + h] under the condition N(t) =n the probability of one cell division occurring in the interval (t, t + h] under the condition N(t) =n − 1
The remaining probabilities include one in which the number of cells increases by two or more as a result of one instance of cell division or cell death. However, this state is rarely observed in oncology because of the assumption described above; thus, the other probabilities are close to zero.
?. [Mathematical modeling of cancerous tumor growth]
As these three states are independent of one another and the increase in the number of cells at time interval h under the condition N(t) =n is nλh, the probabilities for the interval (t, t + h] can be given by:p_n(t + h) = (1 - nλh)p_n(t) + (n-1)λhp_{n-1}(t) + o(h).Rearranging this equation and taking the limit h → 0 yields the following:\frac{dp_n(t)}{dt}=-nλp_n(t) + (n-1)λp_{n-1}(t).Let n0 = N(0); then, the initial condition can be defined asp_{n0}(0):=1,\;p_n(0):=0(for\;n ≠n_0).It is known that this differential equation has the following solution:p_n(t)=\begin{pmatrix}n-1\\n_0-1\end{pmatrix}e^{-n_0λt}(1-e^{-λt})^{n-n_0}.          (Eq. 1)This is a negative binomial distribution; thus, the expectation and variance are already known asexpectation:=E[N(t)]=n_0e^{λt},          (Eq. 2)variance:=V[N(t)]=n_0e^{λt}(e^{λt}-1).          (Eq. 3)
?. [Mathematical modeling of cancerous tumor growth]
These results represent the Yule process, or the pure birth process, which is a model of probability that has been extensively studied in mathematics and applied to various other areas including physics and biology. Interested readers can refer to (16) for details. The negative binomial distributions of cancer cells are shown in Figs. 1(a) and (b).
?. [Solving the stochastic differential equation]
Eq. (2) expresses that the expected number of cancer cells at time t is n0eλt when the number of cancer cells at time 0 is n0.
?. [Solving the stochastic differential equation]
This demonstrates that cancer is expected to grow exponentially. Differentiating Eq. (2) yields the following equation:dE[N(t)]=λE[N(t)]dt,\;N(0)=n_0          (Eq. 2')
Even though it is assumed above that the growth of cancer cells is random and the distributions of their increments depend only on the time interval, Eq. (2’) indicates that the randomness of the growth is zero in the short period if we take the average of the number of cancer cells. Thus, the stochastic process is introduced, whose average is zero and whose variance depends only on time intervals. The Brownian motion function is introduced to the growth formula of cancer cells because it is well known that the average of this function is zero and the variance of this function depends only on the time interval (16). In brief, it is natural to introduce the Brownian motion function to the growth formula of cancer cells based on the above assumption.
?. [Solving the stochastic differential equation]
Supposing that the randomness of the growth rate of cancer follows the Brownian motion function, the change in the number of cancer cells can be intuitively expressed as:dN(t)=λN(t)dt+σdBt,\;N(0)=n_0          (Eq. 4)where Bt denotes the Brownian motion function andσ is a deterministic function, which is assumed to be independent of time for the sake of simplicity in this study. A detailed introduction to this model is provided in (17). In the current study, this model has been applied to the field of oncology.
?. [Solving the stochastic differential equation]
Eq. (4) is known to have a solution (17). Using Ito calculus, the solution can be expressed as:N(t)=n_0e^{λt}+σe^{λt}\int_{0}^{t} e^{-λs} dBs.          (Eq. 5)
?. [Solving the stochastic differential equation]
This is a form of the Langevin equation and an example of the Ornstein–Uhlenbeck process (17). The average of the integral in the second term on the right-hand side of Eq. (5) is zero, and its variance is \frac{σ^2}{2λ}(e^{2λt}-1)(17). This variance must be equivalent to Eq. (3); thus, \frac{σ^2}{2λ}(e^{2λt}-1)=n_0e^{λt}(e^{λt}-1). This equation is solved for σ, and σ=±\sqrt{\frac{2n_0λe^{λt}}{e^{λt}+1}}≈±\sqrt{2n_0λ}. For the sake of simplicity, it has been assumed above thatσis time independent; thus, this equation does not contradict the above assumption.Therefore, Eq. (5)can be expressed asN(t)=n_0e^{λt}±e^{λt}\sqrt{2n_0λ}\int_{0}^{t} e^{-λs} dBs.          (Eq. 6) For simplicity,N(t)=n_0e^{λt}±γ(t)e^{λt},where γ(t)=\sqrt{2n_0λ}\int_{0}^{t} e^{-λs} dBs,          (Eq. 6')whereγ(t) is the function following Brownian motion, n0 is the initial number of cancer cells, and λ is the growth rate.
?. [Application of the model to the in vitro data]
In general, if we perform appropriate experiments or the observations of cancer patients’ status, then we obtain the mean and variance of cancer growth.
?. [Application of the model to the in vitro data]
\hat{m}, \hat{v}, and \hat{t} are defined to be the actual values of mean, variance, and time, respectively.
Note that these three symbols with the hat mark are not algebraic variables but the actual experimental data obtained.
?. [Application of the model to the in vitro data]
Then Eqs. (2) and (3) can be written as:expectation:=E[N(\hat{t})]=n_0e^{λ\hat{t}}=\hat{m}variance:=V[N(\hat{t})]=n_0e^{λ\hat{t}}(e^{λ\hat{t}-1})=\hat{v}As these two equations are simultaneous linear equations about n0 and λ, these two variables can be solved as follows:n_0=\frac{\hat{m}^2}{\hat{v}+\hat{m}}          (Eq. 7)λ=\frac{1}{\hat{t}}ln(\frac{\hat{v}+\hat{m}}{\hat{m}})          (Eq. 8) Eqs. (7) and (8) indicate that we can calculate n0 and λ from actual data if we perform appropriate experiments or observations.
The theories discussed above are tested by applying them to the actual in vitro data obtained from cancer growth experiments. It was reported that CD24 and CD26 are suggested as the markers of cancer stem cells in malignant pleural mesothelioma (14). In this report, we established the knock down cells of CD24 or CD26 using short hairpin RNA (they are referred to as sh-CD24 cell lines and sh-CD26 cell lines, and control cell lines are referred to as CV cell lines). We performed the growth test of two different mesothelioma cell lines, i.e., JMM cell lines and H226 cell lines, and compared them with knock down of CD24 or CD26 (14).
?. [Application of the model to the in vitro data]
Even though the growth tests were started by seeding 105 cells in all cell lines, the calculations show that n0 is at most approximately 500 at each day and below ten in certain cases.
?. [Application of the model to the in vitro data]
The n0 at each day decreases considerably as the day passes. These distributions are shown in Figs. 1(c) to (g).The Poisson distributions with parameter λ, which is calculated by Eq. (8), are also shown in Figs. 1(c) to (g) by red lines.
?. [Application of the model to the in vitro data]
To test whether the distributions ofn0 at each day are Poisson distributions, χ2 tests were conducted with the null hypothesis that “the distribution of n0, which is calculated by Eq. (7), is equal to the Poisson distribution with λ, which is calculated by Eq. (8)” (16).
?. [Application of the model to the in vitro data]
The results of this test reveal that two H266 cell lines (CV cell lines and sh-CD24 cell lines) are calculated as p= 0.22 and three JMM cell lines (CV cell lines, sh-CD24 cell lines, and sh-CD26 cell lines) are calculated as p= 0.20. Thus, the null hypothesis cannot be rejected. However, as R warned that χ2 tests might be incorrect in these situations, Fisher’s exact tests were additionally conducted for the same samples under the same conditions. The results of these tests are p= 1 in all five cell lines. The two tests prove that the distribution of n0 is almost surely the Poisson distribution. Thus, it is concluded that the growths of these five cell lines follow the Poisson process and that the abovementioned theories can be applied to these cell lines.
?. [Application of the model to the in vitro data]
The data from H226 and JMM cell lines was then expolited to solve Eq. 6 numerically. The results are plotted in Fig. 2 and Fig. 3, while the actual data obtained from (14) are shown in Fig. 2(a), and Fig. 3(a).
Monte Carlo simulations reveal that the growth of sh-CD24 cell lines and sh-CD26 cell lines is evidently slower than that of CV cell lines, which is in agreement with actual data (Figs. 2 and 3). The results of the Monte Carlo simulations reinforce the former report and demonstrate that the theories obtained from the above discussion can be verified through in vitro experiments. These theories are suggested to be valid in the five cell lines.
?. [Application of the model to the in vitro data]
If the mean and variance of cancer growth are obtained through appropriate experiments, n0 and λ can be calculated by Eqs. (7) and (8). The distribution of n0 calculated by Eq. (7) is demonstrated to be almost surely the Poisson distribution with λ calculated by Eq. (8). Thus, N(t) can be obtained by numerically solving Eq. (6).
Monte Carlo simulations are suggested to be an informative tool to analyze the growth of a cancer.
?. [Violation of symmetry by cancer clones leads to cancer heterogeneity]
Eq. (6) () indicates that cancer growth follows two different formulae.Eq. (6) is numerically solved with n0= 1 to observe how cancer occurs from a single cell.
is defined as the Ryu pathway and   as the Ken pathway.N(t)=n_0e^{λt}+γ(t)e^{λt}N(t)=n_0e^{λt}-γ(t)e^{λt}
?. [Violation of symmetry by cancer clones leads to cancer heterogeneity]
Based on the former section, it is reasonable to set the growth rate as λ= 2.5. Figs. 4(a) to (d) show the results of the simulation of Eq. (6) with n0= 1.
These figures show that two pathways emerge from a “single” cancer cell. To avoid misunderstanding, in this study, symmetric clones have been defined as the clones with identical genetic expressions and that occur in epigenetic scenarios in an environment.
?. [Violation of symmetry by cancer clones leads to cancer heterogeneity]
Figs. 4(a) and (b) show that the different growth patterns that follow Eq. (6) exist from a single clone. Fig. 4(a) shows that the clones proliferate competitively.
A few competitive proliferations are found in Fig. 2(c) and Fig. 3(c).If the clones that follow a pathway (e.g., Ryu) can compete with the other clones (e.g., Ken), then the majority of cancer cells consist of Ryu clones and Ken clones form a minor population (Fig. 4(c)). Thus, Eq. (6) states that a clone can produce asymmetric cell populations.
?. [Violation of symmetry by cancer clones leads to cancer heterogeneity]
Focusing on the interpretation of Eq. 1, consider q=e^{-λt} where Eq. 1 is rewritten as follows:p_n(t)=\begin{pmatrix}n-1\\n_0-1\end{pmatrix}q^{n_0}(1-q)^{n-n_0}, where q=e^{-λt}          (Eq. 1')
Mathematically, Eq. (1’) is typically interpreted as follows: there is a trial with two potentials referred to as “success” and “failure,” where the probability of success is q. Then, pn(t) expresses the probability of the occurrence of n0 successes in n trials (16). Based on this concept, Eq. (1’) is interpretated as follows: cancer clones always select “success,” that is, to proliferate, or “failure,” that is, not to proliferate, every time. The probability of a clone that proliferates at time t, which is named as a growing clone, is q=e−λt. Then, pn(t) expresses the probability that n0 clones out of n cancer cells “succeed” in proliferating. Probability q indicates that the number of growing clones decreases considerably as time passes. This finding is in agreement with the distribution of n0 (Figs. 1(c) to (g)). If there exists a clone whose probability q is nearly zero, then such a clone appears to be quiescent. However, such a clone has the potential to proliferate because q is not exactly zero at any time.
?. [Violation of symmetry by cancer clones leads to cancer heterogeneity]
Let Ng(t) be the number of growing clones at time t. Ng(t) is defined as:N_g(t):=q\;N(t)=n_0±\sqrt{2n_0λ}\int_{0}^{t} e^{-λs} dBs          (Eq. 9)As the average of the Brownian motion function is zero, the equation below holds:expectations\;of\;N_g(t):=E[N_g(t)]=n_0
Eq. (9) suggests that Ng(t) ≤ 0 could be possible depending on parameters. Ng(t) ≤ 0 implies that a cancer cannot grow in a short time interval. At the time period in which Ng(t) ≤ 0, cancer is globally quiescent.
This equation justifies thatn0 is a one of the parameters of cancer. According to Eq. (1’), cancer globally always endeavors to make n0 clones proliferate at any time.
?. [Abstract of the theory to simulate the growth of cancer cells]
Number of the cancer cells at time t:N(t)=n_0e^{λt}±e^{λt}\sqrt{2n_0λ}\int_{0}^{t} e^{-λs} dBs.          (Eq. 1)where, N(0)=n0, λ is a parameter of the growth of cancer cells, Bs denote the brownian motion function.
?. [Abstract of the theory to simulate the growth of cancer cells]
In general, if appropriate experiments or the observations of cancer patients’ status are performed, then the mean and variance of cancer growth are obtained. \hat{m}, \hat{v}, and \hat{t} are defined to be the actual values of mean, variance, and time, respectively.
Note that these three symbols with the hat mark are not algebraic variables but the actual experimental data obtained.
?. [Abstract of the theory to simulate the growth of cancer cells]
Thus, following equitation are obtained:n_0=\frac{\hat{m}^2}{\hat{v}+\hat{m}}, λ=\frac{1}{\hat{t}}log_e(\frac{\hat{v}+\hat{m}}{\hat{m}})In conclusion, if appropriate experiments or the observations of cancer patients’ status are performed, then the number of cancer cells can be solved.
?. [Abstract of the theory to simulate the growth of cancer cells]
The interpretations of Eq. (1) are continued. Eq. (1) apparently consists of two equations. Thus, Eq. (1) indicates that cancer growth follows two different formulae. N(t)=n_0e^{λt}+γ(t)e^{λt}, whereγ(t)=\sqrt{2n_0λ}\int_{0}^{t} e^{-λs} dBs is defined as the Ryu pathway and N(t)=n_0e^{λt}-γ(t)e^{λt} as the Ken pathway.
?. [Design of the numerical solution and Monte Carlo simulation]
The numerical solution of dN(t)=λN(t)dt+σ dBt is obtained by employing the Euler–Maruyama method: n partitions of the interval (0, t] are defined as (ti-1, ti], (i = 1, 2, ..., n), where Δti := ti+1 - ti. Then, ΔN_i:=N_{i+1}(t)-N_i(t)=λΔt_i+σ ΔBt_i,where ΔBti is a random number that follows a normal distribution with mean = 0 and sd=\sqrt{Δt_i}.
This section describes the outline of the numerical solution and simulation conducted in the preprint. The detailed programs written for these calculations are available in the next sections.
?. [Design of the numerical solution and Monte Carlo simulation]
By solving the above equation, the numerical solution for N(t) is obtained: N(t)=n_0+\sum_iΔN_i. This calculation is itself the Monte Carlo method. Based on the law of large numbers, repeating this calculation numerous times can reveal the population mean of cancer growth. This Monte Carlo calculation was repeated 100 times to simulate cancer growth; this is referred to as Monte Carlo simulations.
?. [Code of growth simulation]
First of all, because #(sentence, or number) is automatically ignored by R software as well as Python software, # is usually used to comment to human.If you want to re-produce the exactly same data on your PC, then you can get it to type the below code at first:> set.seed (any integral, e.g. 29 )# code fixing the random number
Note that the code mentioned below has a random number in it. Therefore, even if you run this code with no arrangement, it is not possible to obtain the exact figures presented in this preprint.
The codes shown in Figs 2 and 3 are similar. Thus, only the code shown in Fig. 3 is presented in this manuscript (if you want the data of Fig 2, then you only exchange the value of lam, sigma, and n (appeared first time)).
?. [Fig 3 code]
#Generating the function that plots the Ryu pathway of the JMM CV cell lines.#### jmmryucv ()###jmmryucv #fixing the time and parametersdt TT lam sigma   # sigma is the coefficient of the Brownian motion function.n   #substituting the initial number of cancer cells, another parameter of this equation  #making the list of resultsnntt   #main body of this calculationfor(i in 1:TT){#calculating the increment. The second term says that “Create the one random number that follows normal distribution and multiply it by sigma.”dn n # if variable i is integral, the latest results are added to the list nn and tt if(i %% 1==0){nntt}}#plot the results of the calculationsmatplot(tt,nn,type="l",ylab="Number of Cancer cells", xlab="Time",col="blue”, ylim=c(0,10000))}#Generating the function that plots the Ken pathway of JMM CV cell lines#### jmmkencv ()###jmmkencv dt TT lam sigma n nntt for(i in 1:TT){dn n if(i %% 1==0){nntt}}matplot(tt,nn,type="l",ylab="Number of Cancer cells", xlab="Time",col="blue",ylim=c(0,1e+05)) # 1e+05 =10,000 at R }＃Generating the function that shows the two pathways in one sheet####jmmcvplot ()###jmmcvplot jmmkencv()par(new=TRUE)jmmryucv()}# Calculation codes of the JMM sh-CD24 cell lines, which is basically the same as that of the JMM CV cell lines.#### jmmsd24ryu()###jmmsd24ryu dt TT lam sigma n nntt for(i in 1:TT){dn n if(i %% 1==0){nntt}}matplot(tt,nn,type="l",ylab="Number of Cancer cells", xlab="Time",col="red",ylim=c(0,1e+05))}#### jmmsd24ken()###jmmsd24ken dt TT lam sigma n nntt for(i in 1:TT){dn n if(i %% 1==0){nntt}}matplot(tt,nn,type="l",ylab="Number of Cancer cells", xlab="Time",col="red",ylim=c(0,1e+05))}#### jmmsd24plot()###jmmcd24plot jmmsd24ken()par(new=TRUE)jmmsd24ryu()}＃Calculation codes of the JMM sh-CD26 cell lines#### jmmsd26ryu()###jmmcd26ryu dt TT lam sigma n nntt for(i in 1:TT){dn n if(i %% 1==0){nntt}}matplot(tt,nn,type="l",ylab="Number of Cancer cells", xlab="Time",col="black",ylim=c(0,1e+05))}#### jmmsd26ken()###jmmcd26ken dt TT lam sigma n nntt for(i in 1:TT){dn n if(i %% 1==0){nntt}}matplot(tt,nn,type="l",ylab="Number of Cancer cells", xlab="Time",col="black",ylim=c(0,1e+05))}#### jmmsd26plot()###jmmcd26plot jmmcd26ken()par(new=TRUE)jmmcd26ryu()}# Codes of Monte Carlo simulations. These codes generate the plot x times that calculates the above programming.#### jmmcvgraph (x)#Generating the function that draws jmmcvplot () x times in one sheet.###jmmcvgraphif(xprint("Please enter one or more.")}else{for(i in 1:x){if(i>1){par(new=TRUE)jmmcvplot ()}else{if(i==1){jmmcvplot ()}}}}}#### jmmcd24graph (x)###jmmcd24graphif(xprint("Please enter one or more.")}else{for(i in 1:x){if(i>1){par(new=TRUE)jmmcd24plot ()}else{if(i==1){jmmcd24plot ()}}}}}#### jmmcd26graph (x)###jmmcd26graphif(xprint("Please enter one or more.")}else{for(i in 1:x){if(i>1){par(new=TRUE)jmmcd26plot ()}else{if(i==1){jmmcd26plot ()}}}}}
?. [Fig 4 code]
# Simulation code of n0 = 1 and λ = 2.5### # ryu pathway##ryu dt TT lam sigma n nntt for(i in 1:TT){dn n if(i %% 1==0){nntt}}matplot(tt,nn,type="l",ylab="Number of Cancer cells", xlab="Time",col="black", ylim=c(0,750))}###ken pathway ##ken dt TT lam sigma n nntt for(i in 1:TT){dn n if(i %% 1==0){nntt}}matplot(tt,nn,type="l",ylab="Number of Cancer cells", xlab="Time",col="red", ylim=c(0,750))}### Simulation code of growing cancer clones###Ryu code of the JMM CV cell linesjmmngryucv dt TT lam sigma n nntt for(i in 1:TT){dn n if(i %% 1==0){nntt}}matplot(tt,nn,type="l",ylab="Number of Growing clones", xlab="Time", col="black", ylim=c(0,250))}#Ken code of the JMM CV cell linesjmmngkencv dt TT lam sigma n nntt for(i in 1:TT){dn n if(i %% 1==0){nntt}}matplot(tt,nn,type="l",ylab="Number of Growing clones", xlab="Time", col="red", ylim=c(0,250))}# JMM sh-cd26 simulations# Ryu code jmmcd26ngryu dt TT lam sigma n nntt for(i in 1:TT){dn n if(i %% 1==0){nntt}}matplot(tt,nn,type="l",ylab="Number of Growing Cancer cells", xlab="Time", col="black", ylim=c(-10,30))par(new=TRUE)matplot(tt, 0*tt, type="l", lty=6, ylab="Number of Growing Cancer cells", xlab="Time", col="blue", ylim=c(-10,30))}#Ken codejmmcd26ngken dt TT lam sigma n nntt for(i in 1:TT){dn n if(i %% 1==0){nntt}}matplot(tt,nn,type="l",ylab="Number of Growing Cancer cells", xlab="Time", col="red", ylim=c(-10,30))par(new=TRUE)matplot(tt, 0*tt, type="l", lty=6, ylab="Number of Growing Cancer cells", xlab="Time", col="red", ylim=c(-10,30))}# Plotting the growing clones of the JMM sh-CD26 cell line jmmcd26ngplt jmmcd26ngken()par(new=TRUE)jmmcd26ngryu()}
?. [Fig 2(a) and Fig 3(a) code]
#Note: This graph is written by Python, matplotlibimport numpy as npimport matplotlib.pyplot as pltJMMcvm = (1., 8.93, 23.46, 79.63)JMMcvsd = (0., 0.15, 2.79, 57.90)JMMsh24m = (1.,7.37, 13.47, 29.18)JMMsh24sd =(0., 0.28, 0.43, 18.91)JMMsh26m = (1., 4.40, 10.44, 24.04)JMMsh26sd =(0., 0.87, 2.29,4.57)#the above six results are same as those listed in Table 1n_groups = 4fig, ax = plt.subplots()index = np.arange(n_groups)bar_width = 0.3# Drawing the bar graphJMMcvBar = plt.bar(index, JMMcvm, bar_width,alpha=opacity,color='blue',yerr=JMMcvsd,error_kw=error_config)JMMsh24Bar =plt.bar(index +bar_width, JMMsd24m, bar_width,alpha=opacity,color='red',yerr=JMMsh24sd,error_kw=error_config)JMMsh26Bar = plt.bar(index +2*bar_width, JMMsh26m, bar_width,alpha=opacity,color='black',yerr=JMMsh26sd,error_kw=error_config)plt.xlabel('Time')plt.ylabel('Number of cancer cells')plt.xticks(index + 2*bar_width / 3, ('Day1', 'Day4', 'Day7', 'Day10'))plt.tight_layout()plt.show()