Как построить график с уменьшением оси x на фиксированную величину? - PullRequest
0 голосов
/ 03 сентября 2018

Скажите, у меня есть следующий код:

import random
import matplotlib.pyplot as plt

lis = random.sample(range(1, 5000), 4000)

plt.plot(lis)

Это график:

enter image description here

Ось X печатается от 0 до 4000 с шагом шага 1. Но я хочу, чтобы она была от 0 до 4 с размером шага 0,0001.

Я пробовал это:

import random
import numpy as np
import matplotlib.pyplot as plt

lis = random.sample(range(1, 5000), 4000)

plt.plot(lis)
plt.xlabel(np.linspace(0, 4, num=40001))

Но это не делает работу:

enter image description here

Как мне это сделать?

1 Ответ

0 голосов
/ 03 сентября 2018

plt.plot() может принимать только один массив в качестве аргумента (т.е. plt.plot(y)), затем он интерпретирует его как значения y и отображает его просто над индексами, как в вашем примере. Но если вам нужны разные значения x, вы можете просто поместить их перед значениями y в списке аргументов, например plt.plot(x, y), где x - это ваш массив значений x, который, очевидно, должен иметь ту же длину, что и y.

В вашем случае это будет означать

import numpy as np
import matplotlib.pyplot as plt

lis = np.random.randint(0, 5000, 4000)
x = np.arange(0, 4, 0.001)
plt.plot(x, lis)

См. Документы для дальнейшего чтения: https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html

...