精华内容
下载资源
问答
  • matplotlib在同一坐标系上绘制多条曲线 及多个子图上绘图
    万次阅读 多人点赞
    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曲线。

    更多相关内容
  • 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...
    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()
    
    展开全文
  • 知乎上看到这么一个问题: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函数根据xy参数的类型(数值向量/因子向量/矩阵)可绘制不同的图形。其中当xy参数均为数值向量时,绘制散点图和折线图,此时plot函数没有add参数。

    因此,若想在已有坐标系中叠加散点图或折线图,不能使用plot(x, y, add = T)这种方式,而应使用对应的低级函数pointslines。低级函数只能在主函数之后使用,并继续使用主函数生成的绘图页面和坐标系。

    示例二

    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 = Faxes = 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"))
    

    相关阅读

    1. graphics | 基础绘图系统(三)——添加文本标注、坐标轴线和图例

    2. graphics | 基础绘图系统(四)——柱状图、直方图、扇形图、箱形图和函数图象

    3. graphics | 基础绘图系统(五)——plot函数功能再探和低级绘图函数

    4. 技巧 | 如何使用R语言的基础绘图系统的拼图功能

    展开全文
  • 论文经常需要仿真的结果作为展示,但是很多时候我们的仿真结果不同的图里面展示的不够直观,因此需要同一个坐标图里面展示多个仿真的结果,新版本的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的其次变换矩阵是相同的。

    展开全文
  • 题述:在同一坐标中绘制余弦曲线和直线 x = 45 * y + 31。 实现代码如下: #include&lt;stdio.h&gt; #include&lt;math.h&gt; int main () { int x, m1, m2; double y; for (y=1; y&gt;=-1; y...
  • x=-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画多条曲线图(读取Excel文件),并对坐标轴进行自定义
  • 2020年7月8日补充:上面的矩阵M1同时也表示了1号坐标系在世界坐标系下的姿态T1世界,M2表示了2号世界下的姿态T2世界,如果用T1世界(逆)*T2世界=T世界1*T2世界=T21---也就是2坐标系在1坐标系下的位姿。...
  • x = 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基础,用例子引入,大家只需要照猫画虎进行套用即可。 例子:绘制两条曲线y=sin(x+3),y=e^(sin(x))的图形,范围[-2*pi,2*pi] 例子:画出三个函数函数y=2*x,y=cos(x),y=sin(x),范围[-3,3]并作相应的...
  • 高速公路CGCS2000坐标,中央经线106.5度,投影高程370m,怎么换算变更为常用的2000坐标
  • 把三段程序 放在一起 第一段程序结束时加上 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...
  • 看了我去年编写的gui程序,不知道当时我是怎么实现在同一坐标轴下绘制多条曲线,百度了很久,答案都是使用“hold on”命令,但是gui编程不能使用多个命令,最后我坐标轴的属性浏览器挨个找,终于找到了,要...
  • clc;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);......
  • 已知同一组点不同坐标系下的坐标(例如有点ABCDEF六个点在坐标系1下的坐标A1,B1,C1,D1,E1,F1同时又已知ABCDEF六个点在坐标系2下的坐标A2,B2,C2,D2,E2,F2),如何求解两个坐标系之间的转换关系? 问题解决: 方法...
  • 使用echarts的时候会遇到多组数据,或是柱状图,或是折线图一起显示一个坐标系中,这时候你会发现鼠标hover的时候只会显示一组数据,这时候就需要自定义,取出鼠标hover中的param。然后打印出来看看,发现里面...
  • 一个坐标系中画多条曲线,可以用plot(x1,y1)hold onplot(y2)hold off一个画布中快速建多个坐标系subplot(211)plot(sin(1:100))subplot(212)plot(cos(1:100))上诉方法是matlab自建的多个坐标系矩阵,规则布局,...
  • Extjs4 的chart能不能 同一坐标系中出现多个Y轴,类似 [img=http://img.my.csdn.net/uploads/201304/26/1366963568_7852.JPG][/img]
  • 不需要地图规则,只需要指定地图左上角和右下角的3857坐标系(原点中心,向左向下为正)。同时融合arcgis切片的周边地图。切割图像大小不限制。切图效率高,仅仅几十行代码哦。有问题联系V信:ringingclock
  • 本文主要推导了二维和三维坐标系中的绕点和绕轴的旋转变换,推导过程比较详细,希望可以给大家提供一些帮助。 一、绕原点的旋转(二维) 将橘色直线上的点绕坐标原点旋转到蓝色直线上,应该怎么运算? 设点到原点的...
  • 先说思路,**同一坐标系下**,判断两个矩形是否有重合,有以下三种情况: 1、两个矩形,其中一个包含另一个之,这种肯定是重合的; 2、两个矩形,完全不重合,即没有交叉重合的区域; 3、两个矩形,有部分重合...
  • matlab当参数取不同值时,让几条曲线出现在同一坐标2018-4-15来自ip:18.148.142.168的网友咨询浏览量:217问题补充:matlab当参数取不同值时,让几条曲线出现在同一坐标clc;clear all;syms c;syms c0;m=2*...
  • js高德百度腾讯坐标系转换
  • 本文实例讲述了Python实现matplotlib两个坐标轴之间画一条直线光标的方法。分享给大家供大家参考。具体如下: 看看下面的例子和效果吧 # -*- coding: utf-8 -*- from matplotlib.widgets import MultiCursor ...
  • 前面学习了同一个坐标系里显示多条曲线的功能,里面只有一条X轴和一条Y轴,所有曲线都是根据这两个坐标刻度进行显示的。如果曲线的数据比较接近,就可以采用这种坐标系来显示,如果相差比较远,就不行了。比如温度...
  • 物体O1坐标系里的位姿矩阵为H1,O2坐标系里的位姿矩阵H2,现在O1坐标系里对物体进行T1变换,求该变换O2的变换矩阵 通过H1,H2可以求出从O1到O2的变换 设物体T变换前的点O1,O2坐标系下的点为P1,P2,T...
  • 一个坐标系中画多条曲线,可以用plot(x1,y1)hold onplot(y2)hold off一个画布中快速建多个坐标系subplot(211)plot(sin(1:100))subplot(212)plot(cos(1:100))上诉方法是matlab自建的多个坐标系矩阵,规则布局,...
  • 因为波浪数据我使用了spline插值,导致横坐标datenum的维度发生变化,因此无法和散点图结合起来,下面的代码会让我的图变成附件1那样,我想要的效果是如附件2,横坐标为datenum那样。非常感谢各位的慷慨帮忙,谢谢。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,157
精华内容 13,262
关键字:

在同一坐标系中