一、问题描述

具体问题是:

  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. 非递归遍历二叉树Java版的实现代码(没写层次遍历)

    直接上代码呵呵,里面有注解 package www.com.leetcode.specificProblem; import java.util.ArrayList; import java.util ...

  2. Ubuntu14.04 查看安装的jetty的版本

    1.首先找到start.jar , Ubuntu14.04 在/usr/share/jetty 目录下, 2.然后运行 java -jar start.jar -- version 参考

  3. linkedlist--lecture-4

    1.链表数据结构 内存利用率高:动态分配 2.链表类定义 单向链表节点 public calss ListNode { int val =0; ListNode next = null; public ...

  4. aop 切面配置

    <bean id="userServiceImpl" class="com.bj.aop.xml.before.UserServiceImpl">& ...

  5. MapReduce实战:邮箱统计及多输出格式实现

    紧接着上一篇博文我们学习了MapReduce得到输出格式之后,在这篇博文里,我们将通过一个实战小项目来熟悉一下MultipleOutputs(多输出)格式的用法. 项目需求: 假如这里有一份邮箱数据文 ...

  6. Asp.NetCore WebApi 引入Swagger

    一.创建一个Asp.NetCore WebApi 项目 二.引入NuGet包 SwashBuckle.AspNetCore 三.在项目属性配置中设置 四.修改项目的启动文件Startup.cs 1). ...

  7. 《从0到1学习Flink》—— Flink 写入数据到 ElasticSearch

    前言 前面 FLink 的文章中我们已经介绍了说 Flink 已经有很多自带的 Connector. 1.<从0到1学习Flink>-- Data Source 介绍 2.<从0到1 ...

  8. Docker | 第三章:Docker常用命令

    前言 上一章节,简单介绍了在CentOS下的Docker的安装过程,以及运行了一个官方提供的Hello,World镜像运行了第一个Docker.就像上一章中,验证Docker是否安装成功,我们执行的是 ...

  9. 你还在为UiPath课程考试发愁吗?

    刚开始学UiPath的时候,课程的考试难倒了很多人,有语言的原因也有对课程理解的原因,记忆中好像有一课考了5次估计,由于题库也就那么多,只要你努力考,总会过的. 学会了RPA的自动化工具,能否自动化答 ...

  10. [转]ubuntu16.04安装teamviewer12依赖包解决

    安装teamviewer下载地址:http://www.teamviewer.com/en/download/linux/ 下载的是:teamviewer_12.0.76279_i386.deb   ...