LOS ANGELES -- "Star Wars" is still dominating the movie universe, with "Rogue One: A Star Wars Story" leading the box office for the fourth straight week.

The intergalactic adventure edged out the NASA drama "Hidden Figures" for the top spot this weekend, according to studio estimates Sunday. "Rogue One" brought in $21.97 million. "Hidden Figures" -- which expanded by more than 2,000 theatres Friday after opening in limited release -- collected $21.8 million.

"It's a great weekend for space movies," said Paul Dergarabedian, senior media analyst for box office tracker comScore, noting that the Jennifer Lawrence-Chris Pratt space story "Passengers" also remains among the top 10.

"Rogue One," though, has been unstoppable, Dergarabedian said, and is expected to top "Finding Dory" as the biggest box-office success of 2016.

The animated animal musical "Sing" was in third place this weekend, taking in another $19.5 million for a three-week haul of $213.3 million. "Underworld: Blood Wars" debuted in fourth place with $13.1 million, followed by the celebrated musical "La La Land" with $10 million.

Estimated ticket sales for Friday through Sunday at U.S. and Canadian theatres, according to comScore. Final domestic figures will be released Monday.

1. "Rogue One: A Star Wars Story," $21.97 million.

2. "Hidden Figures," $21.8 million.

3. "Sing," 19.5 million.

4. "Underworld: Blood Wars," $13.1 million.

5. "La La Land," $10 million.

6. "Passengers," $8.8 million.

7. "Why Him?" $6.5 million.

8. "Moana," $6.4 million.

9. "Fences," $4.7 million.

10. "Assassin's Creed," $3.8 million.