如何使用matplotlib从CSV文件中绘制特定数据

时间:2017-05-22 16:57:39

标签: python csv numpy matplotlib

从csv文件的所有行中,我想只保留每行的两个算术值,并将它们用作我想要制作的绘图的X-Y对,然后再用于#34; feed"他们写的代码集中了他们。有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

您可以使用numpy.genfromtxt仅从csv文件加载特定列,使用delimiter=','usecols kwarg来选择要读取的列。

例如:

import numpy as np
import matplotlib.pyplot as plt

# Create a dummy csv file
from StringIO import StringIO
mycsv = StringIO("""
        1.,2.,3.,9.
        3.,4.,2.,4.
        8.,3.,4.,1.
        1.,6.,3.,4.
        """)

# Read csv using genfromtxt. Select only the second and firth columns.
x, y = np.genfromtxt(mycsv, usecols=(1, 3), unpack=True, delimiter=',')

plt.plot(x, y, 'ko')
plt.show()

enter image description here

答案 1 :(得分:0)

您可以使用python的CSV模块和列表索引来提取数据并将其存储在列表中。

我觉得这个网站的教程很有启发性:https://pythonprogramming.net/reading-csv-files-python-3/

您可以使用 plt.scatter()方法绘制数据。

import matplotlib.pytplot as plt

plt.scatter(x,y) # x and y being 2 lists of the coordinates of your values
plt.show()