I used matplotlib to create a scatter plot about fruits. Here is python algorithm.
#
# Creat a scatter plot about fruits!
#
import numpy
import matplotlib.pyplot
# read refined results from TXT file
lines = []
with open("fruits.tsv", "r") as dataFile:
lines = dataFile.readlines()
# remove line breaks
lines = [line.strip() for line in lines]
# break lines into tokens
tuples = [line.split("\t") for line in lines]
# remove the column names
titles = tuples.pop(0)
# make lists for each column
costs = [float(tuple[0]) for tuple in tuples]
calories = [int(tuple[1]) for tuple in tuples]
name = [tuple[2] for tuple in tuples]
plot = matplotlib.pyplot.scatter(costs, calories)
matplotlib.pyplot.title("Fruits by Cost and Calories")
matplotlib.pyplot.ylabel(titles[2])
matplotlib.pyplot.xlabel(titles[1])
matplotlib.pyplot.semilogy()
matplotlib.pyplot.grid(True, which='both')
matplotlib.pyplot.show()
And here is my tsv file.
Cost Calories Name
2.1 5 Apple
1.4 4 Peach
4.1 2 Plum
3.6 1 Banana
(Yes, the data is a little outlandish.)
Why is name appearing on the y-axis, when I explicitly inputted cost for the y-axis?
To be clear, why is name on the y-axis when I inputted cost?

Python lists are indexed starting from 0, not 1:
Aside #1:
isn’t needed. Remove it and see– it simply makes an empty list which is thrown away inside your “with”.
Aside #2: tempting as it is, please don’t call your tuples tuple; that clobbers the built-in type. And they can be pretty handy for conversion purposes (for example, you used “float” and “int” here.)