python display 报错_python mpld3可视化mpld3.display()报错

print("网页显示开始*")

define custom toolbar location,网页动态可视化

class TopToolbar(mpld3.plugins.PluginBase):

"""Plugin for moving toolbar to top of figure"""

JAVASCRIPT = """

mpld3.register_plugin("toptoolbar", TopToolbar);

TopToolbar.prototype = Object.create(mpld3.Plugin.prototype);

TopToolbar.prototype.constructor = TopToolbar;

function TopToolbar(fig, props){

mpld3.Plugin.call(this, fig, props);

};

TopToolbar.prototype.draw = function(){

// the toolbar svg doesn't exist

// yet, so first draw it

this.fig.toolbar.draw();

// then change the y position to be

// at the top of the figure

this.fig.toolbar.toolbar.attr("x", 150);

this.fig.toolbar.toolbar.attr("y", 400);

// then remove the draw function,

// so that it is not called again

this.fig.toolbar.draw = function() {}

}

"""

def __init__(self):

self.dict_ = {"type": "toptoolbar"}

create data frame that has the result of the MDS plus the cluster numbers and titles

df = pd.DataFrame(dict(x=xs, y=ys, label=clusters, title=usernameList))

group by cluster

groups = df.groupby('label')

define custom css to format the font and to remove the axis labeling

css = """

text.mpld3-text, div.mpld3-tooltip {

font-family:Arial, Helvetica, sans-serif;

}

g.mpld3-xaxis, g.mpld3-yaxis {

display: none; }

"""

Plot

fig, ax = plt.subplots(figsize=(14, 6)) # set plot size

ax.margins(0.03) # Optional, just adds 5% padding to the autoscaling

iterate through groups to layer the plot

note that I use the cluster_name and cluster_color dicts with the 'name' lookup to return the appropriate color/label

for name, group in groups:

points = ax.plot(group.x, group.y, marker='o', linestyle='', ms=18, label=cluster_names[name], mec='none',

color=cluster_colors[name])

ax.set_aspect('auto')

labels = [i for i in group.title]

# set tooltip using points, labels and the already defined 'css'

tooltip = mpld3.plugins.PointHTMLTooltip(points[0], labels,

voffset=10, hoffset=10, css=css)

# connect tooltip to fig

mpld3.plugins.connect(fig, tooltip, TopToolbar())

# set tick marks as blank

ax.axes.get_xaxis().set_ticks([])

ax.axes.get_yaxis().set_ticks([])

# set axis as blank

ax.axes.get_xaxis().set_visible(False)

ax.axes.get_yaxis().set_visible(False)

ax.legend(numpoints=1) # show legend with only one dot

mpld3.display() # show the plot

uncomment the below to export to html

html = mpld3.fig_to_html(fig)

mpld3.save_html(fig,'clusters_dynamic.html')

print(html)

print("网页显示结束*")

2cca05f7ab57481a98ce798ecdaa059f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值