iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python绘图之坐标轴的超详细讲解
  • 960
分享到

python绘图之坐标轴的超详细讲解

2024-04-02 19:04:59 960人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 2D坐标轴1.1 绘制简单的曲线1.2 坐标轴的刻度线向内1.3 将坐标刻度从整0开始1.4 设置刻度栅格1.5 不显示坐标1.6 坐标值1.7 绘制横线和竖线1.8 设置

1. 2D坐标轴

1.1 绘制简单的曲线

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)#-1到1中画50个点
y=x**2
plt.plot(x,y,color='green')
plt.tick_params(axis='x',colors='blue')
plt.tick_params(axis='y',colors='red')
plt.show()

作图:

1.2 坐标轴的刻度线向内

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-1,1,50)#-1到1中画50个点
y=x**2
# 下面两行代码要放在plt.plot的前面
plt.rcParams['xtick.direction'] = 'in'#将x轴的刻度线方向设置向内
plt.rcParams['ytick.direction'] = 'in'#将y轴的刻度线方向设置向内

plt.plot(x,y,color='green')
plt.tick_params(axis='x',colors='blue')
plt.tick_params(axis='y',colors='red')
plt.show()

1.3 将坐标刻度从整0开始

plt.margins(x=0)
plt.margins(y=0)

#设置坐标轴范围
#plt.ylim([0,0.8])
#plt.xlim([0,0.75])

从0开始,不留空隙

1.4 设置刻度栅格

简单的刻度:

plt.grid()

主刻度和次刻度

import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(17,3))
ax = plt.GCa()
ax.xaxis.set_major_locator(plt.MultipleLocator(0.2))    #设置x轴主刻度
ax.xaxis.set_minor_locator(plt.MultipleLocator(0.04))   #设置x轴次刻度
ax.yaxis.set_major_locator(plt.MultipleLocator(0.5))    #设置x轴次刻度
ax.yaxis.set_minor_locator(plt.MultipleLocator(0.1))    #设置x轴次刻度
ax.grid(which='major',axis="both",linewidth=0.75,linestyle='-',color='r')
ax.grid(which='minor',axis="both",linewidth=0.25,linestyle='-',color='r')
x=np.linspace(0,3*np.pi,50)#-1到1中画50个点
y=2*np.sin(x)
plt.plot(x,y)
plt.margins(x=0)
plt.margins(y=0)
plt.show()

下面的图形类似于心电图纸绘制,关于心电图相关的绘制,具体在使用python绘制心电图中体现:

1.5 不显示坐标

只是坐标刻度不可见,两种方式的效果一样

# plt.xticks([])
plt.yticks([])

# 或者下面的
# frame.axes.get_xaxis().set_visible(False) # x 轴不可见
frame.axes.get_yaxis().set_visible(False) # y 轴不可见

关闭两者坐标轴,只有曲线图形

plt.axis('off')

1.6 坐标值

为坐标设置刻度值, 并且将刻度值旋转45度

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0,2,50)#-1到1中画50个点
y=x**2
plt.rcParams['xtick.direction'] = 'in'#将x轴的刻度线方向设置向内
plt.rcParams['ytick.direction'] = 'in'#将y轴的刻度线方向设置向内
ax = plt.gca()
xlabel=[str(val)+'_1' for val in range(100,110)]
ax.set_xticklabels(xlabel)
plt.xticks(rotation = 45)
plt.plot(x,y,color='green')
plt.tick_params(axis='x',colors='blue')
plt.tick_params(axis='y',colors='red')
plt.margins(x=0)
plt.margins(y=0)
plt.show()

1.7 绘制横线和竖线

plt.axvline(1)
plt.axhline(1.5)

![在这里插入图片描述](https://img-blog.csdnimg.cn/519c11090ad8418f92e84d6a6bd7d19d.png

1.8 设置坐标点的颜色

下图中设置y轴第3个坐标值的颜色为黄色,x轴第6个坐标值颜色为绿色。

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0,2,50)#-1到1中画50个点
y=x**2
plt.rcParams['xtick.direction'] = 'in'#将x轴的刻度线方向设置向内
plt.rcParams['ytick.direction'] = 'in'#将y轴的刻度线方向设置向内
ax = plt.gca()
plt.plot(x,y,color='green')
plt.tick_params(axis='x',colors='blue')
plt.tick_params(axis='y',colors='red')
ax.get_yticklabels()[3].set_color("y")
ax.get_xticklabels()[6].set_color("g")
plt.show()

1.9 双坐标

代码如下:

import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0.01, 10.0, 0.01)
data1 = np.exp(t)
data2 = np.sin(2 * np.pi * t)

fig, ax1 = plt.subplots()

color = 'tab:red'
ax1.set_xlabel('time (s)')
ax1.set_ylabel('exp', color=color)
ax1.plot(t, data1, color=color)
ax1.tick_params(axis='y', labelcolor=color)

ax2 = ax1.twinx()  # instantiate a second axes that shares the same x-axis

color = 'tab:blue'
ax2.set_ylabel('sin', color=color)  # we already handled the x-label with ax1
ax2.plot(t, data2, color=color)
ax2.tick_params(axis='y', labelcolor=color)

fig.tight_layout()  # otherwise the right y-label is slightly clipped
plt.show()

2. 3D坐标轴

2.1 绘制3D散点图

关键代码ax.scatter(xs, ys, zs, c=c, marker=m),输入数据xs,ys,zs是相同长度的一维数据。c是颜色,marker是散点类型。

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
def randrange(n, vmin, vmax):
    return (vmax - vmin)*np.random.rand(n) + vmin
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
 
n = 100
for c, m, zlow, zhigh in [('r', '*', -10, 20), ('b', 'o', -30, -10)]:
    xs = randrange(n, 23, 32)
    ys = randrange(n, 0, 100)
    zs = randrange(n, zlow, zhigh)
    ax.scatter(xs, ys, zs, c=c, marker=m)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()

2.2 绘制3D曲面图

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig=plt.figure(num=1,figsize=(8,6))
ax = Axes3D(fig)
X = np.arange(-4, 4, 0.25)
Y = np.arange(-4, 4, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X ** 2 + Y ** 2)
# height value
Z = np.cos(R)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.get_cmap('rainbow'),edgecolors='white')
ax.contourf(X, Y, Z, zdir='z', offset=-2, cmap=plt.get_cmap('rainbow'))#投影等高线,改变zdir='x', offset=-4实现投影到不同坐标轴     
ax.set_zlim(-2, 2)
ax.tick_params(axis='x',colors='g')
ax.tick_params(axis='y',colors='g')
ax.tick_params(axis='z',colors='g')
plt.show()

2.3 绘制3D柱形图

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm

X=np.arange(0, 9, step=1)#X轴的坐标
Y=np.arange(0, 10, step=1)#Y轴的坐标
arr = [[np.random.randint(1,50) for i in range(9)] for i in range(10)]
Z = np.array(arr)

xx, yy=np.meshgrid(X, Y)#网格化坐标
X, Y=xx.ravel(), yy.ravel()#矩阵扁平化
bottom=np.zeros_like(X)#设置柱状图的底端位值
Z=Z.ravel()#扁平化矩阵

width=height=0.8#每一个柱子的长和宽
#绘图设置
fig=plt.figure()
ax=fig.gca(projection='3d')#三维坐标轴
ax.bar3d(X, Y, bottom, width, height, Z, shade=True,color='lightgreen')#
#坐标轴设置
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()

引用

[1]Matplotlib 文档

[2]Python绘制三维图

[3]python-绘制3D柱形图

[4]Python + matplotlib更改纵横坐标刻度颜色

[5]Python绘图总结(Matplotlib篇)之坐标轴及刻度

总结

到此这篇关于python绘图之坐标轴的文章就介绍到这了,更多相关python绘图坐标轴内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python绘图之坐标轴的超详细讲解

本文链接: https://www.lsjlt.com/news/120254.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python绘图之坐标轴的超详细讲解
    目录1. 2D坐标轴1.1 绘制简单的曲线1.2 坐标轴的刻度线向内1.3 将坐标刻度从整0开始1.4 设置刻度栅格1.5 不显示坐标1.6 坐标值1.7 绘制横线和竖线1.8 设置...
    99+
    2024-04-02
  • python绘制子图技巧之plt.subplot、plt.subplots及坐标轴修改
    目录前言plt.subplotplt.subplots坐标轴修改总结前言 偶然发现python(matplotlib)中绘制子图有两种方法,一种是plt.subplot,另一种是pl...
    99+
    2024-04-02
  • Pandas绘图函数超详细讲解
    目录简介条形图折线图箱线图直方图饼图散点图和六边形分箱图简介 method绘图类别method绘图类别'line'折线图[默认使用]'area'堆叠面...
    99+
    2022-12-20
    Pandas绘图函数 Python绘图函数
  • R语言ggplot2包之坐标轴详解
    引言 我们还可以对图形中的坐标轴进行处理,包括x、y轴对换、设定坐标轴范围、刻度线修改与去除等等。要想对图形玩得转,坐标轴处理精通不可或缺。 坐标轴对换 我们使用coord_flip...
    99+
    2024-04-02
  • Python中turtle绘图模块的详细讲解
    目录前言turtle基本概念调出模块引用turtle模块(库)方法例、写字函数write()的使用使用Python的turtle(海龟)模块画图步骤总结前言 turtle库是Pyth...
    99+
    2024-04-02
  • VueECharts直角坐标系配置详细讲解
    目录前言直角坐标系常用配置网格坐标轴区域缩放前言 本篇来学习下直角坐标系的常用配置 直角坐标系 直角坐标系的图表指的是带有x轴和y轴的图表, 常见的直角坐标系的图表有: 柱状图 折线...
    99+
    2022-12-15
    Vue ECharts直角坐标系 Vue ECharts
  • C++超详细讲解标准库
    目录一、有趣的重载二、C++ 标准库三、小结一、有趣的重载 操作符 << 的原生意义是按位左移,例:1 <<2; 其意义是将整数 1 按位左移2位,即:000...
    99+
    2024-04-02
  • R语言绘制双坐标图的案例详解
    之前推送了一系列关于使用ggplot2包绘制统计图形的文章,有网友询问是否可以绘制双轴的统计图形。很抱歉,Hradly在设计ggplot2包时就没有将双轴图形功能考虑进来。难道R语言...
    99+
    2023-01-07
    R语言绘制双坐标图 R语言绘制坐标图
  • Python OpenCV超详细讲解图像堆叠的实现
    目录准备工作水平堆叠垂直堆叠图像栈堆叠准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库,import num...
    99+
    2024-04-02
  • Python实现双X轴双Y轴绘图的示例详解
    诈尸人口回归。这一年忙着灌水忙到头都掉了,最近在女朋友的提醒下终于想起来博客的账号密码,正好今天灌水的时候需要画一个双X轴双Y轴的图,研究了两小时终于用Py实现了。找资料的过程中没有...
    99+
    2024-04-02
  • Python队列Queue超详细讲解
    目录queue模块简介queue.Queue(maxsize=0)queue.LifoQueue(maxsize=0)queue.PriorityQueue(maxsize=0)qu...
    99+
    2023-05-16
    Python队列Queue Python Queue
  • Python 作图实现坐标轴截断(打断)的效果
    主题:利用python画图实现坐标轴截断或打断 关键词:python, plot, matplotlib, break axes 方法一: 首先介绍一种简单快速的方法——调用包 br...
    99+
    2024-04-02
  • mysql5.7(win10)安装超详细图文讲解
    一、MYSQL下载 官网下载链接:https://www.mysql.com/ 进入官网地址滑到最下面,选择Downloads下的MySQL Community server 2、可手动选择版本进行...
    99+
    2023-09-08
    mysql 数据库 windows linux
  • Python超详细讲解元类的使用
    目录类的定义一、什么是元类二、注意区分元类和继承的基类三、type 元类的使用四、自定义元类的使用类的定义 对象是通过类创建的,如下面的代码: # object 为顶层基类 clas...
    99+
    2024-04-02
  • Python绘图之详解matplotlib
    一、matplotlib介绍 matplotlib是python从matlab继承的绘图库,可以满足大部分的日常使用,是目前最流行的底层绘图库。 二、matplotlib的使用 (一...
    99+
    2024-04-02
  • SpringMVC超详细讲解视图和视图解析器
    目录SpringMVC-视图和视图解析器1.基本介绍2.自定义视图1.为什么要自定义视图2.自定义视图实例-代码实现3.自定义视图工作流程小结自定义视图-小结自定义视图-工作流程4....
    99+
    2024-04-02
  • Spring核心之IOC与bean超详细讲解
    目录前言一、Spring的简介和获取二、依赖注入与IOC1、接口注入2、Setter注入3、构造器注入三、自动装配1、按Bean名称装配2、按bean类型装配四、bean的作用域1、...
    99+
    2022-11-13
    Spring IOC Spring bean
  • Python 数据可视化超详细讲解折线图的实现
    绘制简单的折线图 ✅在使用matplotlib绘制简单的折线图之前首先需要安装matplotlib,直接在pycharm终端pip install matplotlib即可 ✅使用...
    99+
    2024-04-02
  • 超级详细的webpack Plugin讲解
    目录一、pulgin 的作用二、pulgin 配置方式三、pulgin 的本质四、常见的 pulgin4-1 html-webpack-plugin4-2 clean-webpack...
    99+
    2024-04-02
  • Python OpenCV超详细讲解基本功能
    目录准备工作转成灰度图像高斯模糊边缘检测膨胀运算腐蚀运算准备工作 右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库。 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作