matplotlib 绘制双轴曲线 带焦点
ax.grid(
which='both', # 'major'|'minor'|'both'
axis='both', # 'x'|'y'|'both'
linewidth=1,
linestyle='-',
color='red',
alpha=0.1
)
代码必须放在最后,否则出现交叉点重叠
import numpy as np import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(111) ax.tick_params(left=False,labelleft=False,top=False,bottom=False,labelbottom=False,labeltop=False,right=True,labelright = True) plt.title("xxxxxxxxxx") plt.xlabel("Param drop(%)") plt.ylabel("Accuracy(%)") ax.tick_params("both",which ='both', length=5, width=1.0, labelsize=10, labelcolor='0.6', direction='in') ax.set_ylim(0, 100) ax.set_xlim(0, 10) axt = ax.twinx() axt.set_ylim(0,100) x1 = [1,2,3,4,5,6,7,8] y1 = [20,100,50,120,55,100,50,25] x2 = [3,4,5,6,7,8,9] y2 = [25,35,14,67,88,44,120] ax.plot(x1, y1, color='lightblue',linewidth=2) ax.plot(x2, y2, color='darkgreen', marker='^') # Plot the cross point x3 = np.linspace(6, 7, 1000) # (6, 7) intersection range y1_new = np.linspace(240, 50, 1000) # (6, 7) corresponding to (240, 50) in y1 y2_new = np.linspace(67, 88, 1000) # (6, 7) corresponding to (67, 88) in y2 idx = np.argwhere(np.isclose(y1_new, y2_new, atol=0.1)).reshape(-1) ax.plot(x3[idx], y2_new[idx], 'r*',) ax.text(x3[idx], y2_new[idx]-5, '%.0f' % y2_new[idx],fontdict={'fontsize':14}) ax.grid( which='both', # 'major'|'minor'|'both' axis='both', # 'x'|'y'|'both' linewidth=1, linestyle='-', color='red', alpha=0.1 ) plt.show()
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2018-12-06 MySql8最新配置方式(完美)
2018-12-06 Java 标准IO高可用类