首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Matplotlib:如何为轴刻度和轴勾标签获取相同的“基”和“偏移”参数

Matplotlib:如何为轴刻度和轴勾标签获取相同的“基”和“偏移”参数
EN

Stack Overflow用户
提问于 2016-06-23 05:38:32
回答 2查看 1.3K关注 0票数 0

我想在matplotlib中针对日期范围绘制一系列值。我将蜱base参数更改为7,以便在每周开始时得到一个滴答(plticker.IndexLocator, base = 7)。问题是set_xticklabels函数不接受base参数。因此,第二个勾号(代表第2周开始的第8天)从我的日期范围列表中被标记为第2天,而不是第8天(见图)。

如何给set_xticklabels一个base参数?

这里是代码:

代码语言:javascript
运行
复制
my_data = pd.read_csv("%r_filename_%s_%s_%d_%d.csv" % (num1, num2, num3, num4, num5), dayfirst=True)
my_data.plot(ax=ax1, color='r', lw=2.)
loc = plticker.IndexLocator(base=7, offset = 0) # this locator puts ticks at regular intervals
ax1.set_xticklabels(my_data.Date, rotation=45, rotation_mode='anchor', ha='right') # this defines the tick labels
ax1.xaxis.set_major_locator(loc)

这里是情节:

绘图

EN

Stack Overflow用户

回答已采纳

发布于 2016-06-28 01:29:02

非常感谢--你的解决方案非常有效。对于其他人将来遇到相同问题的情况:我已经实现了上述解决方案,但也添加了一些代码,以便滴答标签保持所需的旋转,并(与其左侧)对齐相应的滴答。可能不是琵琶,也可能不是最好的练习,但它有效。

代码语言:javascript
运行
复制
 x_fmt = mpl.ticker.IndexFormatter(x)
 ax.set_xticklabels(my_data.Date, rotation=-45)
 ax.tick_params(axis='x', pad=10)
 ax.xaxis.set_major_formatter(x_fmt)
 labels = my_data.Date
 for tick in ax.xaxis.get_majorticklabels():
    tick.set_horizontalalignment("left")
票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37983153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档