python - 如何在matplotlib pyplot的y轴上为间隔组添加标签?
解决方案
这是通过创建双轴并修改其刻度标签和位置的一种方法。这里的技巧是找到loc_new
现有刻度之间的中间位置以放置您的字符串Interval i
。你只需要玩一点就可以得到你想要的数字。
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
x = np.array([0,1,2,3])
y = np.array([0.650, 0.660, 0.675, 0.685])
my_xticks = ['a', 'b', 'c', 'd']
plt.xticks(x, my_xticks)
plt.yticks(np.arange(y.min(), y.max(), 0.005))
plt.plot(x, y)
plt.grid(axis='y', linestyle='-')
ax2 = ax.twinx()
ax2.set_ylim(ax.get_ylim())
loc = ax2.get_yticks()
loc_new = ((loc[1:]+loc[:-1])/2)[1:-1]
ax2.set_yticks(loc_new)
labels = ['Interval %s' %(i+1) for i in range(len(loc_new))]
ax2.set_yticklabels(labels)
ax2.tick_params(right=False) # This hides the ticks on the right hand y-axis
plt.show()
推荐阅读
- r - Shiny中的表格输出问题
- git - 如果我在提交后进行拉取,为什么 SourceTree 中的单个提交的 git 推送通知数量会增加
- spring-boot - 有什么方法可以确定 kuberbetes 服务发现中的当前服务 instance_id 吗?
- python - 如何总结数字的位数?
- google-cloud-platform - GCP Cloud DNS 无法解析 Namecheap dns
- sqlite - 如何在 xamarin 中通过完整链接使用 Microsoft.EntityFrameworkCore.Sqlite?(链接用户程序集)
- ldap - 有没有办法使用 python-ldap 远程绑定到 cn=config ?
- typescript - 有没有办法在打字稿中描述一种“keyfor”?
- php - PHP在带有URL的字符串中添加空格
- python - 抓取 Facebook 广告库报告