我想用matplotlib制作一个图形,其中图形中的错误条是垂直的,但图例中的错误条是水平的。示例代码(如下所示)生成了一个图形,其中图例中的错误条是垂直的。如何使图例错误条水平显示?
代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 6)
y = np.sin(x)
dy = 0.1*np.abs(y)
plt.errorbar(x, y, yerr = dy, label="data", fmt='o')
plt.l
我正在绘制一个包含六条曲线的图,其中每条曲线都有一个标签。图例放置在图形的下方,但它比图形更宽。请看代码和截图。
#!/usr/bin/python
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(10)
fig = plt.figure()
ax = plt.subplot(111)
for i in xrange(6):
ax.plot(x, i * x, label='long_long_name = %ix$' % i)
#ax.legend()
ax.legend(loc
上下文
我必须为一个物理任务写一个木星笔记本,我必须画一些图表来显示某些量的演变等等。
我必须解释我编写的几乎每一行代码,每次在代码和标记单元格之间交替使用,包括plot()调用,这就是我的问题所在。用非常简单的术语来说,我有以下几点:
我的代码
我们首先导入matplotlib.pyplot模块:
from matplotlib import pyplot as plt
接下来,我们从数据中创建值列表:
# making up stuff
x_values = range(10)
doubles = [x * 2 for x in x_values]
squares = [x**2 for
我正在用matplotlib绘制适合于数据的模型的结果。我用一条彩色线绘制我的模型结果,并使用fill_between绘制数据,以便显示错误带。我希望我的图例显示灰色误差带和灰色实线,即使图形中的曲线和带是用不同的颜色绘制的。
我知道如何使用ax.add_artist和matplotlib.lines组合来完成独立定义的图例,但我不知道如何使用这个技巧添加错误带。
import numpy as np
from matplotlib.pylab import plt
from matplotlib import lines as mlines
x = np.linspace(0, 1, 1
我使用以下代码来创建一个自定义matplotlib图例。
import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
colors = ["g", "w"]
texts = ["Green Data Description", "RedData Description"]
patches = [ mpatches.Patch(color=colors[i], label="{:s}".format(texts[i]) ) for i i
是否有任何方法可以使用在matplotlib中绘制的图形中的线条作为图例中的句柄?例如,我认为,在这个基本代码中,而不是在图例中的一条直线中,有一个我绘制的正弦波的小版本作为句柄。
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0,15,0.1)
y = [np.sin(x1) for x1 in x]
plt.plot(x,y, label = 'sine wave')
plt.legend()
plt.show()
提前感谢!
我正在使用Seaborn的FacetGrid将许多情节合并在一个图形中,并且我想移除图例标题。例如,在下面的例子中,我想删除“性”这个标题。
import matplotlib.pyplot as plt
import seaborn as sns
tips = sns.load_dataset('tips')
g = sns.FacetGrid(tips, col= 'day')
g.map(sns.lineplot, 'total_bill', 'tip', 'sex', ci = False)
g
当使用bbox_to_anchor将图例放置在轴外时(如在应答中),当图形调整大小时,轴和图例之间的空间会发生变化。对于静态导出的地块,这很好;您可以简单地调整数字,直到正确为止。但是对于你可能想要调整大小的互动情节来说,这是一个问题。如本例所示:
import numpy as np
from matplotlib import pyplot as plt
x = np.arange(5)
y = np.random.randn(5)
fig, ax = plt.subplots(tight_layout=True)
ax.plot(x, y, label='data1'
使用matplotlib,我试图在关闭图形时执行回调函数,该函数将重绘图形图例。但是,当我调用ax.legend()时,它似乎阻止了正在执行的任何进一步代码。因此,在下面的代码中,'after‘从未被打印过。
有人能解释一下为什么吗?我是否有可能在图例()调用之后,但在图形关闭之前运行代码?最终目标是在图形关闭时保存两个不同版本的图形,在保存之间重新绘制图例。谢谢。
from __future__ import print_function
import matplotlib.pyplot as plt
def handle_close(evt):
f = evt.canva
我正试图为图形中的每个子图显示适合于ax大小的图例(自动标度、字体大小、盒子大小等)。我试过很多方法来符合传说,但我没有找到一种非内敛的方式。例如,在对另一个帖子(例如)的回答中,用户必须决定图例大小(fontsize和titlesize),但我想知道一种方法,使自动将图例放入带有多个子图的图形中。
我希望图例大小适合在创建的中的每个ax中,该示例代码附带了注释的ax.legend()行。在中,我显示了使用ax.legend()行active获得的图形:传说不适合于轴内。附加代码是中示例的修改版本。
import matplotlib.pyplot as plt
import numpy as
请考虑以下几点:
import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np
y = np.array([1, 4, 3, 2, 7, 11])
colors = cm.hsv(y / float(max(y)))
plot = plt.scatter(y, y, c = y, cmap = 'hsv')
plt.clf()
plt.colorbar(plot)
plt.bar(range(len(y)), y, color = colors)
plt.show()
我想要