[JavaScript] 使用 flotr2 绘制包含子项的饼图

Flotr2 是一个用于绘制 HTML5 图形和图表的开源 JS 库

由于 flotr2 不支持环形饼图,所以对于包含子项的饼图只能通过其他办法来实现。

我的实现方法是,首先显示最外层的饼图,再通过点击某一个项显示它包含的子项的饼图。 具体代码请见:

当然,由于 flotr2 的局限性,这个图并不完美。如果想要更好的效果, 可以试试其他的 JS 图表插件实现的效果:

more ...

[python]指定 Socket connect 方法的超时时间

通过设置 socket.settimeout 来实现超时功能:

import select
import socket

HOST = '127.0.0.1'
PORT = 8000
timeout = 60 * 1   # 1 分钟

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置连接超时
s.settimeout(10)
s.connect((HOST, PORT))
# 恢复默认超时设置
s.settimeout(None)
s.connect((HOST, PORT))
s.sendall('msg')

参考

more ...

[python]指定 Socket recv 方法的超时时间

使用 select 来变相实现超时功能:

import select
import socket

HOST = '127.0.0.1'
PORT = 8000
timeout = 60 * 1   # 1 分钟

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.sendall('msg')
# 设置 recv 超时时间
s.setblocking(0)
ready = select.select([s], [], [], timeout)
if ready[0]:
    # 接收结果
    data = s ...
more ...