2016-12-28 81 views
2

我想知道是否有方法來顯示相應的標記(或行)值,當我們將鼠標光標放在圖的這些元素上而不點擊它們時,以類似的方式繪製它(一些示例使用散點圖here )。Python 2.7:我可以讓Matplotlib的顯示值像Plotly一樣嗎?

我自己取得的成就是一些基本的交互式繪圖(點擊我的繪圖元素後添加標記到一行)。我看到了這個非常有用的軟件包(mpldatacursor),但仍然不是我想要的。

正如你在這個例子中看到的,我可以選擇一條線的座標並顯示它們,但只有當我點擊這些點時纔會發生。而且我會喜歡他們不被點擊而被展示,就像情節化的例子。

這個例子也從pypi.python.org/pypi/mpldatacursor

import matplotlib.pyplot as plt 
import numpy as np 
from mpldatacursor import datacursor 

data = np.outer(range(10), range(1, 5)) 

fig, ax = plt.subplots() 
lines = ax.plot(data) 
ax.set_title('Click somewhere on a line') 

datacursor(lines) 

plt.show() 

enter image description here

取我很高興聽到你可能有任何建議,保重!

+2

這些東西需要一定數量的前端(JavaScript或其他)的支持。 Matplotlib主要是關於高質量的靜態圖(用於論文等)。您是否嘗試過使用另一個類似Bokeh的庫來執行此操作?它可以做你要求使用hovertool http://bokeh.pydata.org/en/latest/docs/user_guide/tools.html –

+0

@NoufalIbrahim我沒有。我明白你對matplotlib的限制有什麼看法,但我想知道是否有其他人嘗試過類似的東西。 感謝您提供Bokeh,它看起來很強大。作爲一個額外的問題,你有沒有嘗試在GUI中嵌入散景圖?我發現的大多數例子都是Matplotlib。你有沒有嘗試過這樣的事情? –

+0

一般而言,這些交互式圖形是一個HTML(使用JavaScript)(如Noufal Ibrahim所說)使其互動。將html集成到GUI中應該不難。 – Lucas

回答

1

不,matplotlib的目的不是製作交互式圖形。我不是說這是不可能的,但有一些圖書館。

bokeh

可能有用的從你的頁面:

背景虛化是一個Python交互式可視化庫,針對現代瀏覽器呈現。

相關問題