所以,对不起,如果有任何误解,我几乎没有经验编码。 我有一个包含30个数据集的csv文件,每个数据集包含5个有序值。我需要创建一个散点图,其x轴为1-5(值的顺序)与每个数据集中的值(每个x值的三十个y值)。我一直在尝试使用提供的一些示例代码,但我实际上并没有得到任何代码(示例代码用于与我们的代码不相似的不同数据集)并且我不知道还有什么其他选择。
要导入数据,我有:
data = np.loadtxt('(omitted).csv',delimiter=',',skiprows=1+2, usecols=range(1,6))
尝试从csv文件加载数据。使用excel格式,我需要省略第1行和第2行,以及列A,以便它只加载原始数据。如果我打印(数据),它似乎正确显示。
示例代码中的下一步是标记列(在示例中它们是距离,时间等)。现在,我已将每列标记为其顺序:
throwone = data[:,0];
throwtwo = data[:,1];
throwthree = data[:,2];
throwfour = data[:,3];
throwfive = data[:,4];
此时,其余代码没有很好地解释或与我们的数据集相关。它使用matplotlib;一些无法解释的行是:
plt.figure(1)
plt.clf()
我很喜欢标记x和y轴,对轴进行限制,因为这些都是有意义的。我只是迷失了如何正确绘制数据,以便每个x值都具有所有30个相应的y值。
这是我到目前为止所做的一切:
#import modules
import numpy as np
import matplotlib.pyplot as plt
#load data
data = np.loadtxt('(omitted).csv',delimiter=',',skiprows=1+2, usecols=range(1,6))
#print(data) #ensure data looks to be imported correctly
#label columns
throwone = data[:,0];
throwtwo = data[:,1];
throwthree = data[:,2];
throwfour = data[:,3];
throwfive = data[:,4];
plt.figure(1)
plt.clf()
plt.savefig('test.png')
现在测试显示为空白,我猜这意味着我必须做一些特定的事情才能将数据添加到情节中,但我对于该做什么感到很遗憾。
如果它有任何区别,我在Anaconda的spyder中使用python 3.6
答案 0 :(得分:0)
plt
用于创建图表。
首先需要定义一个情节。
首先在python中可能会让人感到困惑,因为matplotlib只是发出命令而不是将变量赋给任何东西。
对于散点图,如下所示
plt.scatter(x, y, alpha=0.5)
在保存大量文件之前进行测试,您可以使用
打印到屏幕plt.show()
请在此处查看更多指导。
https://matplotlib.org/examples/shapes_and_collections/scatter_demo.html
以及更多细节:
https://plot.ly/matplotlib/scatter/
这里也是一个很棒的免费互动教程:
https://www.datacamp.com/community/tutorials/matplotlib-tutorial-python
至于为情节创建多个轴,请尝试:
y = [1, 2]
x = [throwone, throwfive, throwfour, throwthree, throwtwo]
for xn, yn in zip(x, y):
plt.scatter([yn] * len(xn), xn)
plt.xticks([1, 2])
plt.axes().set_xticklabels(['Value1', 'Value2'])