如图,我们想把每个例子的多个指标(Dice, HD, IOU)画在同一个图中,应该怎么操作呢

使用到的工具是: matplotlib (Version: 3.3.3)

from mpl_toolkits.axes_grid1 import host_subplot
from mpl_toolkits import axisartist
import matplotlib.pyplot as plthost = host_subplot(111, axes_class=axisartist.Axes)
plt.subplots_adjust(right=0.75)par1 = host.twinx()
par2 = host.twinx()par2.axis["right"] = par2.new_fixed_axis(loc="right", offset=(60, 0))par1.axis["right"].toggle(all=True)
par2.axis["right"].toggle(all=True)p1, = host.plot([1, 2, 3,4,5,6,7,8,9,10],[82.85,82.69,82.89,83.52,82.48,82.93,82.78,82.99,82.81,83.51], 'o-', label="Dice")
p2, = par1.plot([1, 2, 3,4,5,6,7,8,9,10], [4.26,4.22,4.32,4.42,4.67,4.41,4.21,4.93,4.96,4.02], 'o-', label="HD95")
p3, = par2.plot([1, 2, 3,4,5,6,7,8,9,10], [83,80,85,82,82.48,82.93,82.78,82.99,79,83.51], 'o-', label="IOU")host.set_xlim(0, 12)   # 坐标轴长度
host.set_ylim(82, 84)
par1.set_ylim(4, 5)
par2.set_ylim(77, 88)host.set_xlabel("example")
host.set_ylabel("Dice Score (%)")
par1.set_ylabel("Hausdorff Distance (mm)")
par2.set_ylabel("IOU (%)")host.legend()host.axis["left"].label.set_color(p1.get_color())
par1.axis["right"].label.set_color(p2.get_color())
par2.axis["right"].label.set_color(p3.get_color())plt.show()
plt.plot()

注意,版本不同可能略有差异,导致跑不通

代码关键解析:

  • p1,p2,p3 后面的逗号不能省略
  • p1,p2,p3 代表不同的指标
  • *.set_xlim 设置坐标轴的显示范围,范围要能大到足够包含所有值
  • 其余的就是一些美化设置

文章持续更新,可以关注微信公众号【医学图像人工智能实战营】获取最新动态,一个关注于医学图像处理领域前沿科技的公众号。坚持已实践为主,手把手带你做项目,打比赛,写论文。凡原创文章皆提供理论讲解,实验代码,实验数据。只有实践才能成长的更快,关注我们,一起学习进步~

我是Tina, 我们下篇博客见~

白天工作晚上写文,呕心沥血

觉得写的不错的话最后,求点赞,评论,收藏。或者一键三连

如何用matplotlib画多Y轴图相关推荐

  1. python画双y轴图时,两y轴分别设置数值显示范围

    双y轴图分别设置数值显示范围 默认会有范围,该方法可用于调整图像的显示情况 代码: ax.set_ylim(ymin1, ymax1) # 设置y1轴的数值显示范围为(ymin1,ymax2) ax2 ...

  2. python之matplotlib制作双Y轴图含详细代码解释

    前言:好久没更新啦,最近在参加OCALE全国跨境电商大赛,今天更新的内容是python制作双Y轴图片. 目录 一.函数介绍 二.实际应用 2.1 实验数据展示 2.2 代码实现: 2.3 最终结果显示 ...

  3. Python画双Y轴图和设置图例的位置

    index='TSA' #放指数的文件 file=r'C:\Users\LHW\Desktop\XXX.xlsx' #p_values的文件 file1=r'C:\Users\LHW\Desktop\ ...

  4. pythonmysql数据分析 tableau_python执行mysql 计算复购率+pyechart+Excel+Tableau绘制双Y轴图...

    现有某超市的订单数据,内容如下: 先求每个会员在每个月的订单数 sql = ''' -- select MemberID, count(SheetID) AS 每个会员的订单数,substring(S ...

  5. python 画三维函数图-如何用Matplotlib 画三维图的示例代码

    最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...

  6. python画三维立体图-如何用Matplotlib 画三维图的示例代码

    用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...

  7. python怎样画立体图-如何用Matplotlib 画三维图的示例代码

    用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...

  8. echarts折线图y轴根据数值自动_Python matplotlib 绘制双Y轴曲线图的示例代码

    双X轴的 可以理解为共享y轴 ax1=ax.twiny() ax1=plt.twiny() 双Y轴的 可以理解为共享x轴 ax1=ax.twinx() ax1=plt.twinx() 自动生成一个例子 ...

  9. python画三维立体图完整代码_如何用Matplotlib 画三维图的示例代码

    最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...

最新文章

  1. TCP连接状态详解及TIME_WAIT过多的解决方法
  2. 【动态规划】农田个数 (ssl 1633)
  3. 2021农村电商发展趋势报告
  4. TensorFlow神经网络(三)神经网络优化
  5. 程序员的职业技能不止于敲代码!
  6. fileupload控件的属性_FileUpload控件的配置 .
  7. 县级智慧城市建设方案_智慧城市建设项目实施方案
  8. OpenCV获取不规则区域的最大内切圆(附Python / C++源码)
  9. Matlab中fprintf函数使用
  10. CSP考试 2016年04月第3题 路径解析 C++实现
  11. SQL查找每科最高分和人
  12. 百分点大数据技术团队:互联网舆情系统的架构实践
  13. python 网页答题器_大话西游答题器 Python版本
  14. Visionpro棋盘格校正
  15. 学习倍福BECKHOFF PLC可利用的资源
  16. python读取宇视摄像头实时流,并用opencv做人脸检测
  17. Bluetooth Controller BB Phsical Channel相关基础知识整理
  18. 医院信息系统基本功能规范---门急诊划价收费分系统功能规范
  19. RabbitMQ除开RPC的五种消模型----原生API
  20. 黑莓9810JAVA,振奋!黑莓9810/9860/9900发布现场热图鉴赏

热门文章

  1. 老年人孤独感与精神病症状加剧有关
  2. 计算机考试设置正文加波浪线,职称计算机考试Word习题2
  3. java 打印机无法使用_java调用打印机问题
  4. JavaScript div 随着鼠标移动而移动
  5. [贝聊科技]如何实现一个 AttributedLabel
  6. android7.0清除缓存,iPhone7如何清理应用缓存 iphone7清理应用缓存教程
  7. auc 和loss_深入理解AUC
  8. ADO中使用addnew
  9. 电脑调分辨率黑屏了怎么办_电脑调整了分辨率,黑屏。解决方法
  10. learnOpenGL 5.4 视差贴图