Мой код построения графиков, похоже, не показывает график (строки с 12 по 59, вероятно, не нарушают его, но я включил их на всякий случай - у меня были данные, которые были приняты некоторое время, чтобы внести в отсортированный список).Matplotlib plt.show() не показывает график
Я возился с ней и пробовал разные вещи, но я думаю, что главная проблема заключается в том, что я не понимаю, что figure()
, plt.show()
, import matplotlib.pyplot as plt
, from pylab import *
и некоторые другие линии на самом деле означают. Я не знаю, когда мне нужно их использовать или почему я должен их использовать.
Не мог бы кто-нибудь помочь мне и объяснить, как нарисовать .svg из двух списков и показать в конце подробную информацию о том, почему каждая строка включена и когда я положил plt.
спереди и когда я положил ax.
спереди и когда Я ничего не ставил перед собой и т. Д.? Извините, это займет так много времени, чтобы ответить, но я действительно не понимаю matplotlib или любой из примеров на их веб-сайте.
import matplotlib
matplotlib.use('SVG')
import matplotlib.pyplot as plt
import string, math
from pylab import *
from decimal import *
name = raw_input("Enter the filename:\n")
myfile = open("datafiles/"+name+".data", 'r')
xData = []
yData = []
plots = [name]
mydata = myfile.readlines()
i = 0
N = len(mydata)
while (i < N):
string = mydata[i]
data = [str(x) for x in string.split(" ")]
data=filter(lambda x: len(x)>0, data)
xData.append(data[1])
yData.append(data[2])
i = i + 1
i = 0
while (i < N):
if (float(xData[i]) <= 0):
xData[i] = ""
yData[i] = ""
if (xData[i] == "nan" or xData[i] == "-nan"):
xData[i] = ""
yData[i] = ""
i = i + 1
xData=filter(lambda x: len(x)>0, xData)
yData=filter(lambda x: len(x)>0, yData)
N = len(xData)
i = 0
while (i < N):
xData[i] = float(xData[i])
yData[i] = float(yData[i])
i = i + 1
j = 0
while (j < N):
i = 0
while (i < (N-j-1)):
if (xData[i]>xData[i+1]):
a, b = xData[i], xData[i+1]
xData[i+1], xData[i] = a, b
a, b = yData[i], yData[i+1]
yData[i+1], yData[i] = a, b
i = i + 1
j = j + 1
plot = plt.figure(1)
plt.plot(xData, yData)
plt.show(1)
plt.savefig(name)
Ну ладно, спасибо. Поэтому, когда я комментирую 'matplotlib.use ('SVG'), он может отображать интерактивную вещь, но тогда я не могу сохранить ее как' .svg'. Есть ли способ иметь и то и другое? У меня еще не было возможности прочитать всю ссылку, хотя, если ответ будет, я найду его сегодня вечером, когда вернусь домой. –