Я только что закончил писать код для построения графика, используя pylab в Python, и теперь я хотел бы наложить сетку 10x10 на точечный график. Как я могу это сделать?
Мой текущий код следующий:
x = numpy.arange(0, 1, 0.05)
y = numpy.power(x, 2)
fig = plt.figure()
ax = fig.gca()
ax.set_xticks(numpy.arange(0, 1, 0.1))
ax.set_yticks(numpy.arange(0, 1., 0.1))
plt.scatter(x, y)
plt.show()
И его вывод:
Я хотел бы получить следующий вывод:
РЕДАКТИРОВАТЬ: Добавлен пример, основанный на ответе Андрея Соболева
python
matplotlib
LiamNeesonFan
источник
источник
matplotlibrc
проблема, стиль сетки определен как сплошные линии, и это больше не работает?mpl.rcParams['grid.linestyle'] = "-"
действительно создает график со сплошными линиями сетки. Какой твойgrid.linestyle
?-
. Я не знаю, почему это перестало работать. Я буду расследовать когда-нибудь.ax.scatter(x,y)
иax.grid(True)
.Чтобы показать линию сетки на каждом тике, добавьте
Например:
Кроме того, вы можете настроить стиль (например, сплошная линия вместо пунктирной линии), добавьте:
Например:
источник
Используя rcParams, вы можете очень легко отобразить сетку следующим образом
Если сетка не отображается даже после изменения этих параметров, используйте
перед звонком
источник
Страница примеров pylab является очень полезным источником. Пример, соответствующий вашему вопросу:
http://matplotlib.sourceforge.net/mpl_examples/pylab_examples/scatter_demo2.py http://matplotlib.sourceforge.net/users/screenshots.html#scatter-demo
источник
Вот небольшой пример, как добавить сетку matplotlib в Gtk3 с Python 2 (не работает в Python 3):
источник