Добавьте полный путь к файлу jar в CLASSPATH. В linux используйте: export CLASSPATH=".:/full/path/to/file.jar:$CLASSPATH"
. Другой способ работы (без редактирования CLASSPATH) разворачивал банку в текущей папке проекта.
Для меня не работали:
1) Используя опцию -cp
с полным путь к файлу jar.
2) Используя -cp
только с именем jar, если он находится в текущей папке
3) Копирование флага в текущую папку проекта
4) Копирование банки в стандартное расположение java-банок (/ usr / share / java)
Это решение сообщается для класса com.mysql.jdbc.Driver в mysql-коннекторе -java.5 - *. jar, работающий на Linux с OpenJDK версии 1.7
matplotlib имеет API обработки событий, который вы можете использовать, чтобы подключаться к действиям, подобным тем, на которые вы обращаетесь. На странице Event Handling представлен обзор API событий, и есть (очень) краткое описание событий x- и y-ограничений на странице Axes .
В вашем сценарии вы хотите зарегистрировать функции обратного вызова на событиях xlim_changed
и ylim_changed
объекта. Эти функции будут вызваны всякий раз, когда пользователь увеличит или сдвинет область просмотра.
Ниже приведен минимальный рабочий пример:
import matplotlib.pyplot as plt
#
# Some toy data
x_seq = [x / 100.0 for x in xrange(1, 100)]
y_seq = [x**2 for x in x_seq]
#
# Scatter plot
fig, ax = plt.subplots(1, 1)
ax.scatter(x_seq, y_seq)
#
# Declare and register callbacks
def on_xlims_change(axes):
print "updated xlims: ", ax.get_xlim()
def on_ylims_change(axes):
print "updated ylims: ", ax.get_ylim()
ax.callbacks.connect('xlim_changed', on_xlims_change)
ax.callbacks.connect('ylim_changed', on_ylims_change)
#
# Show
plt.show()
ax.get_xlim()
вернет текущие пределы графика в любой момент времени, даже после масштабирования. Поэтому, если один из них способен взаимодействовать с фигурой и вызывает такую команду в интерактивном режиме, например, в сеансе IPython это прекрасно работает. Если график создается сценарием, у вас обычно нет этой опции; в этом случае другой ответ показывает, как использовать события, необходимые для печати пределов.
– ImportanceOfBeingErnest
2 February 2018 в 16:02
print
s иxrange
,axes.get_xlim()
не создает значений. – eatcrayons 7 September 2017 в 03:52axes
не определен; он должен бытьax.get_xlim()
- я отредактировал ответ. – ImportanceOfBeingErnest 2 February 2018 в 15:58