一、问题描述

具体问题是:

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

三、相关参考

  1. 坐标轴相关的官方文档:

  2. 设置图形离 **Y** 轴的距离:

matplotlib(二)——matplotlib控制坐标轴第一个刻度到原点距离的更多相关文章

  1. 使用matplotlib的示例:调整字体-设置刻度、坐标、colormap和colorbar等

    使用matplotlib的示例:调整字体-设置刻度.坐标.colormap和colorbar等 2013-08-09 19:04 27805人阅读 评论(1) 收藏 举报  分类: Python(71 ...

  2. matplotlib.pyplot库函数关于坐标轴显示的支持

    matplotlib.pyplot库函数关于坐标轴显示的支持 https://blog.csdn.net/Stark_595/article/details/80787005?depth_1-utm_ ...

  3. ECharts修改坐标轴,坐标轴字体,坐标轴网格样式以及控制坐标轴是否显示

    转自:http://blog.csdn.net/kirinlau/article/details/72876689 首先要将一个图表显示在前端页面上: var myChart = echarts.in ...

  4. Winforn中设置ZedGraph曲线图的属性、坐标轴属性、刻度属性

    场景 C#窗体应用中使用ZedGraph曲线插件绘制图表: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99716066 在上面 ...

  5. 2、Arx二次开发创建第一个应用程序

    一.本节课程 Arx二次开发创建第一个应用程序 二.本节要讲解的知识点 1.手动创建ARX的应用的步骤. 2.应用向导创建ARX应用程序的步骤. 三.具体内容 1.需求:创建一个Hello World ...

  6. 【转载】ArcBall二维控制三维旋转

    原文:http://oviliazhang.diandian.com/post/2012-05-19/40027878859 由于目前大多的显示器是二维的,要控制三维物体的旋转就显得不那么直接了.Ar ...

  7. 二 ASP.NET MVC 第一个程序 hello world

    二 ASP.NET MVC 第一个程序 hello world   https://blog.csdn.net/xmroom/article/details/51335917 我使用的Visual s ...

  8. struts2官方 中文教程 系列十二:控制标签

    介绍 struts2有一些控制语句的标签,本教程中我们将讨论如何使用 if 和iterator 标签.更多的控制标签可以参见 tags reference. 到此我们新建一个struts2 web 项 ...

  9. matplotlib 可视化 —— matplotlib.patches

    官方帮助文档 patches - Matplotlib 1.5.1 documentation patches 下主要包含的常用图形类有: Eclipse Circle Wedge 1. plt.gc ...

随机推荐

  1. Xcode警告忽略

    Xcode中 cmd+B 之后总会出现各种各样的警告,对于一个对代码有洁癖的人,这种情况很难忍,接下来我们用些特殊手段强制消除这些警告  一.忽略源文件中的警告 使用编译器宏来操作 #pragma c ...

  2. vue-resource的使用

    之前使用axios post请求不能向后台发送数据,然后使用了vue-resource这个插件 import  Vue from 'vue' import VueResource from 'vue- ...

  3. css动画-模拟正余弦曲线

    今天就写一个css3抛物线的动画吧= = 从左到右的抛物线动画,我们就暂且把动作分为匀速向右运动和变速的上下运动. 水平匀速运动我们可以利用 translateX(x):定义 2D 转换,沿着 X 轴 ...

  4. 【干货】Html与CSS入门学习笔记1-3

    从23号开始用了4天时间看完了<Head First Html与CSS>这本书,本书讲解方式深入浅出,便于理解,结合习题,便于记忆,是一本不错的入门书.下面是本书的学习笔记: 一.认识HT ...

  5. cout格式化输出 详解

    //在使用setf等库函数时使用 //在使用流操纵算子时使用 //using namespace std; //以下所有的setf()都有对应的unsetf()用于取消设置 //所有的setiosfl ...

  6. Android中intent相关,setFlag(xx);

    intent.setFlags(参数)://参数用法如下 :FLAG_ACTIVITY_CLEAR_TOP: 例如现在的栈情况为:A B C D .D此时通过intent跳转到B,如果这个intent ...

  7. Azure School,让系统化学习回归一站式的简单体验

    承认吧,「终身制学习」已经成为一个不可抵挡的趋势.不管你从事什么行业,几乎已经没有什么可以一直吃老本就能搞定的事情,总有各种新的技术和概念等着你去学.至于发展速度飞快的IT 技术,不断的学习更是贯彻始 ...

  8. python3爬虫03(find_all用法等)

    #read1.html文件# <html><head><title>The Dormouse's story</title></head># ...

  9. LeetCode Rotate Array 翻转数组

    题意:给定一个数组,将该数组的后k位移动到前n-k位之前.(本题在编程珠玑中第二章有讲) 思路: 方法一:将后K位用vector容器装起来,再移动前n-k位到后面,再将容器内k位插到前面. class ...

  10. linux 命令——9 touch (转)

    linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 1.命令格式: touch [选项]... 文件... 2.命令参数: -a    ...