Matplotlib PyPlot,PyCall图例字体大小来自Julia

Matplotlib PyPlot,PyCall图例字体大小来自Julia,matplotlib,graphics,julia,Matplotlib,Graphics,Julia,当我尝试使用julia提供的PyPlot更改图例fontsize时,会收到一条错误消息,上面写着“Pyerror..得到了一个意外的关键字“fontsize”。当我尝试以下两种标准公式时,会发生这种情况: ax[:legend]( ("Data", "Model Predictions"),fontsize=4,loc=4 ) ax[:legend]( ("Data", "Model Predictions"),prop={fontsize: "small"},loc=4 ) 请注意,更改

当我尝试使用julia提供的PyPlot更改图例fontsize时,会收到一条错误消息,上面写着“Pyerror..得到了一个意外的关键字“fontsize”。当我尝试以下两种标准公式时,会发生这种情况:

ax[:legend](  ("Data", "Model Predictions"),fontsize=4,loc=4 )
ax[:legend](  ("Data", "Model Predictions"),prop={fontsize: "small"},loc=4 )
请注意,更改fontsize可以很好地处理其他对象,例如xlabel


有什么想法吗?

这对你有用吗

using PyPlot
fig, ax = PyPlot.subplots()
ax[:plot](rand(10), rand(10), label = "Data")
ax[:legend](loc="best", fontsize=4)

如果没有,您使用的是什么版本的Julia、PyPlot、PyCall和Python?

这对您有用吗

using PyPlot
fig, ax = PyPlot.subplots()
ax[:plot](rand(10), rand(10), label = "Data")
ax[:legend](loc="best", fontsize=4)

如果没有,您使用的是Julia、PyPlot、PyCall和Python的哪些版本?

legend的帮助说明:

prop:None或:class:
matplotlib.font\u manager.FontProperties
或dict 图例的字体属性。如果没有(默认),则当前 :数据:
matplotlib.rcParams
将被使用

因此,prob关键字参数需要一个具有字体属性的dict。dict在julia中构造为
[key=>val]
。然后,此dict可以包含属性。要设置的属性是
size
,而不是
fontsize
,因为prob关键字参数只包含字体属性

    ax[:legend](("Data", "Model Predictions"), prop=["size" => "small"], loc=4)

图例的帮助说明:

prop:None或:class:
matplotlib.font\u manager.FontProperties
或dict 图例的字体属性。如果没有(默认),则当前 :数据:
matplotlib.rcParams
将被使用

因此,prob关键字参数需要一个具有字体属性的dict。dict在julia中构造为
[key=>val]
。然后,此dict可以包含属性。要设置的属性是
size
,而不是
fontsize
,因为prob关键字参数只包含字体属性

    ax[:legend](("Data", "Model Predictions"), prop=["size" => "small"], loc=4)

最后,上述两个建议没有起作用(我认为这是一个版本问题)。但这确实起了作用:

using PyPlot
@pyimport  matplotlib.pyplot as plt
@pyimport matplotlib.font_manager as fm
prop = fm.FontProperties(size=9)
fig, ax = PyPlot.subplots()
ax[:plot](rand(10), rand(10), label = "Data")
ax[:legend](loc="best", prop=prop)

最后,上述两个建议没有起作用(我认为这是一个版本问题)。但这确实起了作用:

using PyPlot
@pyimport  matplotlib.pyplot as plt
@pyimport matplotlib.font_manager as fm
prop = fm.FontProperties(size=9)
fig, ax = PyPlot.subplots()
ax[:plot](rand(10), rand(10), label = "Data")
ax[:legend](loc="best", prop=prop)