Как поставить легенду за пределы участка в Джулии Пиплот - PullRequest
1 голос
/ 11 июня 2019

Я пытаюсь найти способ разместить легенду бэкенда Джулии Пиплот за пределами области черчения. Я нашел несколько постов, обсуждающих это, но я не могу найти последовательный ответ. Например, я нахожу этот пост: https://discourse.julialang.org/t/location-of-the-legend-in-pyplot/1311

но проблема в том, что похоже, что axes () больше не доступен в pyplot.

P.S. Пользователь ImportanceOfBeingErnest попросил меня поставить код. Следующий код из поста, на который я поместил ссылку:

x = 0:0.1:3*pi
y = sin(x)
z = cos(x)
ax = axes()
plot(x,y,label="sin(x)")
plot(x,z,label="cos(x)")
grid("on")
legend(bbox_to_anchor=[1.05,1],loc=2,borderaxespad=0)
ax[:set_position]([0.06,0.06,0.71,0.91])

И получаю ошибку:

MethodError: no method matching axes()
Closest candidates are:
  axes(!Matched::Core.SimpleVector) at essentials.jl:593
  axes(!Matched::Core.SimpleVector, !Matched::Any) at essentials.jl:594
  axes(!Matched::Base.Generator) at generator.jl:52
  ...

Stacktrace:
 [1] top-level scope at In[3]:7

1 Ответ

1 голос
/ 11 июня 2019

Если вы используете Julia 1.1, вы можете использовать этот код:

using PyPlot

x = 0:0.1:3*pi
y = sin.(x)
z = cos.(x)
ax = plt.axes()
plot(x,y,label="sin(x)")
plot(x,z,label="cos(x)")
grid(true)
legend(bbox_to_anchor=[1.05,1],loc=2,borderaxespad=0)
ax.set_position([0.06,0.06,0.71,0.91])
...