我想用一个新的图例替换matplotlib图例,但保留被替换图例的相同(可能是任意)位置。
为什么下面的代码不能工作?
import matplotlib.pyplot as plt plt.plot(range(10)) ax = plt.gca() leg = plt.legend(['a'], loc='lower left') bb = leg.get_bbox_to_anchor().inverse_transformed(ax.transAxes) plt.legend(['b'], bbox_to_anchor=bb)
除非我有误解,否则就做:
import matplotlib.pyplot as plt
plt.plot(range(10))
ax = plt.gca()
location = 'lower left'
while 1:
plt.legend(['a'], loc=location)
plt.pause(1)
plt.legend(['b'], loc=location)
plt.pause(1)
要回答问题中的代码为何不起作用的问题:
图例的位置仅在绘制图形时在运行时确定。此外,未设置bbox_至_锚定,因此它将是完整的轴((0,0,1,1)
)。
你可以做的是先绘制画布,然后获得窗口范围
ax.figure.canvas.draw()
bb = leg.get_window_extent().inverse_transformed(ax.transAxes)
然而,这不会给你正确的位置(只接近它)。
现在一个可能的解决方案可能不是替换图例,而是只更新它的内容:
import matplotlib.pyplot as plt
plt.plot(range(10))
ax = plt.gca()
leg = plt.legend(['a'], loc='lower left')
leg.texts[0].set_text("b")
plt.show()
否则,如果更新不是一个选项,您将需要旧图例中的bbox_to_anchor和loc参数:
import matplotlib.pyplot as plt
plt.plot(range(10))
ax = plt.gca()
leg = plt.legend(['a'], loc='lower left', bbox_to_anchor=(0.5,0.5))
bb = leg.get_bbox_to_anchor().inverse_transformed(ax.transAxes)
plt.legend(['b'], bbox_to_anchor=bb, loc=leg._loc_real)
plt.show()
在模式设置为“展开”的情况下,此操作仍可能失败。仅当使用相同的fancybox参数创建新图例时,它才是准确的。
问题内容: 我有两个div并排。我希望它们的高度相同,并且如果其中之一调整大小,则保持不变。我无法弄清楚这一点。有想法吗? 为了澄清我的困惑问题,我希望两个框的尺寸始终相同,因此如果一个框由于文本放置而增大,则另一个框应与高度匹配。 问题答案: flexbox 使用flexbox时,它是一个声明:
很好,只是。我希望当播放器四处运行时,声音继续播放。所以我发现当命令执行时,声音会播放,然后当你移动时,声音会消失,除非你回到执行命令的地方,否则听不到。
我试图在两个图上绘制熊猫数据帧。一个是matplotlib pyplot饼图,另一个是seaborn条形图。在每个图表上,我根据不同的列对数据框进行排序。此外,每个图表都代表数据框排序所依据的相应值。因此,两个图表中的行顺序不同。这样,数据框中相同的索引(或类别)在图表上以不同的颜色出现,这是令人困惑的。为了在不同的图表上有相同颜色的索引,我如何解决这个问题? 我的代码: 例如,1.1。15200
我找到了这条线索-如何拉伸图像以填充 我有一个具有一定大小的div和其中的图像。无论图像是横向还是纵向,我都想始终用图像填充div。图像是否被切断也没关系(div本身隐藏了溢出)。 因此,如果图像是纵向的,我希望宽度是100%,高度是自动的,所以它保持成比例。如果图像是横向的,我希望高度为100%,宽度为自动。听起来很复杂对吧? 因为我不知道怎么做,我只是简单地创建了一个我的意思的快速图像。我甚至
问题内容: 我正在学习如何使用mplot3d生成漂亮的3d数据图,到目前为止我很高兴。我现在想做的是旋转表面的动画效果。为此,我需要为3D投影设置相机位置。我猜这一定是有可能的,因为在交互使用matplotlib时,可以使用鼠标旋转表面。但是如何从脚本执行此操作?我在mpl_toolkits.mplot3d.proj3d中找到了很多转换,但是我找不到如何使用这些转换的目的,也没有找到任何尝试的示例