Bk1_Ch10_01

news/2024/11/15 14:09:36/文章来源:https://www.cnblogs.com/tianpan2019/p/18307232

Chapter 10

解剖一幅图

Book_1《编程不难》 | 鸢尾花书:从加减乘除到机器学习

代码来源:https://matplotlib.org/stable/gallery/showcase/anatomy.html

import matplotlib.pyplot as plt
import numpy as npfrom matplotlib.patches import Circle
from matplotlib.patheffects import withStroke
from matplotlib.ticker import AutoMinorLocator, MultipleLocator
royal_blue = [0, 20/256, 82/256]# make the figurenp.random.seed(19680801)X = np.linspace(0.5, 3.5, 100)
Y1 = 3+np.cos(X)
Y2 = 1+np.cos(1+X/0.75)/2
Y3 = np.random.uniform(Y1, Y2, len(X))
fig = plt.figure(figsize=(7.5, 7.5))
ax = fig.add_axes([0.2, 0.17, 0.68, 0.7], aspect=1)ax.xaxis.set_major_locator(MultipleLocator(1.000))
ax.xaxis.set_minor_locator(AutoMinorLocator(4))
ax.yaxis.set_major_locator(MultipleLocator(1.000))
ax.yaxis.set_minor_locator(AutoMinorLocator(4))
ax.xaxis.set_minor_formatter("{x:.2f}")ax.set_xlim(0, 4)
ax.set_ylim(0, 4)ax.tick_params(which='major', width=1.0, length=10, labelsize=14)
ax.tick_params(which='minor', width=1.0, length=5, labelsize=10,labelcolor='0.25')ax.grid(linestyle="--", linewidth=0.5, color='.25', zorder=-10)ax.plot(X, Y1, c='C0', lw=2.5, label="Blue signal", zorder=10)
ax.plot(X, Y2, c='C1', lw=2.5, label="Orange signal")
ax.plot(X[::3], Y3[::3], linewidth=0, markersize=9,marker='s', markerfacecolor='none', markeredgecolor='C4',markeredgewidth=2.5)ax.set_title("Anatomy of a figure", fontsize=20, verticalalignment='bottom')
ax.set_xlabel("x Axis label", fontsize=14)
ax.set_ylabel("y Axis label", fontsize=14)
ax.legend(loc="upper right", fontsize=14)# Annotate the figuredef annotate(x, y, text, code):# Circle markerc = Circle((x, y), radius=0.15, clip_on=False, zorder=10, linewidth=2.5,edgecolor=royal_blue + [0.6], facecolor='none',path_effects=[withStroke(linewidth=7, foreground='white')])ax.add_artist(c)# use path_effects as a background for the texts# draw the path_effects and the colored text separately so that the# path_effects cannot clip other textsfor path_effects in [[withStroke(linewidth=7, foreground='white')], []]:color = 'white' if path_effects else royal_blueax.text(x, y-0.2, text, zorder=100,ha='center', va='top', weight='bold', color=color,style='italic', fontfamily='monospace',path_effects=path_effects)color = 'white' if path_effects else 'black'ax.text(x, y-0.33, code, zorder=100,ha='center', va='top', weight='normal', color=color,fontfamily='monospace', fontsize='medium',path_effects=path_effects)annotate(3.5, -0.13, "Minor tick label", "ax.xaxis.set_minor_formatter")
annotate(-0.03, 1.0, "Major tick", "ax.yaxis.set_major_locator")
annotate(0.00, 3.75, "Minor tick", "ax.yaxis.set_minor_locator")
annotate(-0.15, 3.00, "Major tick label", "ax.yaxis.set_major_formatter")
annotate(1.68, -0.39, "xlabel", "ax.set_xlabel")
annotate(-0.38, 1.67, "ylabel", "ax.set_ylabel")
annotate(1.52, 4.15, "Title", "ax.set_title")
annotate(1.75, 2.80, "Line", "ax.plot")
annotate(2.25, 1.54, "Markers", "ax.scatter")
annotate(3.00, 3.00, "Grid", "ax.grid")
annotate(3.60, 3.58, "Legend", "ax.legend")
annotate(2.5, 0.55, "Axes", "fig.subplots")
annotate(4, 4.5, "Figure", "plt.figure")
annotate(0.65, 0.01, "x Axis", "ax.xaxis")
annotate(0, 0.36, "y Axis", "ax.yaxis")
annotate(4.0, 0.7, "Spine", "ax.spines")# frame around figure
fig.patch.set(linewidth=4, edgecolor='0.5')
plt.show()

png

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java八股复习指南-多线程篇

多线程 线程的实现 在 Java 中,实现多线程的主要有以下四种继承 Thread 类,重写 run() 方法; 实现 Runnable 接口,实现 run() 方法,并将 Runnable 实现类的实例作为 Thread 构造函数的参数 target; 实现 Callable 接口,实现 call() 方法,然后通过 FutureTask 包装器来创…

W外链创建抖音私信卡片教程,私信卡片跳转微信工具

W外链地址wai.cn 在数字化时代的浪潮中,私域流量的价值愈发凸显,成为企业获取用户、建立品牌忠诚度、提升转化率的关键手段。抖音,作为当下最热门的短视频社交平台之一,其用户基数庞大、互动性强,为企业私域引流提供了绝佳的舞台。而抖音私信卡片,正是私域引流中的一把利…

Gradle更换阿里云镜像源

1、下载Gradle 官网:https://gradle.org/releases/ 2、配置Gradle环境变量 3、安装目录下找到init.d文件夹 再该文件夹中创建init.gradle文件,编写一下脚本替换阿里云镜像// 阿里云仓库和源仓库地址对比:https://developer.aliyun.com/mvn/guidegradle.projectsLoaded {root…

CANXL协议解读系列 | (2)一文读懂ISO 11898-2:2024 CANXL物理层

伴随着ISO 11898-2:2024版本的更新,第三代CAN总线通信CAN XL技术迎来了它的序幕。 2024年3月22日, ISO 推出11898-2:2024版本,标志着CAN总线收发器的最高速率由CANFD行业认可的8Mbit/s提速到最高20Mbit/s(2024年5月24日ISO 11898-1 2024已发表)。20Mbit/s的传输带…

EFCore -CodeFirst模式 数据库使用SqLite

首先安装nuget包:System.Data.SQLite 和 SQLite.CodeFirst,如下二图:然后在App.config中配置数据库连接字符串: <connectionStrings><add name="StuDB" connectionString="data source=BoilerCalculator.db" providerName="System.Data.S…

log4net 在.NET Core 控制台程序中的应用(2)

简介 本文主要讲解log4net 在.NET Core控制台程序中的应用 步骤 1.安装log4net Nuget包 2.增加配置文件 3.直接调用 4.验证结果 实施 1.安装log4net Nuget包 首先,需要在你的.NET Core项目中安装log4net包。可以通过NuGet包管理器来安装。打开你的项目,然后使用以下命令安装l…

.NET开源、简单、实用的数据库文档生成工具

前言 今天大姚给大家分享一款.NET开源(MIT License)、免费、简单、实用的数据库文档(字典)生成工具,该工具支持CHM、Word、Excel、PDF、Html、XML、Markdown等多文档格式的导出:DBCHM。 支持的数据库 SqlServer、MySQL、Oracle、PostgreSQL、DB2、SQLite。 文档的内容都包…

记4道弱智题

今天集训模拟赛,3h,喜提110pts/400pts。 第一题:反复覆盖区间,求各点处的最小值。 上来想了差分,记录左端点等方法,越写越长。20min跳了,慌。 第二题:模拟题,ipv6压缩。 看起来不难,开始写,先去掉全0串,再去掉前导零,最后处理输出,样例全过了,我觉得能A。 第三题…

log4net 在.NET Core 控制台程序中的应用

简介 本文主要讲解log4net 在.NET Core控制台程序中的应用 步骤 1.安装log4net Nuget包 2.增加配置文件 3.增加封装的LogHelper的类 4.调用 5.验证结果 实施 1.安装log4net Nuget包 首先,需要在你的.NET Core项目中安装log4net包。可以通过NuGet包管理器来安装。打开你的项目,…

iOS开发基础116-性能监控

在iOS开发中,性能监控是确保应用流畅运行和用户体验的关键。常用的性能监控工具能够帮助开发者实时监控系统性能,检测和诊断性能问题。下面列举几款常用的iOS性能监控工具,深入解析其底层原理、优缺点。 1. Instruments Instruments 是由Apple官方提供的用于性能分析和调试的…

【转载】浅谈 pb_ds 库及其在OI其他算竞中的应用

笔记 2023年11月16日 35 0 【转载】浅谈 pb_ds 库及其在OI其他算竞中的应用 【原链接】这篇太叼了! pb_ds,比 STL 更强大的模板库。upd. on 10.27 更新了优先队列的常数分析,增加了“万能头文件”的内容。 前言 之前看到过一篇关于 pb_ds 写得很好的文章,但现在找不到了;O…

[BJDCTF2020]Mark loves cat(源码泄露+命令执行)

扫描之后发现是/.git源码泄露 python GitHack.py http://56ad87c1-d8fb-463d-9480-f0fbee5176a0.node5.buuoj.cn:81/.git/ 之后出现源码查看index.php<?php// 包含外部文件 flag.php,可能包含变量 $flag include flag.php;// 初始化三个变量 $yds = "dog"; …