Same ten nutrients, counted per ten rupees spent. Prices are indicative Chennai retail, on edible weight, before oil and fuel. Serving size drops out of the argument entirely. A rupee is a rupee. Higher and further right is better.
For each food, the price per kilo of edible weight tells you what 100 kcal costs. The per-100 kcal score and its protein are divided by that cost and multiplied by ten, so the axes read as nutrient score and grams of protein per ten rupees. No normalising this time: the numbers are what they are.
Tomato swings fivefold in a year, eggs by half, fish by season and city. Every price here is a single indicative figure. The table sits at the top of the page's script, one line per food, so it can be re-priced for another city or month in a few minutes. The shape of the chart survives most re-pricings. The exact order within a category does not.
Curry leaves score 266 per ten rupees because ten rupees buys a great many curry leaves. Nobody eats 100 kcal of them. Per rupee is scale-free, which is its strength, but it says nothing about whether you can eat the quantity. Read it beside the per-serving chart, not instead of it.
Dals, millets and greens own the top of this chart. Chicken liver and eggs are the only animal foods that keep up, with mathi not far behind. Goat, prawns and pomfret give you a fine plate and a thin wallet. Liver really does cost less than paneer, and scores five times higher per rupee.