Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Возможно, вам нужно указать логический аргумент в ваших вызовах, например. используйте ax.yaxis.grid(True)
вместо ax.yaxis.grid()
. Кроме того, поскольку вы используете их оба, вы можете объединить их в ax.grid
, который работает на обоих, а не делать это один раз для каждого измерения.
ax = plt.gca()
ax.grid(True)
Это должно сортировать вас.
возможно, это может решить проблему: matplotlib, определить размер сетки на графике
ax.grid(True, which='both')
Правда в том, что сетка работает, но есть только одна v-grid в 00:00, а в других нет сетки. Я встречаю ту же проблему, что в течение 1 дня есть только одна сетка.
plt.gca().xaxis.grid(True)
оказалось для меня решением
myaxes.grid(which='x')
не работал для меня с matplotlib версии 1.4.2 ... не смог заставить ключевое слово which
работать вообще. Однако myaxes.xaxis.grid(True)
сделал трюк и концептуально лучше ИМО. О, и не забывайте о полезном методе myaxes.set_axisbelow(True)
, чтобы привязать сетку к данным.
– travc
16 November 2014 в 20:26
Согласно документации matplotlib , сигнатура метода Axes
класса grid()
выглядит следующим образом:
Axes.grid (b = None, который = 'major', axis = 'both', ** kwargs) Включить или выключить сеточки осей.
which
может быть «основным» (по умолчанию), «второстепенным» или «обеим», чтобы контролировать, затронуты ли основные сетки тика, небольшие сетки тика или оба.blockquote>
axis
может быть «оба» (по умолчанию), «x» или «y» для управления тем, какой набор линий сетки нарисован.Итак, чтобы показать линии сетки для обоих ось x и ось y, мы можем использовать следующий код:
ax = plt.gca() ax.grid(which='major', axis='both', linestyle='--')
Этот метод дает нам более тонкий контроль над тем, что показывать для линий сетки.
plt.show()
– wim 18 April 2013 в 05:25ipython --pylab
, и сразу жеplt.grid(True)
- вы видите сетку? – wim 18 April 2013 в 06:09plt.grid(True)
и получил пустой граф как с вертикальными, так и с горизонтальными линиями сетки, так что да, это странно, почему я не могу получить это для своего участка. Я использую последнюю доступную версию iPython. – Osmond Bishop 19 April 2013 в 00:28