Как показать графики matplotlib в python
Я уверен, что конфигурация matplotlib для python верна, так как я использовал ее для построения некоторых цифр.
Но сегодня он просто перестает работать по какой-то причине. Я протестировал его с помощью действительно простого кода, например:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 5, 0.1)
y = np.sin(x)
plt.plot(x, y)
нет ошибки, но нет никакой фигуры.
Я использую python 2.6, Eclipse в Ubuntu
Ответы
Ответ 1
В matplotlib у вас есть два основных варианта:
-
Создайте свои сюжеты и нарисуйте их в конце:
import matplotlib.pyplot as plt
plt.plot(x, y)
plt.plot(z, t)
plt.show()
-
Создайте свои сюжеты и нарисуйте их, как только они будут созданы:
import matplotlib.pyplot as plt
from matplotlib import interactive
interactive(True)
plt.plot(x, y)
raw_input('press return to continue')
plt.plot(z, t)
raw_input('press return to end')
Ответ 2
Вы должны использовать plt.show()
в конце, чтобы увидеть график
Ответ 3
В случае, если кто-то еще окажется здесь с ноутбуками Jupyter, вам просто нужно
%matplotlib inline
Назначение "% matplotlib inline"
Ответ 4
Сохраните график как png
plt.savefig("temp.png")
Ответ 5
Вам нужно использовать метод show()
, когда вы выполнили все инициализации в своем коде, чтобы увидеть завершенную версию сюжета:
import matplotlib.pyplot as plt
plt.plot(x, y)
................
................
plot.show()
Ответ 6
plt.plot(X,y)
просто рисует график на холсте. Чтобы просмотреть график, вы должны указать plt.show()
после plt.plot(X,y)
. Так,
import matplotlib.pyplot as plt
X = //your x
y = //your y
plt.plot(X,y)
plt.show()
Ответ 7
import numpy as np
import matplotlib.pyplot as plt
x1 = 5 * np.random.rand(50)
x2 = 5 * np.random.rand(50) + 25
x3 = 30 * np.random.rand(25)
x = np.concatenate((x1, x2, x3))
y1 = 5 * np.random.rand(50)
y2 = 5 * np.random.rand(50) + 25
y3 = 30 * np.random.rand(25)
y = np.concatenate((y1, y2, y3))
color_array = ['b'] * 50 + ['g'] * 50 + ['r'] * 25
plt.scatter(x, y, s=[50], marker='D', c=color_array)
plt.show()