Как мне показать логарифмически разнесенные линии сетки на всех галочках на графике журнала с использованием Matplotlib? - PullRequest
27 голосов
/ 28 августа 2010

Я пытаюсь построить график log-log, который показывает логарифмически разнесенные линии сетки на всех галочках, которые вы видите вдоль нижней и левой сторон графика.Я смог показать некоторые линии сетки, используя matplotlib.pyplot.grid(True), но это показывает только линии сетки для меня с мощностью 10 интервалов.В качестве примера, вот что я сейчас получаю:

Alt text

Мне бы очень хотелось, чтобы линии сетки выглядели так, где не все линии сетки.равномерно:

Alt text

Как мне добиться этого в Matplotlib?

Ответы [ 2 ]

36 голосов
/ 28 августа 2010

По сути, вам просто нужно ввести параметр which="both" в команде grid, чтобы он стал:

matplotlib.pyplot.grid(True, which="both")

Другими параметрами, для которых являются «второстепенные» и «основные», которые являются основнымигалочки (которые показаны на вашем графике) и мелкие галочки, которые вы пропустили.Если вам нужны сплошные линии, то вы можете использовать ls="-" в качестве параметра для grid().

Вот пример для ударов:

import numpy as np
from matplotlib import pyplot as plt

x = np.arange(0,100,.5)
y = 2*x**3

plt.loglog(x,y)
plt.grid(True,which="both",ls="-")
plt.show()

, который генерирует:

a log-log graph

6 голосов
/ 08 марта 2011

Как говорит @Bryce, в моей машине правильный kwarg равен majorminor. Я думаю, что сплошные линии с более светлым цветом могут быть лучше, чем пунктирные линии.

plt.grid(True,which="majorminor",ls="-", color='0.65')

у меня работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...