заполнение точечной диаграммы Mat Plot Lib точками с использованием цикла

#python #numpy #matplotlib #plot #scatter-plot

#python #numpy #matplotlib #график #точечная диаграмма

Вопрос:

введите описание изображения здесь

Я попробовал это, но получил сообщение об ошибке, что они не одинакового размера

 x = np.linspace(0,501,num=50)
y = np.linspace(0,501,num=50)

for i in range(10,510,10):
    
    plt.scatter(x,i,c='dimgrey')
    ax = plt.gca()
    ax.set_facecolor('darkgrey')
    plt.xlim(0,501)
    plt.ylim(0,501);          
 

Моя общая цель — иметь N количество точек, нанесенных в ориентации сетки на точечной диаграмме. Я привязывал график к 2500 точкам, подобным этому.
Все, что я мог придумать, это то, что одна строка или столбец будут равны 50 точкам,
и я сделал этот цикл.

Я хочу заполнить график следующим образом: линия точек при y = 10, как у меня здесь, затем при 20,30,40… и так далее. Я понимаю, что мог бы сделать это вручную, но есть ли более простой способ включить его в цикл? Я планирую позже включить это в анимацию.

Комментарии:

1. Пожалуйста, публикуйте не изображение вашего кода, а сам код, используя форматирование. Это позволит пользователям воспроизвести ваш пример, чтобы помочь вам.

2. В вашем коде y никогда не используется. Вам не нужно перебирать x элементов, поскольку это массив. Вам следует лучше перебирать значения y , которые вы хотите для каждого графика.

3. Я попробовал это, но это выдало мне сообщение об ошибке, в котором говорилось, что x и y не имеют одинакового размера. column = 50 x = np.linspace(0,501,num=50) y = np.linspace(0,501,num=50) for i in range(10,510,10): plt.scatter(x,i,c='dimgrey') ax = plt.gca() ax.set_facecolor('darkgrey') plt.xlim(0,501) plt.ylim(0,501);

Ответ №1:

Вот простой пример, начиная с вашего кода.

 import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,501,num=50)

for i in range(10,40,10):
    y = i * np.ones(50)
    plt.scatter(x,y)
 

Это дает следующий график :

точечная диаграмма