使用plotly绘图时无法到达现场

问题描述 投票:0回答:1

我想用plotly来绘制一个简单的图形。

我的代码如下

import plotly.express as px

x = [1,2,3]
y = [1,2,3]
fig = px.line(x=x, y=y,labels={'x':x_name,'y':y_name})
fig.show()

当我运行这段代码时,有时浏览器会显示出 This site can’t be reached

我搜索过这个问题 1 2 3 但没有得到任何答复。

我应该如何解决这个问题,当浏览器显示出 This site can’t be reached ?

python plotly
1个回答
1
投票

正如你可能已经注意到的,你试图访问的站点是localhost (127.0.0.1)。Fig.show()创建了一个服务器,浏览器进入这个服务器来获取图片,然后服务器就关闭了。

如果有时间问题(或其他问题),你会得到 "站点无法到达 "的消息。

问题似乎出在 plotly 代码的这一部分。

class OneShotRequestHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.send_header("Content-type", "text/html")
        self.end_headers()

        bufferSize = 1024 * 1024
        for i in range(0, len(html), bufferSize):
            self.wfile.write(html[i : i + bufferSize])

    def log_message(self, format, *args):
        # Silence stderr logging
        pass

server = HTTPServer(("127.0.0.1", 0), OneShotRequestHandler)
webbrowser.get(using).open(
    "http://127.0.0.1:%s" % server.server_port, new=new, autoraise=autoraise
)

server.handle_request()

(见 代码在GitHub上)

我的主要建议是开始在Jupyter中使用Plotly。它非常好用,而且你不会遇到这个问题。


2
投票

试着用plotly.offline.plot(fig)来代替 fig.show(),在离线模式下绘图。

更多细节可以在这里找到。https:/pythonbasics.orgplotly。

© www.soinside.com 2019 - 2024. All rights reserved.