【问题标题】:How to plot specific data from a CSV file with matplotlib如何使用 matplotlib 从 CSV 文件中绘制特定数据
【发布时间】:2017-05-22 16:57:39
【问题描述】:

从 csv 文件的所有行中,我想只保留每行中的两个算术值,并将它们用作我想要制作的绘图的 X-Y 对,然后将它们“提供”到我编写的代码上集群他们。有什么帮助吗?

【问题讨论】:

  • 首先,学习numpy,然后如何将csv加载到numpy数组中。然后选择列并绘制它们是微不足道的。稍微了解一下集群代码可能会让我们知道您已经了解了多少。

标签: python csv numpy matplotlib


【解决方案1】:

您可以使用 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()

【讨论】:

    【解决方案2】:

    您可以使用 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()
    

    【讨论】:

      猜你喜欢
      • 2012-11-12
      • 1970-01-01
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多