To help us help you, could you please prepare a reproducible example (reprex) illustrating your issue? Please have a look at this guide, to see how to create one:
inst time status age sex
1 0 0 0 0
ph.ecog ph.karno pat.karno meal.cal wt.loss
1 1 3 47 14
so is no NA in "Age" in lung database (provided by survival package)
I just follow by survminer cheatsheet available here
So I still confusing why it's doesn't work
You're right, as I could have seen by summary(lung).
I noticed that while the cheatsheet did give the same code but didn't show the output.
I looked at the examples in help(ggcoxdiagnostics), one of which was
(coxph.fit2, type = "schoenfeld", ox.scale = "observation.id")
instead of ox.scale = "time")
So, I speculated that changing ox.scale to observation.id would plot, and it does. Now, I speculate that you can time order (but not necessarily scale) simply by sorting on time and get there, since observation.id will be sequential by time.