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])

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)

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 pltt = 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-axiscolor = '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 Axes3Dfig=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 cmX=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绘图——坐标轴相关推荐

  1. python 绘图 坐标轴范围 颜色 保存

    1.设置坐标轴取值范围 # 设置每个坐标轴的取值范围 ax.axis([0, 1100, 0, 1100000]) 隐藏坐标轴 ax.get_xaxis().set_visible(False) ax ...

  2. Python绘图(一):坐标轴刻度及范围设置

    python绘图一般使用matplotlib.pandas等,本示例使用matplotlib进行简单的python绘图的坐标轴设置 1 定义坐标轴字体 plt.rc('font',family='Ti ...

  3. python绘图时,坐标轴负号显示不出来

    问题描述 python绘图中,坐标轴负号不能正常显示 解决方案: **使用如下代码即可正常显示:** import matplotlib matplotlib.rcParams['axes.unico ...

  4. python绘图时,取消坐标轴的科学计数法显示python绘图模板总结

    python绘图,横坐标范围比较大,一百万吧,然后自动就变成了科学计数的形式 然后某大神给出来的解决办法: ax.get_xaxis().get_major_formatter().set_scien ...

  5. python绘图模块pandas_python绘图:matplotlib和pandas的应用

    在进行数据分析时,绘图是必不可少的模式探索方式.用Python进行数据分析时,matplotlib和pandas是最常用到的两个库. 1.matplotlib库的应用 准备工作如下:打开ipython ...

  6. python绘图—— matplotlib

    python绘图-- matplotlib 1.模块导入 2.折线图绘制 2.1 设置画布大小 2.2画图 2.3 设置显示中文 2.4 设置标题 2.5 设置图例 2.6 设置坐标轴刻度和刻度标签 ...

  7. python plot 坐标轴范围_Python-Matplotlib 15 坐标轴范围

    原博文 2017-02-22 10:52 − Python-Matplotlib 15 坐标轴范围 EG1 import numpy as np import matplotlib.pyplot as ...

  8. python 绘图的背景颜色不要_matplotlib自定义添加 “哆啦A梦”背景图,这个操作真牛逼!...

    为什么需要加星标? 由于微信公众号出现了 "乱序" 排列的状况,也就是说:文章不会按照 "时间顺序" 推送给你.那么朋友们就不能第一时间,收到我的干货.因此希望 ...

  9. python绘图坐横坐标轴显示

    python matplotlib绘图 --使横坐标轴显示指定内容 在python 绘图的时候直接plot会出现横坐标轴显示为浮点数得情况. 举个栗子: 使用代码: import matplotlib ...

  10. Python绘图基础:认识绘图区 + subplot创建子图

    本小白在用 Python 绘制图形的时候发现可以利用多种代码来完成相同的图形的绘制,今天就给大家分享自己在利用 Python 绘图过程中总结的思路. 话不多说,直接开始 !!! 一.认识绘图区 在绘制 ...

最新文章

  1. 如何修改select的样式
  2. 融合变形三维插件想法
  3. 【已解决】ReferenceError: $ is not defined
  4. oracle跳过undo回滚段启动,[Oracle] 解析在没有备份的情况下undo损坏怎么办
  5. sqlserver 分组合并列_【双11秒杀】帕克96分阿根廷一级名庄鼎尖单一园马尔贝克...
  6. 一个没暂时没有办法实现的问题和一个有意思的小问题!
  7. iOS:xxx referenced from
  8. EmptyRecycle() 清空回收站
  9. Python3-环境篇-01-Python3安装
  10. 菜鸟教程 程序员学习网站
  11. 刘万祥老师讲如何利用条件格式色阶制作数据地图
  12. 易基因 - 外泌体let-7d-3p和miR-30d-5p作为宫颈癌及其癌前病变无创筛查的诊断标志物|早期筛查
  13. 【NUC980开发板DIY项目大挑战】串口服务器
  14. scau 18967 六一儿童节
  15. 打开bat文件闪退以及‘java‘不是内部或外部命令,也不是可运行的程序或批处理文件【本人亲测解决方法】
  16. 环信IM快速集成集成,实现客服功能(单聊)
  17. 复数,通往真理的最短路径
  18. 《Mysql是怎样运行的》读书笔记之独立表空间结构
  19. 招聘ABAP开发程序员
  20. 复旦大学软件工程电子信息考研信息

热门文章

  1. java毕业答辩ppt_java网上商城系统毕业设计答辩.ppt
  2. mysql jemalloc_jemalloc优化MySQL、Nginx内存管理
  3. 利用1stOpt进行方程拟合与参数优化
  4. Win10网卡驱动异常代码56的问题
  5. ubantu 安装火狐浏览器插件
  6. 如何使用flex布局,实现三个div垂直居中布局
  7. 新手入门:盘点Web测试与APP测试的异同点
  8. lenovo L480 进入bios_联想笔记本BIOS升级教程
  9. ipd敏捷开发_IPD+敏捷开发
  10. web端文字转语音播放的几种方式