matplotlib 在Python中,如何从for循环中计算一组值,然后使用matlibplot绘制这些值?

aiqt4smr  于 2023-03-30  发布在  Python
关注(0)|答案(1)|浏览(135)

我想让用户输入一个函数计算的上限,然后运行一个for循环来计算。
然而,我的for循环对一系列值进行了正确的计算,但matlibplot并没有绘制它们。

import math as m
import matplotlib.pyplot as plt
import numpy as np

d = int(input("Enter your upper limit of degrees for sine function: "))

for i in range(0,d):
  y=m.sin(m.radians(i))
  print(i,y)

plt.plot(i,y)       
plt.show()

出现一个图形,但没有直线或绘制的值,而我期望的是直线。

ctrmrzij

ctrmrzij1#

matlibplot不打印

plt.plot(i, y)

我期待一个[波形]。
你提供了.plot()的标量,如果你想看到波形,最好提供一对向量。

from math import radians, sin
import matplotlib.pyplot as plt
import pandas as pd

def get_points(d=180):
    for x in range(0, d):
        y = sin(radians(x))
        yield x, y

df = pd.DataFrame(get_points(), columns=['x', 'y'])
plt.plot(df.x, df.y)
plt.show()

相关问题