day05-matplotlit设置图形各种参数

matplotlib网格

1. 显示网格:plt.grid()

plt.grid(True, linestyle = "--",color = "gray", linewidth = "0.5",axis = 'x')
  • 显示网格
  • linestyle:线型,“–”:表示网格是虚线,默认为实线
  • color:网格颜色
  • linewidth:宽度
  • axis:x,y,both,显示x/y/两者的格网
x = np.linspace(-np.pi,np.pi,256,endpoint = True)
c, s = np.cos(x), np.sin(x)
plt.plot(x, c)
plt.plot(x, s)
# 通过ndarry创建图表
#plt.grid(True, linestyle = "--",color = "gray", linewidth = "0.5",axis = 'both')
plt.grid(True,linestyle="--")
# 显示网格
# linestyle:线型
# color:颜色
# linewidth:宽度  (lw)
# axis:x,y,both,显示x/y/两者的格网

在这里插入图片描述

2. plt.gca( ) 对坐标轴的操作

首先观察画布上面的坐标轴,如下图

在这里插入图片描述

上图中,用红色标识出的黑色边界框线在Matplotlib中被称为spines,中文翻译为脊柱…在我理解看来,意思是这些边界框线是坐标轴区域的“支柱”。

那么,我们最终要挪动的其实就是这四个“支柱”

且所有的操作均在plt.gca( )中完成,gca就是get current axes的意思

接下来需要绘制图如下:

在这里插入图片描述

  • 获取当前坐标轴位置并移动
# 创建x轴数据
x = np.arange(-50,51)
# 创建y轴的数据,他是x的平方
y = x ** 2
plt.plot(x, y)

在这里插入图片描述

x = np.arange(-50,51)
y = x ** 2
# 获取当前坐标轴
ax = plt.gca()
# 通过坐标轴spines,确定 top, bottom, left, right (分别表示上,下,左和右)# 不需要右侧和上侧线条,则可以设置他的颜色
ax.spines['right'].set_color("none")
ax.spines['top'].set_color("none")

在这里插入图片描述

# 移动下轴到指定位置
# 在这里,position位置参数有三种,data , outward(向外-可自行尝试) , axes
# axes:0.0 - 1.0之间的值,整个轴上的比例
#ax.spines['left'].set_position(('data',0.0))
ax.spines['left'].set_position(('axes',0.5))  #0-1范围   0.5——>50%
# 移动下轴到指定位置
# 'data'表示按数值挪动,其后数字代表挪动到Y轴的刻度值
#ax.spines['bottom'].set_position(('data',0.0))#设置坐标区间:
plt.ylim(0, y.max()) # 设置轴取值范围
plt.plot(x, y)

在这里插入图片描述

3. plt.rcParams设置画图的分辨率,大小等信息

  • plt.rcParams[‘figure.figsize’] = (8.0, 4.0) # 设置figure_size英寸
  • plt.rcParams[‘figure.dpi’] = 300 #分辨率
    • 默认的像素:[6.0,4.0],分辨率为72,图片尺寸为 432x288
    • 指定dpi=100,图片尺寸为 600*400
    • 指定dpi=300,图片尺寸为 1800*1200
plt.rcParams['figure.figsize'] = (6.0, 4.0)
plt.plot()
# 指定dpi=100,图片尺寸为 600*400
plt.rcParams['figure.dpi'] = 100
#值越大越清晰

4.图表的样式参数设置

  • (1).线条样式

    传入x,y,通过plot画图,并设置折线颜色、透明度、折线样式和折线宽度 标记点、标记点大小、标记点边颜色、标记点边宽,网格

    plt.plot(x,y,color='red',
    alpha=0.3,
    linestyle='',
    linewidth=5,
    marker='o',
    markeredgecolor='r',
    markersize='20',
    markeredgewidth=10)
    
  • 1). color:可以使用颜色的16进制,也可以使用线条颜色的英文,还可是使用之前的缩写

字符颜色英文全称
‘b’蓝色blue
‘g’绿色green
’ r ’红色red
’ c ’青色cyan
’ m ’品红magenta
’ y ’黄色yellow
’ k ’黑色black
’ w ’白色white

颜色参考地址:http://tools.jb51.net/color/jPicker

  • 2). alpha: 0-1,透明度
  • 3). linestyle:折线样式
字符描述
‘-’实线
‘–’虚线
‘-.’点划线
‘:’虚线
  • 3). marker标记点:
标记符号描述
‘.’点标记
‘o’圆圈标记
‘x’'X’标记
‘D’钻石标记
‘H’六角标记
‘s’正方形标记
‘+’加号标记
x= np.arange(0, 100,10)
y= x ** 2
"""linewidth 设置线条粗细label 设置线条标签color 设置线条颜色linestyle 设置线条形状marker 设置线条样点标记
"""
plt.plot(x, y, linewidth = '2', label = "test", color='b', linestyle='--', marker='H')
plt.legend(loc='upper left')

在这里插入图片描述

(2).线条样式缩写
# 颜色 标记 样式
plt.plot([1,2,3],[4,7,6],'r*-.')
plt.plot([2,4,5],[3,8,7],'m+--')

在这里插入图片描述

plt.rcParams['figure.figsize']=(8,4)
#不同种类不同颜色的线
#不同种类不同颜色的线并添加图例
x=np.linspace(0,10,100)plt.plot(x,x+0, '-g', label='-g')    #实线  绿色plt.plot(x,x+1, '--c', label='--c')   #虚线 浅蓝色plt.plot(x,x+2, '-.k', label='-.k')   #点划线 黑色plt.plot(x,x+3, '-r', label='-r')    #实线  红色plt.plot(x,x+4, 'o', label='o')     #点   默认是蓝色plt.plot(x,x+5, 'x', label='x')     #叉叉  默认是蓝色plt.plot(x,x+6, 'dr', label='dr')    #砖石  红色#添加图例右下角lower right  透明度  阴影  边框宽度
plt.legend(loc='lower right',framealpha=0.5,shadow=True, borderpad=0.5)

在这里插入图片描述

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

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

相关文章

债券久期及其与债券价格波动的关系

债券久期及其与债券价格波动的关系 什么是债券久期? “久期”是一个用来衡量债券对利率变化敏感度的指标。它不仅表示债券的平均回收期,还考虑了债券的所有未来现金流(包括利息和本金)的时间价值。久期越长,债券对利…

晚上定时编译android系统

1、问题 可能偶然想晚上定时编译android系统 2、解决 at.sh #!/bin/sh# at -f at.sh now1min # at -lset -e set -xecho $SHELLecho at build begin /bin/date >> at_build.log/bin/bash -c source build/envsetup.sh >> at_build.log 2>&1; lunch xxx-us…

数列分块<1>

本期是数列分块入门<1>。该系列的所有题目来自hzwer在LOJ上提供的数列分块入门系列。 Blog:http://hzwer.com/8053.html sto hzwer orz %%% [转载] -----------------------------------------------------------------…

软件建模概要

什么是软件建模&#xff1f;软件建模体现了软件设计的思想&#xff0c;在需求和实现之间架起了一座桥梁&#xff0c;通过模型指导软件系统的具体实现。模型不是软件的完备表示&#xff0c;而是所研究系统的一种抽象。 软件建模原则&#xff1a; 选择正确的模型&#xff0c;模…

JAVA设计模式>>结构型>>适配器模式

本文介绍23种设计模式中结构型模式的适配器模式 目录 1. 适配器模式 1.1 基本介绍 1.2 工作原理 1.3 适配器模式的注意事项和细节 1.4 类适配器模式 1.4.1 类适配器模式介绍 1.4.2 应用实例 1.4.3 注意事项和细节 1.5 对象适配器模式 1.5.1 基本介绍 1.5.2 …

VUE+ELEMENTUI表格的表尾合计

<el-table :data"XXXX" :summary-method"getSummaries" show-summary "true" > getSummaries(param) { const { columns, data } param; const sums []; columns.forEach((column, index) > { if (index 0) { sums[index] 合计; }…

关于RiboSeq分析流程的总结

最近关注了一下RiboSeq的分析方法&#xff0c;方法挺多的&#xff0c;但是无论哪种软件&#xff0c;都会存在或多或少的问题&#xff0c;一点问题不存在的软件不存在&#xff0c;问题的原因出在&#xff0c;1.有的脚本是用python2编写的&#xff0c;目前python2已经不能用了 2.…

FFM(Field-aware Factorization Machine -领域感知的因子分解机)解析及举例

FFM&#xff08;Field-aware Factorization Machines&#xff09;模型是一种广泛应用于推荐系统、广告点击率预测等领域的机器学习模型。与传统的因子分解机&#xff08;FM&#xff09;相比&#xff0c;FFM模型考虑了不同特征字段之间的交互关系&#xff0c;从而能够更好地捕捉…

jdk17的一些特性和升级遇到的问题

特性 JEP 403: Strongly Encapsulate JDK Internals&#xff0c;增强jdk内部元素的保护 大多数开发用不到。升级jdk时&#xff0c;可能因为之前代码用了某些类&#xff0c;导致无法升级。 JEP 394: Pattern Matching for instanceof&#xff0c;instanceof模式匹配&#xff08;…

未履行出资义务,名义股东担何责任?

名义股东是否要对未履行出资义务承担责任&#xff1f;如果要担责&#xff0c;应该承担何种责任&#xff1f;近日&#xff0c;河南省西平县人民法院审结了一起股东损害公司债权人利益责任纠纷案。   2021年&#xff0c;经生效法律文书确认&#xff0c;B实业公司应支付A科技公司…

树莓派pico入坑笔记,dht11使用及温湿度表制作

目录 关于树莓派pico和circuitpython的更多玩法&#xff0c;请看树莓派pico专栏 用到的库adafruit_dht&#xff0c;需要导入pico才能使用&#xff0c;在这里下载 样例程序 进阶玩法&#xff0c;显示信息的温湿度计 屏幕使用见树莓派pico专栏的ssd1306oled屏幕使用 代码 效…

代码随想录算法训练营第34天

LeetCode 416. 分割等和子集 链接 class Solution { public:bool canPartition(vector<int>& nums) {vector<int> dp(10001, 0);int sum accumulate(nums.begin(), nums.end(), 0);if(sum % 2 1) {return false;}int target sum / 2;for(int i 0; i <…

Go 初始化一个字典

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

4K60无缝一体矩阵 HDMI2.0功能介绍

关于GF-HDMI0808S 4K60无缝一体矩阵的功能介绍&#xff0c;由于直接针对GF-HDMI0808S型号的具体信息较少&#xff0c;我将结合类似4K60无缝HDMI矩阵的一般功能特性和可能的GF-HDMI0808系列产品的特点来进行说明。请注意&#xff0c;以下信息可能不完全针对GF-HDMI0808S型号&…

HOW - 结合 Form 和 Schema 的数据验证方案(Shema Validation)

目录 示例安装示例代码解释 Schema Validation 产生背景和机制产生背景机制ZodYup 机制和工作原理结论 在 React 应用中&#xff0c;使用表单和 Schema Validation 可以有效地管理表单状态和验证输入数据。 示例 常见的库包括 Formik 和 Yup。Formik 用于管理表单状态&#x…

springboot+vue系统开发

链接: https://pan.baidu.com/s/1P1YpHAx9QOBPxjFZ9SAbig 提取码: u6f1

如何设计一个C语言面向结构体的内存数据库

内存数据库 一般所谓内存数据库&#xff0c;是指能够与应用运行在同一个进程内的数据库&#xff0c;也就是说能够被嵌入到进程内运行的数据库。 比较著名的内存数据库软件&#xff0c;例如&#xff0c;Sqlite&#xff1b;以及新生代的NOSql key-value数据库bdb(Berkeley DB)、…

Java基础(十九):集合框架

目录 一、Java集合框架体系二、Collection接口及方法1、添加2、判断3、删除4、其它 三、Iterator(迭代器)接口1、Iterator接口2、迭代器的执行原理3、foreach循环 四、Collection子接口1&#xff1a;List1、List接口特点2、List接口方法3、List接口主要实现类&#xff1a;Array…

GuLi商城-商品服务-API-品牌管理-统一异常处理

每个方法都加这段校验太麻烦了 准备做一个统一异常处理@ControllerAdvice 后台代码: package com.nanjing.gulimall.product.exception;import com.nanjing.common.exception.BizCodeEnum; import com.nanjing.common.utils.R; import lombok.extern.slf4j.Slf4j; import org…

【Linux】任务管理

这个任务管理&#xff08;job control&#xff09;是用在bash环境下的&#xff0c;也就是说&#xff1a;【当我们登录系统获取bashshell之后&#xff0c;在单一终端下同时执行多个任务的操作管理】。 举例来说&#xff0c;我们在登录bash后&#xff0c;可以一边复制文件、一边查…