Did this start suddenly, or over a period of time? What CEL’s have/are being thrown? Find access to a decent Scantool, see pending Codes, view the Sensors @ operating Temp, Motor at Idle- look for any which are not making real-time corrections. Datalog with the Scan-tool so you can observe Sensors after a Drive Cycle, I’d first look at:
1) Dirty/Bad/TPS. May have dead spots between Idle and WOT. A Potentiometer (like turning an old, worn out rotary Volume Dial, speaker “crackles”) it provides variable output to the ECU coinciding with TB Butterfly(ies) position. If dirty, worn- (like the Radio example) irregular output to CPU occurs, poor/or no Throttle response from affected area(s) result.
2) Bad 02 Sensor/Wiring. The O2's provide feedback to the ECU to manage/ensure fuel/air ratio is not too rich, nor lean under normal conditions (closed Loop). However, at WOT the CPU defaults to open Loop, & fuel/air mixture is then determined by the fuel Map.
3) Dirty/Bad MAF. Working with MAF/O2 Sensors, Provides CPU with information, CPU modifies Fuel Injector Pulses to provide Correct A/F Ratio (14.7:1).
4) Vacuum Leaks in Intake or lines. Any Vacuum leakage may decrease throttle response. Leakage of a Cool Air or OEM Intake, between the MAF & TB, especially- will cause significant issues regarding smooth, linear ‘off Idle’ acceleration, Performance.
There are many things that may cause this issue, usually simple. Car functions correctly @ WOT, open Loop. Seems like a Sensor issue, Wiring to Sensors, or Vacuum leak, from provided Info. . CPU Codes are very important to post if you can, with any additional(s), E.G; Car’s Build, recent work done, any other issues, more specific Driving Data in different conditions, etc..
Cheers!