Маркировка целых точек на участке в python - PullRequest
0 голосов
/ 29 марта 2020

В приведенном ниже коде я хотел бы отметить целые точки. Я перепробовал много вариантов и разных функций, но не смог достичь желаемого результата.

import numpy as np
from matplotlib import pyplot as plt

n = np.arange(-3,3,0.1)
x = n**2
plt.plot(n,x,'-ok')

Желаемый сюжет: desired plot

1 Ответ

1 голос
/ 30 марта 2020

Вот пример:

  • используйте x-значения в плотном интервале для рисования гладкой кривой
  • используйте n-значений целых чисел для рисования точек

Полином с целыми коэффициентами дает целочисленные значения для всех целочисленных входных данных.

import matplotlib.pyplot as plt
import numpy as np

def f(x):
    return x ** 2

x = np.linspace(-3.1, 3.1, 100)
plt.plot(x, f(x), '-r')
n = np.arange(-3, 4)
plt.plot(n, f(n), 'or')

plt.show()

Чтобы получить сегментированную линию вместо кривой, как линейный график, так и график рассеяния могут быть выполнены только с целочисленные координаты:

n = np.arange(-3, 4)
plt.plot(n, f(n), '-r')
plt.plot(n, f(n), 'or')

resulting plot

...