-
2018-07-04 22:11:46
进大厂,身价翻倍的法宝来了!
主讲内容:docker/kubernetes 云原生技术,大数据架构,分布式微服务,自动化测试、运维。
7月1号-7月29号 8折优惠!!!
7月1号-7月29号 8折优惠!!!
7月1号-7月29号 8折优惠!!!课程简介:
第一章 熟悉Linux环境
1、Win10安装Ubuntu18.04双系统
2、熟悉Linux常用工具和命令
第二章 熟悉Docker
3、安装配置Docker
4、Docker命令实践
5、Dockerfile文件编写
6、常用镜像部署
第三章 熟悉Kubernetes
7、kubernetes架构和部署
8、熟悉kubectl命令使用
9、k8s应用部署实践(上)
10、k8s应用部署实践(下)
第四章 熟悉Helm
11、Helm安装配置
12、熟悉Helm应用书写规则
13、编写自己的Helm应用(作者:陈玓玏)
用matplotlib画图时,常常需要实现两类功能,一类是在一个坐标轴上画多条曲线,能够清楚地看到多条曲线的对比情况。另一种情况是在同一个窗口的不同子图上画图,多用于呈现不同内容的曲线,没有对比关系的曲线图。其实根本区别在于,是在同一对坐标轴上画图,还是在不同的坐标轴上画图。
一、同一坐标系上绘制多条曲线
首先自然是引入matplotlib包,这个包可以画散点图、线图、柱形图等等,是很好的数据可视化工具。其他的不多说,看注释。
import matplotlib.pyplot as plt import numpy as np #开启一个窗口,num设置子图数量,figsize设置窗口大小,dpi设置分辨率 fig = plt.figure(num=1, figsize=(15, 8),dpi=80) #直接用plt.plot画图,第一个参数是表示横轴的序列,第二个参数是表示纵轴的序列 plt.plot(np.arange(0,1,0.1),range(0,10,1)) plt.plot(np.arange(0,1,0.1),range(0,20,2)) #显示绘图结果 plt.show()
二、在不同子图上绘图
import matplotlib.pyplot as plt import numpy as np #开启一个窗口,num设置子图数量,这里如果在add_subplot里写了子图数量,num设置多少就没影响了 #figsize设置窗口大小,dpi设置分辨率 fig = plt.figure(num=2, figsize=(15, 8),dpi=80) #使用add_subplot在窗口加子图,其本质就是添加坐标系 #三个参数分别为:行数,列数,本子图是所有子图中的第几个,最后一个参数设置错了子图可能发生重叠 ax1 = fig.add_subplot(2,1,1) ax2 = fig.add_subplot(2,1,2) #绘制曲线 ax1.plot(np.arange(0,1,0.1),range(0,10,1),color='g') #同理,在同一个坐标系ax1上绘图,可以在ax1坐标系上画两条曲线,实现跟上一段代码一样的效果 ax1.plot(np.arange(0,1,0.1),range(0,20,2),color='b') #在第二个子图上画图 ax2.plot(np.arange(0,1,0.1),range(0,20,2),color='r') plt.show()
画图在进行模型评估时很常用,在进行变量评估时也可以用,能够提前查看变量的分布情况,也可以查看模型预测结果的AUC曲线和KS曲线。
更多相关内容 -
matplotlib在同一坐标系下绘制多个折线图(模板)
2020-07-06 14:15:18y_beijing, color="r", linestyle="--", label="北京") x_ticks_label = ["11点{}分".format(i) for i in x] y_ticks = range(40) x_ticks = x[::5] # 设置坐标轴刻度 plt.xticks(x_ticks, x_ticks_label[::5]) plt...from matplotlib import pyplot as plt import random from pylab import mpl # 设置中文显示 mpl.rcParams["font.sans-serif"] = ["SimHei"] mpl.rcParams["axes.unicode_minus"] = False x = range(60) y_shanghai = [random.uniform(15, 18) for i in x] y_beijing = [random.uniform(1, 3) for i in x] # 设置图像大小及清晰度 plt.figure(figsize=(20, 8), dpi=80) # 绘制图像 plt.plot(x, y_shanghai, label="上海") plt.plot(x, y_beijing, color="r", linestyle="--", label="北京") x_ticks_label = ["11点{}分".format(i) for i in x] y_ticks = range(40) x_ticks = x[::5] # 设置坐标轴刻度 plt.xticks(x_ticks, x_ticks_label[::5]) plt.yticks(y_ticks[::5]) # 设置网格 plt.grid(True, linestyle="--", alpha=1) # 设置坐标轴含义 plt.xlabel("时间") plt.ylabel("温度") plt.title("中午11点到12点某城市的温度变化图", fontsize=20) # 添加图例 plt.legend(loc="best") # 图像保存 plt.savefig("./test.png") # 展示图像 plt.show()
-
知乎问答 | 如何在同一坐标系下绘制多幅图形
2021-06-19 01:01:32在知乎上看到这么一个问题:rstudio将两个图放在同一坐标轴用什么函数?在这里回答一下。小编推测提问者是想问“使用R语言绘图时怎么把不同的图形绘制在同一个坐标系中”。那么这个问题的本质上...在知乎上看到这么一个问题:rstudio将两个图放在同一坐标轴用什么函数?在这里回答一下。
小编推测提问者是想问“使用R语言绘图时怎么把不同的图形绘制在同一个坐标系中”。那么这个问题的本质上其实是进行图形叠加。在
ggplot2
工具包及其拓展包中,这个问题很好解决,因为几何图形函数通过符号"+"就能依次在同一坐标系下绘制相应的图形。本篇就来介绍基础绘图系统解决这一问题的思路。之前,小编已经介绍了如何使用基础绘图系统的
fig
参数进行拼图。从下图可以看出,这三个子图明显不在同一坐标系,而是被“拼”在一起的。想在同一坐标下进行组图,主要有两个思路:调用函数的
add
参数和使用低级绘图函数。下面小编依次进行介绍。add
参数在
graphics
工具包中,一般情况下,每使用一个绘图主函数,就会重新建立一个新的绘图页面;而当add
参数被设置为TRUE时,则会使用已有的绘图页面和坐标系。示例一
plot(mtcars$mpg, mtcars$qsec, pch = 21, bg = "skyblue", xlim = c(5, 35), ylim = c(12, 24), # 设置坐标范围 xlab = "mpg", ylab = "qsec") boxplot(mtcars$mpg, horizontal = T, at = 13, width = 2, notch = T, col = "coral", add = T) # 设置add参数 boxplot(mtcars$qsec, at = 7.5, width = 2, notch = T, col = "darkgreen", add = T) # 设置add参数
需要注意以下几点:
第一个绘图主函数不需要设置
add
参数,但要设定合适的坐标范围,以涵盖后续图形的坐标范围;从第二个绘图主函数开始,均需设置
add
参数;设置
add = TRUE
的函数,其布局参数会自动失效,也就是说只有第一个绘图主函数能够对绘图布局要素如坐标范围、标签等进行调整。
需要注意的是,大部分绘图主函数都有
add
参数,但并非所有,具体可查看相应函数的帮助文档。低级函数
当主函数没有
add
参数时,可以考虑使用低级函数。这里以plot
函数为例。plot
函数根据x
和y
参数的类型(数值向量/因子向量/矩阵)可绘制不同的图形。其中当x
和y
参数均为数值向量时,绘制散点图和折线图,此时plot
函数没有add
参数。因此,若想在已有坐标系中叠加散点图或折线图,不能使用
plot(x, y, add = T)
这种方式,而应使用对应的低级函数points
或lines
。低级函数只能在主函数之后使用,并继续使用主函数生成的绘图页面和坐标系。示例二
plot(mtcars$mpg, mtcars$qsec, pch = 21, bg = "skyblue", xlim = c(5, 35), ylim = c(12, 24), xlab = "mpg", ylab = "qsec") boxplot(mtcars$mpg, horizontal = T, at = 13, width = 2, notch = T, col = "coral", add = T) boxplot(mtcars$qsec, at = 7.5, width = 2, notch = T, col = "darkgreen", add = T) # 线性模型拟合 model <- lm(qsec ~ mpg, data = mtcars) lines(mtcars$mpg, fitted(model), col = "red") # 添加拟合直线
双坐标轴
当两个图形的因变量的取值范围相差较大时,可以使用双坐标轴。严格来讲,双坐标轴不算是在同一坐标系下。
设置双坐标轴的思路如下:
第一个绘图函数正常使用,第二个绘图函数前加上
par(new = T)
;两个绘图函数的
xlim
参数设置保持一致;在第二个绘图函数中,通过设置
ann = F
和axes = F
隐藏自动生成的坐标轴及其刻度;使用辅助函数
axis
在右侧生成次坐标轴及其刻度;使用辅助函数
mtext
在右侧添加次坐标轴名称标签;为了防止右侧页边距过小导致标签越出边界,可在绘图前修改par
函数的plt
参数。
示例三
par(plt = c(0.12, 0.88, 0.25, 0.90)) plot(mtcars$mpg, mtcars$qsec, pch = 21, bg = "skyblue", xlim = c(5, 35), ylim = c(12, 24), xlab = "mpg", ylab = "qsec") par(new = T) plot(mtcars$mpg, mtcars$wt, pch = 21, bg = "coral", xlim = c(5, 35), ann = F, axes = F) axis(side = 4) mtext("wt", side = 4, line = 3) legend("topright", legend = c("qsec", "wt"), pch = 21, pt.bg = c("skyblue", "coral"))
相关阅读
-
新版matlab多个波形放在同一坐标
2019-05-08 15:28:53论文中经常需要仿真的结果作为展示,但是很多时候我们的仿真结果在不同的图里面展示的不够直观,因此需要在同一个坐标图里面展示多个仿真的结果,新版本的matlab这个功能非常好用,可以完成这个功能而且还可以把示波... -
坐标变换(3)—同一坐标系下的变换
2020-03-26 09:23:45在同一坐标系下,平移操作将空间中一个点沿着一个已知的矢量方向移动一定的距离,如下图所示,将AP1^{A}P_{1}AP1沿着AQ^{A}QAQ进行平移得到AP2^{A}P_{2}AP2 易得, AP2=AP1+AQ ^{A}P_{2}=^{A}P_{1}+^{A}Q AP2...除了不同坐标系之间点的坐标变换,在同一坐标系内也存在对点的变换操作,例如平移,旋转等。
1. 平移
在同一坐标系下,平移操作将空间中一个点沿着一个已知的矢量方向移动一定的距离,如下图所示,将 A P 1 ^{A}P_{1} AP1沿着 A Q ^{A}Q AQ进行平移得到 A P 2 ^{A}P_{2} AP2
易得,
A P 2 = A P 1 + A Q ^{A}P_{2}=^{A}P_{1}+^{A}Q AP2=AP1+AQ
用矩阵写出平移算子,可得,
A P 2 = D ( Q ) A P 1 ^{A}P_{2}=D(Q)^{A} P_{1} AP2=D(Q)AP1式中,
D ( Q ) = [ 1 0 0 q x 0 1 0 q y 0 0 1 q z 0 0 0 1 ] D(Q) = \left[\begin{array}{cccc} {1} & {0} & {0} & {q_{x}} \\ {0} & {1} & {0} & {q_{y}} \\ {0} & {0} & {1} & {q_{z}} \\ {0} & {0} & {0} & {1} \end{array}\right] D(Q)=⎣⎢⎢⎡100001000010qxqyqz1⎦⎥⎥⎤
其中, q x , q y , q z q_x,q_y,q_z qx,qy,qz为 A Q ^{A}Q AQ的分量。2. 旋转
在同一坐标系下,旋转操作将一个向量 A P 1 ^{A}P_{1} AP1用旋转矩阵 R R R旋转到另外一个向量 A P 2 ^{A}P_{2} AP2。
A P 2 = R A P 1 ^{A} P_{2}=R^{A} P_{1} AP2=RAP1
向量经由某一旋转 R R R得到的旋转矩阵与一个坐标系相对于参考坐标系经某一旋转 R R R得到的旋转矩阵是相同的。
如上图将向量 P P P旋转 φ \varphi φ得到 P 1 P_1 P1,对应的旋转矩阵为,
( cos φ − sin φ sin φ cos φ ) \left(\begin{array}{cc} {\cos \varphi} & {-\sin \varphi} \\ {\sin \varphi} & {\cos \varphi} \end{array}\right) (cosφsinφ−sinφcosφ)
3. 平移旋转
将一个向量 P 1 P_1 P1经过平移旋转得到 P 2 P_2 P2,可以用 4 × 4 4\times4 4×4其次矩阵表示,
A P 2 = T A P 1 ^{A} P_{2}=T^{A} P_{1} AP2=TAP1
其中,
T = [ R Q 0 1 ] T=\left[\begin{array}{ll} {R} & {Q} \\ {0} & {1} \end{array}\right] T=[R0Q1]
经旋转 R R R和平移 Q Q Q的其次变换矩阵与一个坐标系相对于参考坐标系经旋转 R R R和平移 Q Q Q的其次变换矩阵是相同的。 -
C语言在同一坐标中绘制余弦曲线和直线
2018-12-07 19:49:21题述:在同一坐标中绘制余弦曲线和直线 x = 45 * y + 31。 实现代码如下: #include<stdio.h> #include<math.h> int main () { int x, m1, m2; double y; for (y=1; y>=-1; y... -
Matlab技巧1:在同一坐标系上绘制两个函数图像
2014-11-09 18:33:00x=-2:0.01:2; y1=sqrt(2*abs(x)-x.^2); y2=asin(abs(x)-1)-pi/2; plot(x,y1,'r',x,y2,'b') grid 程序结果: 转载于:https://www.cnblogs.com/Eufisky/p/4085683.html -
matlab中同一坐标轴画多条曲线,同时对自己定义坐标轴描述
2018-04-24 14:51:29简单、清晰的matlab画多条曲线图(读取Excel文件),并对坐标轴进行自定义 -
承接上文的坐标系关系,对于同一坐标系下建立的两个坐标系求解转换关系
2019-07-11 14:30:092020年7月8日补充:上面的矩阵M1同时也表示了1号坐标系在世界坐标系下的姿态T1世界,M2表示了2号在世界下的姿态T2世界,如果用T1世界(逆)*T2世界=T世界1*T2世界=T21---也就是2坐标系在1坐标系下的位姿。... -
Matlab-在一个坐标系中绘制两个函数图像
2020-05-21 16:57:21x = 0:0.01:pi; f = 4*cos(x)+3*sin(x); g = 5*cos(x)+6*sin(x); plot(x,f,'r',x,g,'b'); -
matlab plot同一坐标窗口画出多(折)曲线并作图例标注
2020-07-12 18:00:11本博文源于matlab基础,用例子引入,大家只需要照猫画虎进行套用即可。 例子:绘制两条曲线y=sin(x+3),y=e^(sin(x))的图形,范围[-2*pi,2*pi] 例子:画出三个函数函数y=2*x,y=cos(x),y=sin(x),范围[-3,3]并作相应的... -
高速公路独立坐标如何变换为同一坐标系不同投影高程和中央经线
2021-07-14 13:55:30高速公路CGCS2000坐标,中央经线106.5度,投影高程370m,怎么换算变更为常用的2000坐标 -
求助怎么把几条曲线画在一个坐标上
2021-04-19 04:15:47把三段程序 放在一起 第一段程序结束时加上 hold on 成为:(%scatter(t,exp(y))取消了数据点,想要数据点的话去掉%)t=[ 6.855 9.854 17.14 22.14 27.99 33.13 37.99 41.13 45.99 54.13 54.98 60.13 64.7 69.84 76.12... -
matlab gui编程中将多个曲线绘制在同一坐标轴下
2021-04-08 22:38:41看了我去年编写的gui程序,不知道当时我是怎么实现在同一坐标轴下绘制多条曲线,百度了很久,答案都是使用“hold on”命令,但是在gui编程中不能使用多个命令,最后我在坐标轴中的属性浏览器挨个找,终于找到了,要... -
matlab 两个球面三维图合并于同一坐标系
2020-10-24 19:14:07clc;clear R1=3; %球半径 n1=30; %网格大小=[n/2+2,n+1]; theta1 = (-n1:2:n1)/n1*pi; phi1 = ([0,0:2:n1])'/n1*pi/2; cosphi1 = cos(phi1); cosphi1(1) = 0; cosphi1(end) = 0; sintheta1 = sin(theta1);...... -
已知同一组点在不同坐标系下的坐标,如何求解两个坐标系之间的转换关系
2019-07-10 22:26:46已知同一组点在不同坐标系下的坐标(例如有点ABCDEF六个点在坐标系1下的坐标A1,B1,C1,D1,E1,F1同时又已知ABCDEF六个点在坐标系2下的坐标A2,B2,C2,D2,E2,F2),如何求解两个坐标系之间的转换关系? 问题解决: 方法... -
echarts 多组数据在同一坐标轴显示 toolTips 自定义
2019-11-11 16:02:36在使用echarts的时候会遇到多组数据,或是柱状图,或是折线图一起显示在一个坐标系中,这时候你会发现鼠标hover的时候只会显示一组数据,这时候就需要自定义,取出鼠标hover中的param。然后打印出来看看,发现里面... -
matlab同一张图中建立多个坐标系
2021-04-21 14:22:46在一个坐标系中画多条曲线,可以用plot(x1,y1)hold onplot(y2)hold off在一个画布中快速建多个坐标系subplot(211)plot(sin(1:100))subplot(212)plot(cos(1:100))上诉方法是matlab自建的多个坐标系矩阵,规则布局,... -
Extjs4 的chart能不能在 同一坐标系中出现多个Y轴
2013-04-26 16:07:01Extjs4 的chart能不能在 同一坐标系中出现多个Y轴,类似 [img=http://img.my.csdn.net/uploads/201304/26/1366963568_7852.JPG][/img] -
大型地图切片程序--3857坐标系
2022-01-02 10:16:41不需要地图规则,只需要指定地图左上角和右下角的3857坐标系(原点在中心,向左向下为正)。同时融合arcgis切片的周边地图。切割图像大小不限制。切图效率高,仅仅几十行代码哦。有问题联系V信:ringingclock -
图像处理——几种简单的旋转变换的超详细推导过程(点在同一坐标系的变换)(一)
2021-05-27 09:58:26本文主要推导了二维和三维坐标系中的绕点和绕轴的旋转变换,推导过程比较详细,希望可以给大家提供一些帮助。 一、绕原点的旋转(二维) 将橘色直线上的点绕坐标原点旋转到蓝色直线上,应该怎么运算? 设点到原点的... -
分享一个小方法,判断同一坐标系下两个矩形是否有重合
2021-11-23 09:39:40先说思路,**同一坐标系下**,判断两个矩形是否有重合,有以下三种情况: 1、两个矩形,其中一个包含在另一个之中,这种肯定是重合的; 2、两个矩形,完全不重合,即没有交叉重合的区域; 3、两个矩形,有部分重合在... -
matlab中当参数取不同值时,让几条曲线出现在同一坐标轴中
2021-04-19 04:20:49matlab中当参数取不同值时,让几条曲线出现在同一坐标轴中2018-4-15来自ip:18.148.142.168的网友咨询浏览量:217问题补充:matlab中当参数取不同值时,让几条曲线出现在同一坐标轴中clc;clear all;syms c;syms c0;m=2*... -
js高德百度腾讯坐标系转换
2017-07-28 16:24:58js高德百度腾讯坐标系转换 -
Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
2020-12-25 09:01:35本文实例讲述了Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法。分享给大家供大家参考。具体如下: 看看下面的例子和效果吧 # -*- coding: utf-8 -*- from matplotlib.widgets import MultiCursor ... -
深入浅出matplotlib(16):同一坐标里双Y轴显示
2020-12-03 14:51:34前面学习了在同一个坐标系里显示多条曲线的功能,里面只有一条X轴和一条Y轴,所有曲线都是根据这两个坐标刻度进行显示的。如果曲线的数据比较接近,就可以采用这种坐标系来显示,如果相差比较远,就不行了。比如温度... -
同一变换在不同坐标系里的表达形式
2021-11-08 18:59:45物体在O1坐标系里的位姿矩阵为H1,在O2坐标系里的位姿矩阵H2,现在在O1坐标系里对物体进行T1变换,求该变换在O2的变换矩阵 通过H1,H2可以求出从O1到O2的变换 设物体在T变换前的点在O1,O2坐标系下的点为P1,P2,T... -
matlab建立多个坐标系,matlab同一张图中建立多个坐标系
2021-04-21 14:22:46在一个坐标系中画多条曲线,可以用plot(x1,y1)hold onplot(y2)hold off在一个画布中快速建多个坐标系subplot(211)plot(sin(1:100))subplot(212)plot(cos(1:100))上诉方法是matlab自建的多个坐标系矩阵,规则布局,... -
如何将以下两张图放在同一个坐标系下
2021-01-13 14:10:14因为波浪数据我使用了spline插值,导致横坐标datenum的维度发生变化,因此无法和散点图结合起来,下面的代码会让我的图变成附件1那样,我想要的效果是如附件2,横坐标为datenum那样。非常感谢各位的慷慨帮忙,谢谢。...