我想用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
我应该如何解决这个问题,当浏览器显示出 This site can’t be reached
?
正如你可能已经注意到的,你试图访问的站点是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。它非常好用,而且你不会遇到这个问题。
试着用plotly.offline.plot(fig)来代替 fig.show(),在离线模式下绘图。
更多细节可以在这里找到。https:/pythonbasics.orgplotly。