我开始使用Python和Python。我正在尝试创建一个线条图,类似于使用R成功生成的线条图。当我尝试下面的代码尝试在csv文件中读取时,我得到错误ValueError: x and y must have same first dimension
import csv
import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
def getColumn(filename, column):
results = csv.reader(open(filename), delimiter="\t")
return [result[column] for result in results if len(result) > column]
Season = getColumn("vs.csv",0)
VORP = getColumn("vs.csv",2)
fig = plt.figure()
plt.figure("VORP vs Season")
plt.xlabel("Season")
plt.ylabel("VORP")
plt.legend(["PlayerA","PlayerB"], loc=9,ncol=2)
plt.plot(Season, VORP)
plt.show()
CSV文件只包含以下条目:
^{pr2}$
一种解决方案是使用Anaconda附带的^{} 数据分析库。它应该提供一些与R相同的功能,所以它可能是一个很好的选择。它大大简化了从csv文件导入和操作数据。它还有很好的plotting功能,使用^{} 。在
首先,导入} 对象。如果您将数据帧打印到控制台,您可以看到它看起来非常漂亮。在
pandas
和matplotlib.pyplot
,并使用前者从csv创建一个^{现在在DataFrame上调用^{} 方法。这将只返回另一个DataFrame对象,但它将以一种便于图形化的方式进行组织。您需要将“VORP”设置为值,“Season”设置为索引(即行),并将“Player”设置为列,如下所示:
^{pr2}$现在只是一个绘制表格的问题。只需调用pivot表上的^{} 方法(它将返回一个^{} 对象),然后使用
^{3}$matplotlib
来任意操作它。例如,我添加了y轴标签和标题。在下面是结果,使用完整的数据集,它无疑会看起来更好。
相关问题 更多 >
编程相关推荐