欢迎访问mehome的博客

omorrow is another day.T
Fork me on GitHub

matplotlib(二)——matplotlib控制坐标轴第一个刻度到原点距离

一、问题描述

具体问题是:

  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** 轴的距离:
posted @   mehome  阅读(7551)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示