Yahoo Finance and Stockcharts use ADJUSTED-PRICES that are ratio-adjusted for distributions (not subtraction-adjusted; that would be wrong, but see some links below). If the pre-distribution price is Pi that drops by distribution Di per share to Pf = Pi-Di on the ex-dividend date, then all older prices are multiplied by (Pf/Pi) = (Pi-Di)/Pi. The cumulative total return (TR) can be deduced from the ratio of adjusted prices at two specific times, and that can be annualized. This provides good enough approximations up to 10 years. Beyond 10 yrs, the approximation errors become noticeable, but still OK for most purposes.
Many sites use GROWTH-OF-10K where the number of shares are adjusted for distributions. If before the distribution, the price is Pi and the number of shares is Ni, then the balance is Bi = Ni*Pi. If dividend Di is distributed on the ex-dividend date, then price drops to Pf = Pi-Di, and additional shares for reinvestment are Ni*Di/(Pi-Di). The new number of shares is Nf = Ni + Ni*Di/(Pi-Di) = Ni *(Pi/(Pi-Di)), and the post-distribution balance is Bf = Ni*(Pi/(Pi-Di))*(Pi-Di) = Ni*Pi = Bi. So, the balance is unchanged after reinvestment of distributions (i.e., Bf = Bi); the decrease in price is offset by the increase in the number of shares.
Note a certain SYMMETRY: In Growth-of-10K, the number of shares is adjusted by the multiplier Mi = Pi/(Pi-Di), while in adjusted-prices, all old prices are adjusted by the multiplier (1/Mi) = (Pi-Di)/Pi. Thus, the cumulative TR between two specific times T1 and Tn by both approaches must be the SAME ( = M1*M2*...*Mn - 1). The graphs of Growth-of-10K and adjusted-prices should also be similar except for a scale factor. But differences arise from Yahoo Finance practice of rounding share prices to 2 decimal places only (at each distribution step), and this rounding error builds up over time. Moreover, some distributions are missed in Yahoo Finance and are not corrected and that introduces additional errors. It is unclear what Stockcharts does internally (whether rounding prices to 2 decimal places or doing calculations with higher precision) as these data details are not visible.
Yahoo Finance charts are for actual prices only. Stockcharts have the option of adjusted prices (for TICKER; default) and actual-prices (for _TICKER) and both can be seen in the same chart.LINK