相关疑难解决方法(0)

如何在matplotlib中制作自定义图例

我目前用matplotlib以这种方式生成我的传奇:

if t==25:
    l1,l2 = ax2.plot(x320,vTemp320,'or',x320,vAnaTemp320,'-r')
elif t==50:
    l3,l4 = ax2.plot(x320,vTemp320,'ob',x320,vAnaTemp320,'-b')
else:
    l5,l6 = ax2.plot(x320,vTemp320,'og',x320,vAnaTemp320,'-g')
plt.legend((l1,l2,l3,l4,l5,l6), ('t=25 Simulation', 't=25 Analytical','t=50 Simulation', 't=50 Analytical','t=500 Simulation', 't=500 Analytical'),
   bbox_to_anchor=(-.25, 1), loc=2, borderaxespad=0.,prop={'size':12})
Run Code Online (Sandbox Code Playgroud)

以某种方式工作看1.但我的传说中有重复的信息.

我宁愿分开传说.这样我就有了与时间t对应的不同颜色的线条.作为我的分析解决方案的正常线条是模拟结果的点.

这样的事情

- (红线)t = 25

- (蓝线)t = 50

- (绿线)t = 500

o Simulaton

- 分析解决方案

现在有人能用matplotlib实现这一目标吗?

目前的形象

python matplotlib

41
推荐指数
1
解决办法
4万
查看次数

如何将所有图例条目放在一行?

我似乎无法找到解决方案。我有一个自定义的图例(使用此处找到的解决方案),我试图将多个条目放在一行上,而不是将每个新条目放在前一个条目下。一个人怎么做?

red_patch = mpatches.Patch(color='red', label='The red data')
blue_patch = mpatches.Patch(color='blue', label='The blue data')
plt.legend(handles=[red_patch, blue_patch])
Run Code Online (Sandbox Code Playgroud)

我想将“(红色标记)红色数据,(蓝色标记)蓝色数据等......”全部放在顶部的一行中。当条目多于情节时,让它开始一个新行也很好。所以就像我猜的普通文本一样。

python matplotlib legend

8
推荐指数
1
解决办法
3480
查看次数

如何将没有符号/颜色的图例条目添加到现有图例中?

我有一个有传奇的情节。我想在图例框中添加一个条目。该条目可能类似于拟合参数或其他描述数据的内容。

作为示例,可以使用下面的代码

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2*np.pi, 101)
y = np.sin(x)

plt.plot(x, y, color='r', label='y = sin(x)')
plt.plot(np.NaN, np.NaN, color='k', label='extra label')
plt.plot(np.NaN, np.NaN, color='b', linestyle=None, label='linestyle = None')
plt.plot(np.NaN, np.NaN, color='orange', marker=None, label='marker = None')
plt.plot(np.NaN, np.NaN, color=None, label='color = None')
plt.legend()
plt.show()
Run Code Online (Sandbox Code Playgroud)

生成下面的图

在此输入图像描述

我想要一个"extra label"只有空格而没有符号的标签。我尝试将linestylemarkercolorkwargs 更改为None但没有成功。我也尝试过用绘图plt.plot([], [])代替绘图plt.plot(np.NaN, np.NaN)。我想一些 hacky 解决方法是更改color='k'​​为color='white'. 但我希望有一种更合适的方法来做到这一点。我怎样才能做到这一点?

编辑

我的问题不是重复的。被指责为重复的帖子显示了另一种制作图例标签的方法,但不适用于没有符号的标签。人们可以运行下面的代码来测试,因为我原来的问题也适用。 …

python plot matplotlib legend python-3.x

4
推荐指数
1
解决办法
5322
查看次数

标签 统计

matplotlib ×3

python ×3

legend ×2

plot ×1

python-3.x ×1