matplotlib 对坐标的控制,加图例注释的操作

Halima ·
更新时间:2024-09-20
· 787 次阅读

我们可以使用matplotlib.pyplot.locator_params()来控制刻度线定位器的行为。 即使通常会自动确定标记点的位置,但是如果我们想要绘制较小的标记,则可以控制标记点的数量并使用紧密的视图:

from pylab import * import numpy as np ax = gca() ax.locator_params(tight = True, nbins = 10) ax.plot(np.random.normal(10, 0.1, 100)) show()

这应该给我们下面的图表:

然后我们可以使用matplotlib.dates.date2num(),matplotlib等助手函数。 dates.num2date()和matplotlib.dates.drange()在不同的表示之间转换日期。

我们来看另一个例子:

from pylab import * import matplotlib as mpl import datetime fig = figure() ax = gca() start = datetime.datetime(2013, 1, 1) stop = datetime.datetime(2013, 12, 31) delta = datetime.timedelta(days = 1) dates = mpl.dates.drange(start, stop, delta) values = np.random.rand(len(dates)) ax = gca() ax.plot_date(dates, values, linestyle= '-', marker='') date_format = mpl.dates.DateFormatter('%Y-%m-%d') ax.xaxis.set_major_formatter(date_format) fig.autofmt_xdate() show()

上面的代码会给我们下面的图表:

添加图例和注释

图例和注释清楚地解释数据图。 通过给每个图表分配一个关于它所代表的数据的简短描述,我们在阅读者(观众)头脑中启用一个更简单的心智模型。 这个方法将显示如何注释我们的数字上的特定点,以及如何创建和定位数据图例。

让我们来演示如何添加图例和注释:

if __name__ == '__main__': x1 = np.random.normal(30, 3, 100) x2 = np.random.normal(20, 2, 100) x3 = np.random.normal(10, 3, 100) plt.plot(x1, label = 'plot') plt.plot(x2, label = '2nd plot') plt.plot(x3, label = 'last plot') plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3, ncol=3, mode='expand', borderaxespad=0.) plt.annotate('Important value', (55,20), xycoords='data', xytext=(5,38), arrowprops = dict(arrowstyle = '->')) plt.show()

上面的代码会给我们下面的图:

我们所做的就是为每个绘图分配一个字符串标签,因此legend()将尝试确定要在图例框中添加的内容。 我们通过定义loc参数来设置图例框的位置。 这是可选的,但是我们想要指定一个位置,这个位置最不可能用于绘制图例的图例。 将位置值设置为0是非常有用的,因为它会自动检测图形的位置,图例的位置可以与图形重叠最小。

所有位置参数字符串在下表中给出:

如果不在图例中显示标签,请将标签设置为_nolegend_。

对于图例,我们定义了ncol = 3的列数,并设置了左下角的位置。 我们指定了一个边界框(bbox_to_anchor),从位置(0.,1.02)开始,宽度为1,高度为0.102。 这些是标准化的坐标轴。 参数模式为“None”或“expand”以允许图例框水平放大轴区域。 参数borderaxespad定义轴和图例边界之间的填充。

对于注释,我们已经定义了一个字符串在坐标xy上的图上绘制。 坐标系指定与数据1相同; 因此,坐标系是xycoord ='data'。 文本的起始位置由xytext的值定义。

箭头从xytext绘制到xy坐标,arrowprops字典可以定义该箭头的许多属性。 对于这个例子,我们用箭头来定义箭头样式。

以上这篇matplotlib 对坐标的控制,加图例注释的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

您可能感兴趣的文章:matplotlib quiver箭图绘制案例使用Matplotlib绘制不同颜色的带箭头的线实例matplotlib 曲线图 和 折线图 plt.plot()实例Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)在Matplotlib图中插入LaTex公式实例使用python matplotlib 画图导入到word中如何保证分辨率



图例 matplotlib

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章