【Matplotlib】科研绘图——折线图

文章目录

  • 1、导入
  • 2、定义Font及Style
  • 3、设置图像大小及坐标刻度
  • 4、数据准备
  • 5、自定义draw
  • 6、其他设置
  • 7、效果图

1、导入

import matplotlib
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
import numpy as np
import pandas as pd
%matplotlib inline

2、定义Font及Style

plt.style.use("seaborn-v0_8-whitegrid")
palette = plt.get_cmap('Set1')
font1 = {'family' : 'Times New Roman',
'weight' : 'normal',
'size'   : 60, #32
}
font2 = {'family' : 'Times New Roman',
'weight' : 'normal',
'size'   : 38, #24/28
}

3、设置图像大小及坐标刻度

fig=plt.figure(figsize=(18,12.6)) #12,8
my_x_ticks=np.arange(10,70,10)
lab = [r'10',r'20',r'30',r'40',r'50',r'60']#
#my_y_ticks=np.arange(50,90,10)plt.xticks(ticks=my_x_ticks,labels=lab)
plt.yticks()

4、数据准备

iters=[10, 20, 30, 40,50,60]y1 = [79,77,74,76,73 ,71 ]y2 = [68,66 ,65,64,61,62 ] y3 =[48,47,48 ,45  ,44,42 ]y4 = [58,56,55 ,53 ,54,50]y5 = [39,38 ,37,36  ,34 ,30]
#y_formatter = FormatStrFormatter('%1.1f')#下面数据可以用numpy根据任务需求算出
std1 =[1.47,1.46,2.01,1.11,2.07,1.95] 
std2 = [2.78,2.77, 2.34,2.28,2.34,2.89]
std3 = [1.5,2.7,2.0,1.7,2.0,2.3]
std4 = [2.64,3.64,1.69,3.32,2.29,1.97]
std5 = [3.00,2.49,3.40,3.10, 2.47,3.46]r11 = list(map(lambda x: x[0]-x[1], zip(y1,std1)))#上方差
r12 = list(map(lambda x: x[0]+x[1], zip(y1, std1)))#下方差r21 = list(map(lambda x: x[0]-x[1], zip(y2,std2)))#上方差
r22 = list(map(lambda x: x[0]+x[1], zip(y2, std2)))#下方差r31 = list(map(lambda x: x[0]-x[1], zip(y3,std3)))#上方差
r32 = list(map(lambda x: x[0]+x[1], zip(y3, std3)))#下方差r41 = list(map(lambda x: x[0]-x[1], zip(y4,std4)))#上方差
r42 = list(map(lambda x: x[0]+x[1], zip(y4, std4)))#下方差r51 = list(map(lambda x: x[0]-x[1], zip(y5,std5)))#上方差
r52 = list(map(lambda x: x[0]+x[1], zip(y5, std5)))#下方差

5、自定义draw

def draw_line(name_of_alg, color_index, y,r1,r2, marker):if isinstance(color_index, str) :color = color_indexelse: color=palette(color_index)#avg=np.mean(datas,axis=0)#std=np.std(datas,axis=0)#r1 = list(map(lambda x: x[0]-x[1], zip(avg, std)))#上方差#r2 = list(map(lambda x: x[0]+x[1], zip(avg, std)))#下方差plt.plot(iters, y, color=color,label=name_of_alg,linewidth=8,marker=marker, markeredgecolor=color, markersize='24', markeredgewidth=4,markerfacecolor='none')plt.fill_between(iters, r1, r2, color=color, alpha=0.2)draw_line("A",4,y1,r11,r12, 'D')
draw_line("B",2,y2,r21,r22, 's')
draw_line("C",1,y3,r31,r32, 'o')
draw_line("D",3,y4,r41,r42, 'v')
draw_line("E",7,y5,r51,r52, 'p')

6、其他设置

plt.xticks(fontsize=50)#25
plt.yticks(fontsize=50)#25
plt.xlabel('X(%)',font1)
plt.ylabel('Y(%)',font1)
#plt.legend(loc='lower left',prop=font2, frameon=True, fancybox=True,framealpha=0.5)
#网格
plt.legend(loc='lower left',prop=font2, frameon=True, fancybox=True,framealpha=0.5)
#标题
plt.title("EXAMPLE",fontsize=60)
#保存为pdf
plt.savefig('./EXAMPLE.pdf')
plt.show()

7、效果图

在这里插入图片描述

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

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

相关文章

上海泗博EtherCAT转PROFINET网关TEC-380助力汇川伺服与西门子PLC实现高效协同

背景 在食品饮料生产线中,正杯机以其高精度的定位和运动控制能力确保每个杯子的精准填充与严密封口,而这一切得益于伺服驱动器的强大支持。 浙江某饮料加工生产线,中控系统使用S7-1511PLC控制伺服驱动器作为正杯机的动力与控制核心&#xff0…

探索1688店铺所有商品API接口:一键获取海量数据,开启商业智能新篇章

1688店铺所有商品API接口技术详解 一、概述 1688店铺所有商品API接口是阿里巴巴提供的一套应用程序接口,允许第三方开发者获取指定1688店铺下的所有商品信息。通过使用这个接口,开发者可以获取到店铺内所有商品的列表、详情、属性等信息,从…

JUC并发编程-四大函数式接口、Stream 流式计算、ForkJoin并行执行任务

12. 四大函数式接口 新时代的程序员:lambda表达式、链式编程、函数式接口、Stream流式计算 函数式接口:只有一个方法的接口,可以有一些默认的方法 如:Runnable接口函数 1)Function 函数型接口 public class Functio…

二十大计算机专业证书,让你从芸芸众生中脱颖而出

目录 一. 前言 二. 计算机专业证书 三. 国内认证 3.1. 计算机技术与软件专业资格考试证书(软考) 3.2. 通信专业技术人员职业水平证书 3.3. 全国计算机等级考试证书(NCRE) 3.4. 全国计算机应用水平考试证书(NIT&a…

###C语言程序设计-----C语言学习(8)## 斐波那契数列问题,素数问题,人数分配问题。

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。 今天,我们主要分享三个问题如何用C语言去求解,1.斐波…

Flutter使用cmd命令和调用bat文件

前言 在windows上写程序难免会遇到调用cmd命令和bat的文件去执行一些功能,使用了flutter官方的工具调用体验非常不好。 于是翻了一下有没有第三方的,找到了cmd_plus 使用了一下非常好用。 集成 使用pub搜索 cmd_plus 注意cmd是不支持web的,…

研学活动报名平台源码开发方案

一、项目背景与目标 (一)项目背景 研学活动报名平台旨在为活动组织者提供方便快捷的研学活动管理工具,同时为用户提供全面的活动搜索、报名和支付等功能。通过该系统,活动组织者能够更好地管理活动报名信息,用户也可…

【LeetCode: 25. K 个一组翻转链表 + 链表 + 递归】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

纯静态微信小程序水果商城

首页代码 <view class"container"><!-- 轮播图 --><view class"swiper-container"><swiper class"screen-swiper" indicator-dots"true" circular"true" autoplay"true" interval"300…

大学生以C语言为开始怎样学好编程呢?

大学生以C语言为开始怎样学好编程呢&#xff1f; 在开始前我分享下我的经历&#xff0c;刚入行时遇到一个好公司和师父&#xff0c;给了我机会&#xff0c;两年时间从3k薪资涨到18k的&#xff0c; 我师父给了一些C语言学习方法和资料&#xff0c;让我不断提升自己&#xff0c;…

普通人怎么做Temu跨境电商项目?这几点要了解

随着全球电商市场的蓬勃发展&#xff0c;越来越多的人开始关注跨境电商领域。Temu作为拼多多旗下的跨境电商平台&#xff0c;以其独特的商业模式和强大的供应链能力吸引了众多普通人的关注。那么&#xff0c;作为一个普通人&#xff0c;如何才能做好Temu跨境电商项目呢?接下来…

ChatGPT可与自定义GPTs一起使用,智能AI代理时代来啦!

1月31日凌晨&#xff0c;OpenAI在社交平台公布了一个超强新功能&#xff0c;可以在ChatGPT中输入“GPTs名字”的方法&#xff0c;调用多个自定义GPTs一起协同工作。 例如&#xff0c;我想开发一款社交APP&#xff0c;1&#xff09;可以先用专业分析GPTs做一下市场调研&#xf…

小猪o2o生活通系统更新到了v24.1版本了php文件开源了提供VUE了但是车牌识别功能你真得会用吗

一.车牌识别设置项 车牌识别设置项总开关&#xff1a;系统后台-社区管理-社区配置-车牌识别配置。 平台需要开启车牌识别功能&#xff0c;其次平台可以选择车牌识别功能是由平台配置还是小区自己配置有需要提供代码的可以Q我昵称注明&#xff1a;CSDN网友。如果是平台自己配置&…

部署PXE高效批量网络装机

部署PXE高效批量网络装机 因在Cisco3850核心交换机中已开启DHCP 服务&#xff0c;因此不需要在配置DHCP服务。如果您的网络环境中也已有DHCP服务&#xff0c;也不用再配置DHCP服务了&#xff0c;直接部署PXE相关服务即可。 找一台linux系统的服务器&#xff0c;这本次试验用的是…

溯源取证-iphone取证-高难度篇

摘要&#xff1a; 本次内容主要讲解iphone8取证&#xff0c;算是年前最后一篇了&#xff0c;大家将就着看哈 本次使用的工具&#xff1a; ileappGUI.exe github一款开源且免费的移动介质取证工具 Magnet Axiom Cyber 一款付费的移动介质取证工具 DB.Browser.for.SQLite-3.12…

定制CRM客户关系管理软件的八个步骤

CRM发展要求周到的准备步骤由于丰富的功能&#xff0c;需要加以实施。因此&#xff0c;让我们仔细看看如何设计一个CRM&#xff0c;以获得最大的成功。 步骤1.设立目标 任何过程开始规划。之前建立一个客户关系管理&#xff0c;这是至关重要的写下的业务目标和确定什么样的挑战…

UnityShader(十)实现标准光照模型中的漫反射光照

基本光照模型中漫反射计算公式&#xff1a; 从公式可以看出&#xff0c;要计算漫反射需要知道四个参数&#xff1a;入射光线的颜色和强度clight&#xff0c;材质的漫反射系数mdiffuse&#xff0c;表面的法线n和光源方向I。 为了防止点积的结果为负数&#xff0c;需要使用max操…

速卖通半托管优缺点是什么?速卖通半托管和全托管的区别是什么?速卖通半托管怎么发货?

1月5日&#xff0c;阿里速卖通AliExpress正式向全体卖家推出半托管模式&#xff0c;并且官方连续发放多重补贴&#xff0c;重金加码半托管模式&#xff0c;推广力度非常大。 关于速卖通半托管服务春节补贴政策 图源&#xff1a;阿里巴巴全球速卖通官方 由此可见&#xff0c;半…

一种手机短信验证码登录平台的解决方案

前提 爬取数据时&#xff0c;请求需要带上Cookie&#xff0c;这是很常见的一种防爬手段。更新Cookie&#xff0c;常用的方法就是Selenium模拟输入用户名和密码&#xff1b;偶尔会遇到图片验证码&#xff0c;现在打码平台很多且技术也很成熟&#xff0c;这个已经不成问题。所谓…

使用Postman做API自动化测试

Postman最基本的功能用来重放请求&#xff0c;并且配合良好的response格式化工具。 高级点的用法可以使用Postman生成各个语言的脚本&#xff0c;还可以抓包&#xff0c;认证&#xff0c;传输文件。 仅仅做到这些还不能够满足一个系统的开发&#xff0c;或者说过于琐碎&#…