如何使用 plotly 或任何其他方法将 seaborn 散点图转换为交互式散点图?

问题描述

我需要制作一个散点图,它与下图所附的图片完全一样,但具有交互式。意思是,当我将鼠标悬停在该点上时,它应该至少显示描述(“是”/“否”、X 轴值、Y 轴值)。它必须有一条穿过原点的“虚线”对角线。图例应该在情节之外。如果我也可以放大和缩小就更好了。

使用什么库或函数并不重要。正确的输出很重要。

我想转换为交互式的情节图像:

original static image

这个代码:

def add_identity(axes,*line_args,**line_kwargs):
    identity,= axes.plot([],[],**line_kwargs)
    def callback(axes):
        low_x,high_x = axes.get_xlim()
        low_y,high_y = axes.get_ylim()
        low = max(low_x,low_y)
        high = min(high_x,high_y)
        identity.set_data([low,high],[low,high])
    callback(axes)
    axes.callbacks.connect('xlim_changed',callback)
    axes.callbacks.connect('ylim_changed',callback)
    return axes


sns.set_context("talk",font_scale=0.8)
plt.figure(figsize=(6,6))

ax = sns.scatterplot(x = [1,2,3,7,2.3,5.3,-1,-2,-3,2.5],y = [1,4,-1.5,1.5,5,2.1],hue = ['yes','no','yes','no'])

plt.xlabel("X-axis")
plt.ylabel("Y-axis")

plt.legend(bbox_to_anchor=(1.01,1),borderaxespad=0,prop={'family': 'Times New Roman','size': 12})

plt.title("Seaborn Plot with Legend Outside",fontname='Times New Roman',fontsize = 20)

plt.tight_layout()
    
add_identity(ax,color='gray',ls='--')

plt.axvline(0,c='black',ls='-')
plt.axhline(0,ls='-')
plt.xlim(-10,10)
plt.ylim(-10,10)
plt.grid()

plt.show()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...