Le canton n° 4 (Bonnat) comprend les communes suivantes : Bonnat, Le Bourg-d'Hem, La Cellette, Chambon-Sainte-Croix, Champsanglard, Châtelus-Malvaleix, Chéniers, La Forêt-du-Temple, Genouillac, Linard-Malval, Lourdoueix-Saint-Pierre, Méasnes, Mortroux, Moutier-Malcard, Nouziers, Roches, Saint-Dizier-les-Domaines.
Le bureau centralisateur de ce canton est le bureau centralisateur de la commune de Bonnat.