首页 > 解决方案 > 如何使用 matplotlib 在 Repl.it 中显示绘图?

问题描述

我正在尝试在 Repl.it 中显示一个图。

以下程序可以正常工作,因为它能够生成正确的输出:

import turtle 
import math 

wn = turtle.Screen() 
turt = turtle.Turtle() 

turt.backward(180) 
turt.forward(360) 
turt.stamp() 
turt.backward(180) 
turt.left(90) 
turt.forward(100) 
turt.stamp()
turt.backward(200) 
turt.forward(100) 
turt.right(90) 
turt.backward(180) 

for i in range(-180, 181): 
  turt.goto(i, math.sin(math.radians(i)) * 100); 

在此处输入图像描述

但是,下面的程序

import math
import matplotlib.pyplot as plt

A = 1.0
a = 0.4
λ = 1.4


def X(ϕ):
    return (A + a) * math.cos(ϕ) - λ * a * math.cos(((A + a) / a) * ϕ)


def Y(ϕ):
    return (A + a) * math.sin(ϕ) - λ * a * math.sin(((A + a) / a) * ϕ)


x_list = []
y_list = []

for i in range(0, 10001, 1):
    ϕ = i / 1000.0
    x_list.append(X(ϕ))
    y_list.append(Y(ϕ))

print(len(x_list))
print(len(y_list))

plt.plot(x_list, y_list)

只是给出一个空白屏幕和以下消息:

10001
10001

XOpenDisplay(MAGIC)

Must DL Open Symbol

在此处输入图像描述

如何使用 matplotlib 在 Repl.it 中显示绘图?

编辑。有人指出我的源代码丢失了plt.show()。这很奇怪。因为我在 Spyder 工作时不需要这个函数调用。

为什么 Spyder 不要求我们打电话plt.show()

标签: pythonmatplotlibrepl.it

解决方案


推荐阅读