Есть ли способ считывать уровень масштабирования графика mpld3, то есть диапазон видимой оси x и y? Я попытался использовать d3.behavior.zoom, но я не знаю, как я могу получить поведение масштабирования моего участка mpld3.Получение уровня масштабирования графика mpld3
0
A
ответ
1
Вы можете сделать плагин mpld3
сделать это, используя узор, который я разработал для interactively adding callouts to scatter plots. Это намного проще, на самом деле, так что это хороший пример простой, но полезный плагин-:
import matplotlib.pyplot as plt, mpld3
%matplotlib inline
class ZoomSizePlugin(mpld3.plugins.PluginBase):
JAVASCRIPT = r"""
// little save icon
var my_icon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gUTDC0v7E0+LAAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAa0lEQVQoz32QQRLAIAwCA///Mz3Y6cSG4EkjoAsk1VgAqspecVP3TTIA6MHTQ6sOHm7Zm4dWHcC4wc3hmVzT7xEbYf66dX/xnEOI7M9KYgie6qvW6ZH0grYOmQGOxzCEQn8C5k5mHAOrbeIBWLlaA3heUtcAAAAASUVORK5CYII=";
// create plugin
mpld3.register_plugin("zoomSize", ZoomSizePlugin);
ZoomSizePlugin.prototype = Object.create(mpld3.Plugin.prototype);
ZoomSizePlugin.prototype.constructor = ZoomSizePlugin;
ZoomSizePlugin.prototype.requiredProps = [];
ZoomSizePlugin.prototype.defaultProps = {}
function ZoomSizePlugin(fig, props){
mpld3.Plugin.call(this, fig, props);
// create save button
var SaveButton = mpld3.ButtonFactory({
buttonID: "save",
sticky: false,
onActivate: function(){save_zoom(fig);}.bind(this),
icon: function(){return my_icon;},
});
this.fig.buttons.push(SaveButton);
};
function save_zoom(fig) {
var ax= fig.axes[0],
extent = "";
extent = extent + "left=" + ax.x.invert(0);
extent = extent + ", right=" + ax.x.invert(ax.width);
extent = extent + ", bottom=" + ax.y.invert(ax.height);
extent = extent + ", top=" + ax.y.invert(0);
prompt("Copy extent of zoomed axis:", extent);
}
"""
def __init__(self):
self.dict_ = {"type": "zoomSize"}
plt.plot([3,1,4,1,5,9,2,6,5,3,5,8], 'ks-', mew=1, mec='w')
mpld3.plugins.connect(plt.gcf(), ZoomSizePlugin())
mpld3.display()
Смежные вопросы
- 1. Получение текущего уровня масштабирования с карты Google
- 2. Установите высоту и ширину графика mpld3
- 3. Ошибка масштабирования графика Coreplot
- 4. Графика масштабирования CSS
- 5. Изменение уровня масштабирования браузера
- 6. Отображение уровня WMS на основе уровня масштабирования
- 7. Синхронизация уровня масштабирования между 3 графиками
- 8. Изменение уровня масштабирования на картах
- 9. Обнаружение уровня масштабирования на iPhone
- 10. Настройка уровня масштабирования для MKMapView
- 11. Изменение уровня масштабирования дочернего окна
- 12. Графика уровня пикселей в PlayN
- 13. AChartEngine Android - сброс масштабирования и панорамирования графика?
- 14. Плагин mpld3 для установки xtics
- 15. mpld3 3D рассеянная диаграмма
- 16. MPLD3: информация этикетка barplot
- 17. пункт установить для mpld3
- 18. Изменение уровня масштабирования встроенной карты Google
- 19. Настройка уровня масштабирования в google maps javascript
- 20. Изменение уровня масштабирования d3 SVG-холста?
- 21. Загрузка JMapViewer с заданного уровня масштабирования
- 22. Настройка максимального уровня масштабирования на картах Google
- 23. Android: определение уровня масштабирования от круга
- 24. D3 V4 установка начального уровня масштабирования
- 25. Определение уровня масштабирования браузера с помощью javascript
- 26. Изменение уровня масштабирования карты Google в JQuery
- 27. Изменение уровня масштабирования для высокоскоростных карт
- 28. Как прослушивать изменение уровня масштабирования здесь. Карты
- 29. Листовка - Switch GeoJSON на основе уровня масштабирования
- 30. Google maps distance на основе уровня масштабирования
Большое спасибо! Я, наконец, нашел время попробовать и работает как шарм :-) – CWelling