Как генерировать случайные линейные графики до 10 итераций? - PullRequest
0 голосов
/ 03 июля 2018

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

import matplotlib.pyplot as plt
# line 1 points
x1 = [1,2,3]
y1 = [2,4,1]
# plotting the line 1 points 
plt.plot(x1, y1, label = "line 1")
# naming the x axis
plt.xlabel('x - axis')
# naming the y axis
plt.ylabel('y - axis')
# giving a title to my graph
plt.title('Two lines on same graph!')
# show a legend on the plot
plt.legend()`enter code here`
# function to show the plot
plt.show()

1 Ответ

0 голосов
/ 03 июля 2018

Если я не ошибаюсь, вы просто хотите 10 графиков со случайными линиями на них.

Из вашего примера я предполагаю, что вам нужны только целочисленные значения.

Используя Numpy можно генерировать списки случайных значений. В следующем примере массивы будут иметь длину 10 и значения в диапазоне от 0 до 15.

import numpy as np
x = np.random.randint(low=0, high=15, size=10)
y = np.random.randint(low=0, high=15, size=10)

Я не понял, если вы также требуете, чтобы эти массивы были различимы.

Давайте начнем рисовать 10 случайных графиков:

import matplotlib.pyplot as plt

def draw_plot(sub):
    """Draw a random graph."""
    # line 1 points
    x = np.sort(np.random.randint(low=0, high=15, size=10))
    y = np.random.randint(low=0, high=15, size=10)
    # plotting the line 1 points 
    sub.plot(x, y, label = "line 1")
    # naming the x axis
    sub.set_xlabel('x - axis')
    # naming the y axis
    sub.set_ylabel('y - axis')
    # giving a title to my graph
    sub.set_title('Two lines on same graph!')
    # show a legend on the plot
    sub.legend()


plt.figure(figsize=(20, 8))

for i in range(10):
    sub = plt.subplot(2, 5, i+1)
    draw_plot(sub)
plt.show()

Результат следующий: 10 random graphs

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