使用Python,matplotlib绘制Nomogram列线图

news/2024/9/20 12:39:48

使用Python,matplotlib绘制Nomogram列线图

    • 1. 效果图
    • 2. 源码
    • 参考

这篇博客将介绍如何使用Python,matplotlib绘制列线图。写这篇博客源于博友的提问

期望使用matplotlib绘制列线图如下,翻官网文档,尝试后终于绘制出来了。

在这里插入图片描述

1. 效果图

在这里插入图片描述

2. 源码

# 绘制列线图import matplotlib.pyplot as plt
from matplotlib import ticker
import matplotlib# 注意注释掉此句,才可以plt.show()看到效果图
# 设置此才可保存图片到本地,plt.savefig将保存结果图,但同时plt.show()将不在起作用
# matplotlib.use("Agg")# 设置展示的刻度
# 设置刻度轴位置
# 刻度起始值、结束值、刻度最小精度、刻度间隔
# 文字位置
def setup(ax, title, minx, maxx, major, minor, position="bottom"):# 只显示底部脊椎ax.yaxis.set_major_locator(ticker.NullLocator())ax.spines['right'].set_color('none')ax.spines['left'].set_color('none')if (position == "bottom"):ax.spines['top'].set_color('none')elif (position == "top"):ax.spines['bottom'].set_color('none')# 定义刻度最大最小精度ax.xaxis.set_major_locator(ticker.MultipleLocator(major))ax.xaxis.set_minor_locator(ticker.MultipleLocator(minor))  # 最小刻度精度# 定义刻度位置ax.xaxis.set_ticks_position(position)ax.set_xlim(minx, maxx)ax.text(-0.5, -0.3, title, transform=ax.transAxes,fontsize=9, fontname='Monospace', color='black')fig, axs = plt.subplots(9, 1, figsize=(8, 6))
# fig.suptitle("Nomogram demo") # 设置标题setup(axs[0], title="Points", position="top", minx=0, maxx=100, major=10, minor=2.5)
axs[0].xaxis.set_major_formatter(ticker.ScalarFormatter(useMathText=True))setup(axs[1], title="Age", minx=35, maxx=85, major=5, minor=5)
axs[1].xaxis.set_major_formatter(ticker.ScalarFormatter(useMathText=True))setup(axs[2], title="Blood Glucose", minx=100, maxx=50, major=10, minor=10)
axs[2].xaxis.set_major_formatter(ticker.ScalarFormatter(useMathText=True))setup(axs[3], title="Gender", minx=1, maxx=0, major=1, minor=1)
axs[3].xaxis.set_major_formatter(ticker.ScalarFormatter(useMathText=True))setup(axs[4], title="TotalPoints", minx=0, maxx=260, major=20, minor=4)
axs[4].xaxis.set_major_formatter(ticker.ScalarFormatter(useMathText=True))setup(axs[5], title="Linear Predictor", minx=-0.8, maxx=0.8, major=0.2, minor=0.1)
axs[5].xaxis.set_major_formatter(ticker.ScalarFormatter(useMathText=True))setup(axs[6], title="1-yearSurvival Probability", minx=0.85, maxx=0.5, major=0.05, minor=0.05)
axs[6].xaxis.set_major_formatter(ticker.ScalarFormatter(useMathText=True))setup(axs[7], title="3-yearSurvival Probability", minx=0.5, maxx=0.05, major=0.05, minor=0.05)
axs[7].xaxis.set_major_formatter(ticker.ScalarFormatter(useMathText=True))setup(axs[8], title="5-yearSurvival Probability", minx=0.25, maxx=0.05, major=0.05, minor=0.05)
axs[8].xaxis.set_major_formatter(ticker.ScalarFormatter(useMathText=True))
fig.tight_layout()
plt.show()# 保存图片
# plt.savefig('nomogram.jpg')

参考

  • https://matplotlib.org/stable/gallery/ticks_and_spines/tick-formatters.html#sphx-glr-gallery-ticks-and-spines-tick-formatters-py
  • https://matplotlib.org/stable/gallery/ticks_and_spines/tick-locators.html#sphx-glr-gallery-ticks-and-spines-tick-locators-py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pgtn.cn/news/17774.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

卷积神经网络基础:(7)经典的网络架构

目录 经典网络架构: (1)Alexnet: (2)Vgg: (3)Resnet 经典网络架构: (1)Alexnet: 12年的经典之作,他是一个…

Windows安装用于OCR的Tesseract及使用命令行参数进行OCR

Windows安装用于OCR的Tesseract及使用命令行参数进行OCR1. 效果图2. Tesseract 安装及验证参考这篇博客将介绍如何安装和使用光学字符识别(OCR Optical Character Recognition)的Tesseract库,并使用命令行对图像中的字符进行识别;…

卷积神经网络基础:(8)递归神经网络RNN

1、RNN网络由来 RNN:Recurrent Neural Network。递归神经网络只是在传统神经网络上进行一个改进而已。 正常流程是:输入---->隐层---->输出 (数据来了经过隐层最终得到输出就完事了) 当我们在使用递归神经网络的时候一些限制,现在我拿…

Matplotlib绘制象限图——支持中文、箭头、自定义轴线交点

Matplotlib绘制象限图——支持中文、箭头、自定义轴线交点 1. 效果图2. 原理2.1 绘制象限图步骤2.1 添加文字到图表3. 源码参考这篇博客将介绍如何使用matplotlib绘制象限图,写这篇博客源于博友的提问。 首先pyechart貌似不支持绘制象限图。pyecharts支持的象形柱图demo与想要…

Facebook 与 Google 正在主导在线身份验证市场

OpenID 公司 JanRain 的一项研究发现,用户在第三方网站进行身份验证时,最喜欢使用 Google 和 Facebook 的身份验证服务。Facebook 的验证服务 在媒体, 零售,技术等领域略微领先,而 JanRain 的17万份客户数据显示&#…

PyTorch框架:(1)基本处理操作

目录 1、PyTorch框架介绍 2、安装Pytorch 2.1、CPU版本的安装命令: 2.2、GPU版本的安装命令: 2.2.1、安装CUDA 3、基本使用方法 4、Pytorch中的自动求导机制 4.1、例子: ​ 4.2、做一个线性回归试试水 4.2.1、CPU训练版本 4.2.1、GPU…

使用KMeanCluster对多个区域进行聚类,并结合Matplotlib绘制中心点、最大最小距离点

使用KMeanCluster对多个区域进行聚类,并结合Matplotlib绘制中心点、最大最小距离点1. 效果图2. 源码2.1 原始数据——xq.txt2.2 源码参考这篇博客将演示如何使用KMeansCluster对多个区域进行聚类,并结合Matplotlib绘制中心点、最大最小区域的点。 写这篇…

PyTorch框架:(2)使用PyTorch框架构建神经网络模型---气温预测

目录 第一步:数据导入 第二步:将时间转换成标准格式(比如datatime格式) 第三步: 展示数据:(画了4个子图) 第四步:做独热编码 第五步:指定输入与输出 第六步:对数据做一…