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

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

Alt text

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

Alt text

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

28
задан Peter Mortensen 8 January 2018 в 23:07
поделиться

1 ответ

По сути, вам просто нужно указать параметр what="both" в команде сетки, чтобы он стал следующим:

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

37
ответ дан 28 November 2019 в 03:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: