【发布时间】:2022-01-22 21:45:47
【问题描述】:
我有一个包含未知数量列的文件。这些列是以这种方式排列的一堆 x 和 y 值:x1、y1、x2、y2、x3、y3....等。 我想使用 for 循环来绘制它们,因为我想与它集成一个颜色条,颜色是根据代码中写入的变量进行标准化的。
我为加载 txt 文件并将列命名为 F1、F2、F3、...等而编写的代码。 因此,我尝试通过循环索引的模来解决 x 和 y 之间的切换。 但它不起作用:
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_csv('All.txt', delimiter='\t', header = None)
cols = list(data.columns.values)
index = 1
for column in cols:
cols[index-1] = "F"+str(index)
index += 1
vals = data.values.tolist()
newDataFrame = pd.DataFrame(vals, columns=cols)
first_column = data[data.columns[0]]
for i in range(len(data.columns.values)):
if i%2==1:
plt.plot(data[data.columns[i]],data[data.columns[i+1]])
index += 1
plt.show()
颜色条的代码在这个问题中: Matplotlib Logscale colorbar with for loop for loading data and plotting?
总结: 问题有两个部分: 1/ 绘制包含 x1,y1,x2,y2....等的数据框。 2/ 将颜色条与循环集成。
谢谢!
【问题讨论】:
-
你的
for循环是完全错误的。在range中使用一个步骤会更好:for i in range(0, len(data.columns.values), 2): plt.plot(data[data.columns[i]],data[data.columns[i+1]])
标签: python pandas matplotlib data-visualization