Ошибка: (30, 0) Метод Gradle DSL не найден: 'classpath ()' Возможные причины:
Очевидным способом является просто установить ограничения на то, что вы хотите. (например, ax.axis([xmin, xmax, ymin, ymax])
)
Если вы не хотите беспокоиться об обнаружении пределов вручную, у вас есть несколько вариантов ...
Как несколько человек (tillsten, Yann и Vorticity) упомянули, если вы можете построить функцию, которую хотите проигнорировать последним, тогда вы можете отключить автомасштабирование перед ее печатью или передать scaley=False
kwarg в plot
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
x1 = np.linspace(-1,1,100)
ax.plot(x1, np.sin(x1))
ax.plot(x1, np.sin(x1 / 2.0))
ax.autoscale(False) #You could skip this line and use scalex=False on
ax.plot(x1, 3 * np.sin(x1)) #the "theoretical" plot. It has to be last either way
fig.savefig('test.pdf')
Примечание. что вы можете отрегулировать zorder
последнего графика так, чтобы он рисовался в «середине», если вы хотите контролировать это.
Если вы не хотите зависеть от порядка, и вы просто укажите список строк для автомасштабирования на основе, тогда вы можете сделать что-то вроде этого: (Примечание. Это упрощенная версия, предполагающая, что вы имеете дело с объектами Line2D
, а не с художниками matplotlib вообще.)
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.transforms as mtransforms
def main():
fig, ax = plt.subplots()
x1 = np.linspace(-1,1,100)
line1, = ax.plot(x1, np.sin(x1))
line2, = ax.plot(x1, 3 * np.sin(x1))
line3, = ax.plot(x1, np.sin(x1 / 2.0))
autoscale_based_on(ax, [line1, line3])
plt.show()
def autoscale_based_on(ax, lines):
ax.dataLim = mtransforms.Bbox.unit()
for line in lines:
xy = np.vstack(line.get_data()).T
ax.dataLim.update_from_data_xy(xy, ignore=False)
ax.autoscale_view()
if __name__ == '__main__':
main()
[/g0]
Используйте scalex / scaley kw arg:
plot(x1, 3*sin(x1), scaley=False)
plot
.
– Joe Kington
12 September 2011 в 20:30
update_from_data_xy
с первой строкой и сignore = True
перед циклом. – jarondl 13 September 2011 в 14:59