我要在一个图形中制作一系列20个图(不是子图)。我希望图例在框外。同时,由于图形尺寸变小,我不想更改轴。请帮助我进行以下查询:
有很多方法可以做你想要的。要添加@inalis
和@Navi
所说的内容,可以使用bbox_to_anchor
关键字参数将图例部分地放置在轴外and/or 减小字体大小。
在考虑减小字体大小(这会使阅读起来非常困难)之前,请尝试将图例放在不同的位置:
因此,让我们从一个通用示例开始:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
fig = plt.figure()
ax = plt.subplot(111)
for i in xrange(5):
ax.plot(x, i * x, label='$y = %ix$' % i)
ax.legend()
plt.show()
如果我们做同样的事情,但是使用bbox_to_anchor
关键字参数,我们可以将图例稍微移出轴边界:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
fig = plt.figure()
ax = plt.subplot(111)
for i in xrange(5):
ax.plot(x, i * x, label='$y = %ix$' % i)
ax.legend(bbox_to_anchor=(1.1, 1.05))
plt.show()
同样,你可以使图例更加水平和/或将其放在图的顶部(我也打开了圆角和简单的阴影):
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
fig = plt.figure()
ax = plt.subplot(111)
for i in xrange(5):
line, = ax.plot(x, i * x, label='$y = %ix$'%i)
ax.legend(loc='upper center', bbox_to_anchor=(0.5, 1.05),
ncol=3, fancybox=True, shadow=True)
plt.show()
另外,你可以缩小当前图的宽度,并将图例完全放在图的轴外:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
fig = plt.figure()
ax = plt.subplot(111)
for i in xrange(5):
ax.plot(x, i * x, label='$y = %ix$'%i)
# Shrink current axis by 20%
box = ax.get_position()
ax.set_position([box.x0, box.y0, box.width * 0.8, box.height])
# Put a legend to the right of the current axis
ax.legend(loc='center left', bbox_to_anchor=(1, 0.5))
plt.show()
同样,你可以垂直缩小图,并在底部放置水平图例:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
fig = plt.figure()
ax = plt.subplot(111)
for i in xrange(5):
line, = ax.plot(x, i * x, label='$y = %ix$'%i)
# Shrink current axis's height by 10% on the bottom
box = ax.get_position()
ax.set_position([box.x0, box.y0 + box.height * 0.1,
box.width, box.height * 0.9])
# Put a legend below current axis
ax.legend(loc='upper center', bbox_to_anchor=(0.5, -0.05),
fancybox=True, shadow=True, ncol=5)
plt.show()
问题内容: 我正在按照此处找到的示例进行绘图 不幸的是,我需要显示17条曲线,图例与它们重叠。我知道我可以创建一个图例对象,该图例对象可以像此处所示显示在绘图区域之外,但是我有17条曲线,因此使用循环会更加方便。 您知道如何结合这两种方法吗? 问题答案: 好的,我找到了解决方案。请参阅下面的代码,其中我刚刚修改了交互式图例示例:
那么,有没有比这更简单的东西可以用于Gradle的当前版本的Android插件呢?
主要项目脚本: childProject脚本:
有人帮忙吗? 提前道谢。
问题内容: 自2015年11月起,plotly是开源的,可用于python。https://plot.ly/javascript/open-source- announcement/ 尝试脱机绘制某些图时,这些图可在iPython Notebook(版本4.0.4)中工作,但是如果尝试在Spyder(版本2.3.8)中运行它们,我将得到以下输出: 我的代码有什么问题,或者Spyder的iPytho
我正在尝试迁移到Android-Studio,想知道如何“从构建路径中排除”一些我尚未完成的类? 在Eclipse中,直接右键单击即可。我在录音室里找不到任何关于它的参考资料。