我正在尝试使用 Matplotlib 绘制一些测量数据。 使用下面显示的代码,我得到了绘图窗口和 GUI,但没有绘制任何绘图。如果我将绘图类型更改为圆形或十字形,效果就很好。
# coding=utf-8
import matplotlib.pyplot as plt
import csv
with open("AgPVP8.2.171g1L#2.csv") as csvfile:
reader = csv.reader(csvfile, delimiter=",")
frequencies = []
phases = []
for row in reader:
frequency = float(row[0])
phase = float(row[4])
frequencies.append(frequency)
phases.append(phase)
plt.plot([frequencies], [phases], "b-")
plt.xscale("log")
plt.show()
最佳答案
问题是频率和相位仅存在于 with open(...
的范围内,您必须将其放在以下位置:
import matplotlib.pyplot as plt
import csv
with open("AgPVP8.2.171g1L#2.csv") as csvfile:
reader = csv.reader(csvfile, delimiter=",")
frequencies = []
phases = []
for row in reader:
frequency = float(row[0])
phase = float(row[4])
frequencies.append(frequency)
phases.append(phase)
plt.plot(frequencies, phases, "-b")
plt.xscale("log")
plt.show()
关于python - Matplotlib 不绘制线图;十字形、圆形和三角形都可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44269122/