精华内容
下载资源
问答
  • 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. 用python库matplotlib进行数据的图表展示;
    2. 横坐标是自定义统计值;
    3. 保存矢量图(svg),保存后发现横坐的第一个点离坐标原点距离较大,导致图形离y轴较远,让画出的图看着不舒服;
    4. 如果用jpg图片发现也有这个问题,但是控制台有参数可以调整,自动保存图片则需要参数控制。

    二、解决办法

    解决思路:

    • 查一下相关坐标轴的参数。

    解决办法:

    1. 方法1:
      1. 通过参数:ax.set_xlim(-1,)显示制定横坐标的范围。
      2. 这种方法横坐标多余的(坐标轴右边的)不会显示
    2. 方法2:
      1. 参数ax.yaxis.set_ticks_position('left')设置向左移动
      2. 参数:ax.spines['left'].set_position(('data', -1))设置距离
      3. 这种方法是移动纵坐标的坐标轴,会显示坐标轴右边的横轴和数据

    方法1示例:

      1 import pandas as pd
      2 import matplotlib.pyplot as plt
      3 data = pd.read_csv('statistic_char.csv',index_col=0)
      4 
      5 fig, ax = plt.subplots()
      6 #ax = plt.gca()
      7 plt.plot(list(data.index),data)
      8 plt.yticks(range(0,35000000,2000000))
      9 
     10 fig.set_figwidth(15)
     11 fig.tight_layout()
     12 ax.set_xlim(-1,)
     13 #ax.yaxis.set_ticks_position('left')
     14 #ax.spines['left'].set_position(('data', 0))
     15 plt.show()
    方法1代码

     

    方法2示例:

      1 import pandas as pd
      2 import matplotlib.pyplot as plt
      3 data = pd.read_csv('statistic_char.csv',index_col=0)
      4 fig, ax = plt.subplots()
      5 plt.plot(list(data.index),data)
      6 plt.yticks(range(0,35000000,2000000))
      7 fig.set_figwidth(15)
      8 fig.tight_layout()
      9 ax.yaxis.set_ticks_position('left')
     10 ax.spines['left'].set_position(('data', -1))
     11 plt.show()
    方法2代码

    设置图形离 **X** 轴的距离的参数:

      1 ax.xaxis.set_ticks_position('bottom')
      2 ax.spines['bottom'].set_position(('data', 0))
    View Code

    三、相关参考

    1. 坐标轴相关的官方文档:
    2. 设置图形离 **Y** 轴的距离:

    转载于:https://www.cnblogs.com/mehome/p/10615748.html

    展开全文
  • fig = plt.figure() ax = fig.add_subplot(111) ...# 隐藏 上边 和 右边 的坐标轴 ax.spines['top'].set_color('none') ax.spines['right'].set_color('none') # 移动 x 轴 和 y轴 到 原点位置 ax...
    fig = plt.figure()
    
    ## 一行一列第一个位置
    ax = fig.add_subplot(111)
    
    ax.set_xlim([-10, 10])
    ax.set_ylim([-10, 10])
    
    # 隐藏 上边 和 右边 的坐标轴
    ax.spines['top'].set_color('none')
    ax.spines['right'].set_color('none')
    
    # 移动 x 轴 和 y轴 到 原点位置
    ax.spines['bottom'].set_position(("data", 0))
    ax.spines['left'].set_position(("data", 0))
    
    xticks = [x for x in range(-8,10,2)]
    xlabel = xticks
    
    yticks = [y for y in range(-8,10,2)]
    ylabel = yticks
    
    plt.xticks(xticks, xlabel)
    plt.yticks(yticks, ylabel)
    
    # 使用自定义字体时
    # my_font = font_manager.FontProperties(fname=font_path)
    # plt.xticks(xticks, xlabel, fontproperties=my_font))
    # plt.yticks(yticks, ylabel, fontproperties=my_font))
    
    # 标签旋转显示时,xticks 和 yticks 方法 添加 rotation=360 参数
    
    plt.show()
    
    展开全文
  • matplotlib修正坐标轴ylim的空白

    千次阅读 2019-02-23 10:45:48
    matplotlib绘制折线图后,我通过找y轴最小值的方式,绘制下图中的标注线,但是看到下面总是有一些空白,说明得到的y轴最小值不是在原点,就像x轴的第一个值一样。 bottom, top = plt.ylim() #获得y轴最大最小值 ...

    用matplotlib绘制折线图后,我通过找y轴最小值的方式,绘制下图中的标注线,但是看到下面总是有一些空白,说明得到的y轴最小值不是在原点,就像x轴的第一个值一样。

    bottom, top = plt.ylim() #获得y轴最大最小值
    plt.plot([sLogit_max,sLogit_max],[bottom,start_logits[sLogit_max]], color ='red', linewidth=0.5, linestyle="--")
    plt.plot([eLogit_max,eLogit_max],[bottom,end_logits[eLogit_max]], color ='red', linewidth=0.5, linestyle="--")
    

    在这里插入图片描述
    为了修正这个,可以通过设置spines(图中上下左右四个边框)。

     ax = plt.gca()    #获得当前axis
     bottom, top = plt.ylim() #获得y轴最大最小值
    ax.spines['bottom'].set_position(('data', bottom)) 移动x轴到y轴最小值位置
    plt.xticks(range(n_bins), passage, rotation=90, fontsize=4) 
    #设置spines后xticks设置的属性消失,xticks放在后面
    

    注意到设置spines后,横轴设置的文字属性消失。因此我把设置横轴文字放在设置spines后。
    在这里插入图片描述

    展开全文
  • 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() 绘制...
  • 实现将图像坐标轴平移到坐标原点 一般我们用python绘图画出来的函数图像坐标轴都是位于左下方,如下方实例: import numpy as np import matplotlib.pyplot as plt x = np.linspace(-2, 2, 100) # 定义自变量区间[-...
  • ax.spines——matplotlib坐标轴设置

    万次阅读 2018-10-11 17:32:03
    通常软件绘图,包括 matlab、python 的 matplotlib,默认都是将坐标轴置于画布(figure)的最下侧(x 轴),最左侧(y 轴),也即将坐标原点置于左下角 获取坐标轴 在matplotlib的图中,默认有四个轴,两个横轴和两...
  • 图中的坐标轴看起来不那么舒服,原因在于不是日常所用的过原点(0, 0)的坐标系,那么本文在前文基础上进行坐标轴位置优化。利用plt.gca( )进行坐标轴的移动首先观察画布上面的坐标轴,如下图上图中,用红色标识出的...
  • 今天本人用Python里的Trutle库,画了如上图的一个时序图,开始考虑的是用 matplotlib 模块,matplotlib有方便的数据可视化功能,能轻松画出柱状图和直方图等... 要在画布上画出一个相对横轴较长的单象限平面直角坐标...
  • matplotlib库和MATLAB的数据可视化功能几乎是相同,只是因为人工智能的火爆以及使用方便深受大家喜爱。 1.1figure图像 绘制单一函数的图像 import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,...
  • matplotlib图像刻度、坐标轴的设置

    万次阅读 多人点赞 2019-05-22 10:15:26
    matplotlib默认的坐标轴竟然不是以(0,0)为原点。这就需要我们自己调整坐标轴的位置了。 先抛出结论: 1,刻度(ticks)的颜色独立于边线(spine) 2,刻度(ticks)的位置则依附于边线(spine) 3,可以通过设置...
  • 极角是指该点与极坐标原点的连线和极轴的夹角,一般逆时针夹角为正,该点到原点的距离即为极径。2.极坐标图的基本设置# 极坐标系设置方式一subplot(projection='polar')#极坐标系设置方式二axes(projection='polar')...
  • 通常软件绘图,包括 matlab、python 的 matplotlib,默认都是将坐标轴置于画布(figure)的最下侧(x 轴),最左侧(y 轴),也即将坐标原点置于左下角。而我们自己理解数学,以及手动绘图时,都会将坐标轴置于中心...
  • matplotlib里,虽然有数据的坐标轴设置好了,这个只是为了画数据显示使用的,如果用它来作标示,又有点不足。比如绘图的区域是X轴和Y轴从-10到100,那么原点的位置,就不在(0,0)位置了。这时候,如果图里内容...
  • 图中的坐标轴看起来不那么舒服,原因在于不是日常所用的过原点(0, 0)的坐标系,那么本文在前文基础上进行坐标轴位置优化。利用plt.gca( )进行坐标轴的移动首先观察画布上面的坐标轴,如下图上图中,用红色标识出的...
  • 现将学习成果做个记录,下面是画出来的图,这是初始的状态,后面会通过算法找到一条经过原点的直线将两堆数据分割开来。 直线以及两堆数据是随机生成的,下面介绍画出这个图的步骤主要有哪些: 导入需要的工具包,...

空空如也

空空如也

1 2 3 4
收藏数 68
精华内容 27
关键字:

matplotlib原点坐标