Python 如何使用matplotlib将两个csv文件添加到一个图形中?
我有两组数据,它们在X上的升幅相同。它们都在CSV文件中。我想把这两个输入到一个图表中,但我被卡住了 这是与我的当前代码一起显示的图形 我需要它来重置X值和图形层,而不是在完成后返回到Python 如何使用matplotlib将两个csv文件添加到一个图形中?,python,csv,graph,Python,Csv,Graph,我有两组数据,它们在X上的升幅相同。它们都在CSV文件中。我想把这两个输入到一个图表中,但我被卡住了 这是与我的当前代码一起显示的图形 我需要它来重置X值和图形层,而不是在完成后返回到(0,0) 我的tester3文件包含数据 我的tester4文件包含数据 这是我当前的代码 导入matplotlib.pyplot作为plt 导入csv x=[] y=[] 将open('tester3.csv','r')作为csvfile: plots=csv.reader(csvfile,分隔符=',')
(0,0)
我的tester3文件包含数据
我的tester4文件包含数据
这是我当前的代码
导入matplotlib.pyplot作为plt
导入csv
x=[]
y=[]
将open('tester3.csv','r')作为csvfile:
plots=csv.reader(csvfile,分隔符=',')
对于绘图中的行:
x、 追加(int(行[0]))
y、 追加(int(行[1]))
plt.绘图(x,y,label='TEST 1!',color='black')
plt.legend()
将open('tester4.csv','r')作为csvfile:
plots=csv.reader(csvfile,分隔符=',')
对于绘图中的行:
x、 追加(int(行[0]))
y、 追加(int(行[1]))
plt.plot(x,y,label='TEST 2!',颜色='green')
plt.xlabel('x')
plt.ylabel('y')
plt.title('有趣的图表\n检查出来')
plt.legend()
plt.show()
您不需要将新数据附加到相同的x和y阵列,您可以执行以下快速修复:
导入matplotlib.pyplot作为plt
导入csv
x=[]
y=[]
将open('tester3.csv','r')作为csvfile:
plots=csv.reader(csvfile,分隔符=',')
对于绘图中的行:
x、 追加(int(行[0]))
y、 追加(int(行[1]))
plt.绘图(x,y,label='TEST 1!',color='black')
x1=[]
y1=[]
将open('tester4.csv','r')作为csvfile:
plots=csv.reader(csvfile,分隔符=',')
对于绘图中的行:
x1.追加(int(行[0]))
y1.追加(int(行[1]))
plt.plt(x1,y1,label='TEST 2!',颜色='green')
plt.xlabel('x')
plt.ylabel('y')
plt.title('有趣的图表\n检查出来')
plt.legend()
plt.show()
分别绘制数据。不要继续向同一集合添加数据 以下是将数据加载到绘图中的辅助函数:
import matplotlib.pyplot as plt
import csv
# Note: list(zip(*data)) transposes rows and columns, so x
# gets the first column numbers and y gets the second.
def plot_data(plt,file,label,color):
with open(file,newline='') as csvfile:
x,y = list(zip(*csv.reader(csvfile)))
plt.plot(x,y,label=label,color=color)
plot_data(plt,'tester3.csv','TEST 1!','black')
plot_data(plt,'tester4.csv','TEST 2!','green')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Interesting Graph\nCheck it out')
plt.legend()
plt.show()
在绘制第一组绘图后,您可以清空
x
和y
,然后它应该可以正常工作。