精华内容
下载资源
问答
  • Matplotlib数据可视化——设置坐标轴,原点,图例

    千次阅读 多人点赞 2018-11-16 23:13:35
    matplotlib库和MATLAB的数据可视化功能几乎是相同,只是因为人工智能的火爆以及使用方便深受大家喜爱。 1.1figure图像 绘制单一函数的图像 import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,...

    今天突破了导轨和转台的调试程序,学习会Python娱乐一下
    matplotlib库和MATLAB的数据可视化功能几乎是相同,只是因为人工智能的火爆以及使用方便深受大家喜爱。

    1.基本使用

    1.1figure图像

    绘制单一函数的图像

    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.linspace(0, 1, 30)
    y = 3*x + 1
    plt.plot(x, y)
    plt.show()
    

    在这里插入图片描述
    绘制两个函数

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(-3, 3, 50)  # 注意linspace不是linespace
    y1 = 2*x+1
    y2 = x**2+1  # 乘方注意和C的区别
    # 绘制第一个函数
    plt.figure()
    plt.plot(x, y1)
    # 绘制第二个函数
    plt.figure(num=3, figsize=(6, 6))
    plt.plot(x, y2)
    
    plt.show()
    

    在这里插入图片描述
    在这里插入图片描述
    绘制在同一坐标系中

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(-3,3,50)
    y1 = 2*x+1
    y2 = x**2
    
    #绘制在同一个figure中
    plt.figure()
    plt.plot(x, y1)
    plt.plot(x, y2, color='violet', linewidth=3.0, linestyle='--')  # 指定颜色,线宽和线型
    plt.show()
    

    在这里插入图片描述

    1.2 坐标轴的设置

    • 截取x,y的某一区间进行展示
    • 设置x,y的标签
    • 设置某一轴的刻度间隔划分
    • 设置坐标值对应的相应含义并正则化设置字体格式
    import matplotlib.pyplot as plt
    import numpy as np
    x = np.linspace(-3,3,50)
    y1 = 2*x+1
    y2 = x**2
    
    #绘制在同一个figure中
    plt.figure()
    plt.plot(x,y1)
    plt.plot(x,y2,color='red',linewidth = 2.0,linestyle = '--')#指定颜色,线宽和线型
    
    #截取x,y的某一部分
    plt.xlim((-1,2))
    plt.ylim((-2,3))
    #设置x,y的坐标描述标签
    plt.xlabel("I am x")
    plt.ylabel("I am y")
    #设置x刻度的间隔
    new_ticks = np.linspace(-1,2,5)
    plt.xticks(new_ticks)
    plt.yticks([-2, -1.5, 0, 1.5, 3],
               [r'$Really\ bad\ \alpha$', r'$bad$', r'$normal$', r'$good$', r'$very\ good$'])#r表示正则化,$$表示用数学字体输出
    
    plt.show()
    
    

    在这里插入图片描述

    • 移动坐标轴的位置
    • 隐藏上下左右的某一个轴
    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(-3,3,50)
    y1 = 2*x+1
    y2 = x**2
    
    #绘制在同一个figure中
    plt.figure()
    plt.plot(x,y1)
    plt.plot(x,y2,color='red',linewidth = 2.0,linestyle = '--')#指定颜色,线宽和线型
    
    #截取x,y的某一部分
    plt.xlim((-1,2))
    plt.ylim((-2,3))
    #设置x,y的坐标描述标签
    plt.xlabel("I am x")
    plt.ylabel("I am y")
    #设置x刻度的间隔
    new_ticks = np.linspace(-1,2,5)
    plt.xticks(new_ticks)
    plt.yticks([-2, -1.5, 0, 1.5, 3],
               [r'$Really\ bad\ \alpha$', r'$bad$',
                r'$normal$', r'$good$', r'$very\ good$'])
               #r表示正则化,$$表示用数学字体输出
    # gca = 'get current axis'
    ax = plt.gca()#获取当前坐标的位置
    #去掉坐标图的上和右 spine翻译成脊梁
    ax.spines['right'].set_color('None')
    ax.spines['top'].set_color('None')
    #指定坐标的位置
    ax.xaxis.set_ticks_position('bottom') # 设置bottom为x轴
    ax.yaxis.set_ticks_position('left') # 设置left为x轴
    ax.spines['bottom'].set_position(('data',0))#这个位置的括号要注意
    ax.spines['left'].set_position(('data',0))
    plt.show()
    
    

    在这里插入图片描述

    1.3设置legend图例

    最简单的方法就是在plot中打上label然后用legend( )方法实现

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(-3,3,50)
    y1 = 2*x+1
    y2 = x**2
    
    #绘制在同一个figure中
    plt.figure()
    plt.plot(x,y1,label='山高月小')
    plt.plot(x,y2,color='red',linewidth = 2.0,linestyle = '--',label='水落石出')#指定颜色,线宽和线型
    
    plt.legend()
    plt.show()
    

    在这里插入图片描述
    如图所示,中文出现乱码,上网查了一下,需要在开头加上

    plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
    plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
    

    这时显示正常了
    在这里插入图片描述
    更加高级的方法

    import matplotlib.pyplot as plt
    import numpy as np
    plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
    plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
    
    x = np.linspace(-3,3,50)
    y1 = 2*x+1
    y2 = x**2
    
    #绘制在同一个figure中
    plt.figure()
    l1, = plt.plot(x,y1,label='山高月小')#放在handles中l1一定要加,
    l2, = plt.plot(x,y2,color='red',linewidth = 2.0,linestyle = '--',label='水落石出')
    
    plt.legend(handles=[l1, l2,],labels=['小舟从此逝','江海寄余生'],loc='best')
    plt.show()
    

    在这里插入图片描述
    如果只打印l1的图例,则修改

    plt.legend(handles=[l1,],labels=['小舟从此逝',],loc='best')
    

    在这里插入图片描述
    未完待续~~

    展开全文
  • Matplotlib去掉坐标

    万次阅读 多人点赞 2019-05-28 21:54:08
    plt.xticks([]) #去掉x轴 plt.yticks([]) #去掉y轴 plt.axis('off') #去掉坐标
    plt.xticks([])  #去掉x轴
    plt.yticks([])  #去掉y轴
    plt.axis('off')  #去掉坐标轴
    

    ax = plt.gca()
    ax.spines['top'].set_visible(False)
    ax.spines['bottom'].set_visible(False)
    ax.spines['left'].set_visible(False)
    ax.spines['right'].set_visible(False)
    

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • matplotlib坐标

    2019-05-21 11:42:14
    1.坐标系、坐标轴、刻度绘制 代码: # -*- coding: utf-8 -*- """ Created on Wed May 15 16:09:38 2019 @author: mzl """ import matplotlib as mpl import matplotlib.pyplot as plt # 下面代码打印出坐标系、...

    1.坐标系、坐标轴、刻度绘制

    代码:
    # -*- coding: utf-8 -*-
    """
    Created on Wed May 15 16:09:38 2019
    @author: mzl
    """
    import matplotlib as mpl
    import matplotlib.pyplot as plt
    
    # 下面代码打印出坐标系、坐标轴和刻度。
    fig = plt.figure()
    ax = fig.add_subplot(1, 1, 1)
    plt.show()
    
    xax = ax.xaxis
    yax = ax.yaxis
    
    print('fig.axes:', fig.axes, '\n')
    print('ax.xaxis:', xax )
    print('ax.yaxis:', yax, '\n' )
    print('ax.xaxis.majorTicks:', xax.majorTicks, '\n')
    print('ax.yaxis.majorTicks:', yax.majorTicks, '\n')
    print('ax.xaxis.minorTicks:', xax.minorTicks)
    print('ax.yaxis.minorTicks:', yax.minorTicks)

    结果显示:

     

    展开全文
  • matplotlib 坐标原点移到左上角

    千次阅读 2016-12-26 17:03:02
    matplotlib、默认的坐标原点在左下角;有时候你想将它变换到左上角。代码如下:Code Example :from matplotlib.lines import Line2D import matplotlib.pyplot as pltfigure, ax = plt.subplots()# 设置x,y值域 ax....

    matplotlib默认的坐标原点在左下角;有时候你想将它变换到左上角。代码如下:

    Code Example :

    from matplotlib.lines import Line2D
    import matplotlib.pyplot as plt
    
    figure, ax = plt.subplots()
    
    # 设置x,y值域
    ax.set_xlim(left=0, right=20)
    ax.set_ylim(bottom=10, top=0)  # 此处将原点设置为左上角
    ax.xaxis.tick_top()  # 将x坐标标记移到上方
    # 两条line的数据
    line1 = [(1, 1), (5, 5)]
    line2 = [(11, 9), (8, 8)]
    (line1_xs, line1_ys) = zip(*line1)
    (line2_xs, line2_ys) = zip(*line2)
    # 创建两条线,并添加
    ax.add_line(Line2D(line1_xs, line1_ys, linewidth=1, color='blue'))
    ax.add_line(Line2D(line2_xs, line2_ys, linewidth=1, color='red'))
    # 展示
    plt.plot()
    plt.show()
    

    Output :
    旋转图

    为了对照,你可以看这篇笔记 matplotlib画直线


    Ref:

    Matplotlib: move Origin to upper left corner——StackOverflow

    展开全文
  • 保存矢量图(svg),保存后发现横坐的第一个点离坐标原点距离较大,导致图形离y轴较远,让画出的图看着不舒服; 如果用jpg图片发现也有这个问题,但是控制台有参数可以调整,自动保存图片则需要参数控制。 二、解决...
  • 【要点抢先看】1.一般化的子图布局及绘图2.用plt.subplot/subplots方法绘制子图3....子图的本质是在一个较大的图形中同时放置一组较小的坐标轴,布局形式可以多种多样,不拘泥于我们在第五集中举的那...
  • import matplotlib.pyplot as plt import numpy as np def line(y1,x1,y2,x2,z): x = [x1,x2] y = [y1,y2] plt.plot(x, y) plt.text(x1,y1,z) #设置范围 plt.xlim(0, 515) plt.ylim(0, 448) line1 = line...
  • matplotlib修正坐标轴ylim的空白

    千次阅读 2019-02-23 10:45:48
    matplotlib绘制折线图后,我通过找y轴最小值的方式,绘制下图中的标注线,但是看到下面总是有一些空白,说明得到的y轴最小值不是在原点,就像x轴的第一个值一样。 bottom, top = plt.ylim() #获得y轴最大最小值 ...
  • 我在用tableau转到matplotlib中作图时,感觉不是很智能。尤其是y坐标轴的值,不能自动的进行转换。这样就显得很不好看。 这样就显得y轴上的坐标值很大,看着很不舒服。 解决方法: from matplotlib.ticker import ...
  • Python Matplotlib 改变坐标轴的默认位置

    万次阅读 多人点赞 2018-05-08 21:27:16
    使用Matplotlib绘制的图表的默认坐标轴是在左下角的,这样对于一些函数的显示不是非常方便,要改变坐标轴的默认显示方式主要要使用gca()方法 plt.gca()表示 Get current axis,使用这个方法我们可以获得整张图表...
  • 要实现坐标轴的移动,首先要理解matplotlib坐标轴的布局,如下图所示: 从图中可以看到,默认是有四个坐标轴线,简称为spines,在python里就是放到一个spines的字典里,这四个轴通过top、bottom、left、ri.
  • Matplotlib使用总结图 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号 import pand
  • matplotlib 设置左上角为坐标原点

    万次阅读 2018-01-06 16:11:31
    Python使用matplotlib绘图时,有时需要将坐标轴的原点设置为左上角,具体方法为: import matplotlib.pyplot as plt x=[1,2,3,4,5,6] y=[10,20,30,40,50,60] plt.plot(x, y, color='red') plt.show() 绘制...
  • matplot画图坐标原点不重合的问题

    万次阅读 2018-06-11 17:47:09
    matplotlib绘图是会遇到坐标原点不重合的问题,如下图 import matplotlib.pyplot as plt import numpy as np y = np.array([-10,0,1,2,3,4,5,5,6,7,78,9]) plt.figure() plt.plot(y) plt.show() 运行结果如下: ...
  • matplotlib 可视化 —— 移动坐标轴(中心位置)
  • 在机器学习中经常会使用Sigmoid函数,如果直接使用matplotlib绘图,那么就会像下图这样,原点并没有在(0,0)。 import matplotlib.pyplot as plt import numpy x = numpy.linspace(start=-10, stop=10) y = 1 / (1 +...
  • matplotlib里,虽然有数据的坐标轴设置好了,这个只是为了画数据显示使用的,如果用它来作标示,又有点不足。比如绘图的区域是X轴和Y轴从-10到100,那么原点的位置,就不在(0,0)位置了。这时候,如果图里内容...
  • 4.Matplotlib多子图,文字和注释以及自定义坐标

    千次阅读 多人点赞 2020-08-08 14:01:57
    文章目录Matplotlib绘制多子图,文字和注释以及自定义坐标轴刻度多子图自定义子图位置网格多子图plt.subplot() / add_subplot方法循环创建plt.subplots()直接创建plt.GridSpec()创建不同形状多子图不同形状子图表示...
  • 数学建模学习全过程 一.... #在jupyter notebook中 import matplotlib.pyplot as plt ... 否则:TypeError: 'figure' is an unknown keyword argument ...import matplotlib matplotlib.use('Qt4Agg')...
  • matplotlib图像刻度、坐标轴的设置

    万次阅读 多人点赞 2019-05-22 10:15:26
    matplotlib默认的坐标轴竟然不是以(0,0)为原点。这就需要我们自己调整坐标轴的位置了。 先抛出结论: 1,刻度(ticks)的颜色独立于边线(spine) 2,刻度(ticks)的位置则依附于边线(spine) 3,可以通过设置...
  • matplotlib绘图对坐标轴的操作 import numpy as np import pandas as pd from pandas import Series,DataFrame import matplotlib.pyplot as plt import matplotlib.ticker as ticker ①改变figure背景和坐标系...
  • python matplotlib 删除坐标刻度

    千次阅读 2018-04-11 22:25:15
    使用matplotlib.pyplot.xticks 函数,输入为空list的时候删除坐标刻度。 详情参看:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.xticks.html#matplotlib.pyplot.xticks
  • import matplotlib.pyplot as plt fig = plt.figure() # 1 - 7 x = np.arange(1, 8) y = [1, 3, 4, 2, 5, 8, 6] print(x) # left, bottom 都是百分比 ,指代 ax1 左侧、下侧从图布的百分之几处开始, # width, he.....
  • import pandas as pd import numpy as np import matplotlib.pyplot as plt import pandas as pd import numpy as np import matplotlib.pyplot as plt x = np.linspace(-3 , 3, 50) # print(x) y1 = 2 * x +...
  • 问题 我们在用matplotlib绘制图的时候总是有各种需求,...这里要介绍matplotlib绘图辅助工具包mpl_toolkits,里面包含了一系列对于坐标轴设置的方法。 首先导入辅助工具包里面的轴系设置包 import numpy as np imp...
  • #matplotlib设置坐标 import matplotlib.pyplot as plt import numpy as np x=np.linspace(-1,1,100) y=2*x+1 y1=x**2 #限制x,y的范围 plt.xlim((-1,2))#x的范围是(-1,2) plt.ylim((-2,3))#y的范围是(-2,3) ...
  • 我们在使用matplotlib绘制图像时,默认的坐标轴是在左下角,这样对于一些曲线的显示就不太清楚。如下: import matplotlib.pyplot as plt import numpy as np x = np.linspace(-10, 10, 100) y1 = 2 * x y2 = x * ...
  • 实现将图像坐标轴平移到坐标原点 一般我们用python绘图画出来的函数图像坐标轴都是位于左下方,如下方实例: import numpy as np import matplotlib.pyplot as plt x = np.linspace(-2, 2, 100) # 定义自变量区间[-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,487
精华内容 994
关键字:

matplotlib原点坐标