优秀的编程知识分享平台

网站首页 > 技术文章 正文

matplotlib 笔记1:多点线图、显示label、刻度、xy轴比例、主副轴

nanyue 2024-10-14 11:32:08 技术文章 11 ℃

笔记备忘

经常因为matplotlib的某个参数忘记了,在网上耗费很多时间去搜,索性自己慢慢都做成笔记,备忘。有需要的读者也可以做个备忘,后面会更新更多细节。现在已经markdown了几期,后面慢慢更吧。

  • 代码案例
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import rc
from mpl_toolkits.mplot3d import Axes3D
rc('text', usetex=True)
plt.rc('font',family='Times New Roman',size=15)

x=[1,2,3,4,5]
y1=[2,3,5,6,8]
y2=[3,4,6,7,9]
y3=[2,3,5,8,10]


fig = plt.figure(figsize=(10,10))
#axes在figure画布中的位置(左下0.1,0.1; 右上0.8,0.8)
ax = fig.add_axes([0.1,0.1,0.8,0.8])

#下面代码显示不全可以右滑哦
#markersize就是点的大小,linewidth对应线的宽度
# '*-' 第一个符号*(这里面叫marker)是指点的形状为五角星,线型为单线;
ax.plot(x,y1,'*-',c='red',label='y1',markersize=12,linewidth=2)
ax.plot(x,y2,'v-.',c='blue',label='y1',markersize=12,linewidth=2)
ax.plot(x,y3,'o--',c='cyan',label='y1',markersize=12,linewidth=2)
ax.legend()
ax.set_xlim(0,6)
ax.set_ylim(0,12)
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.savefig('sample.pdf')
  • 结果
  • 修改x轴显示内容
    ax.set_xticks([0.5,1.5,2.5,3.5,4.5,5.5])
  • 修改x轴显示内容,自定义
    x=[1,2,3,4,5]
    lbs=['a','a2','a3','a4','a5']
    plt.xticks(x,lbs)
  • x轴的label还可以旋转
    plt.xticks([0,1],['a','b'],rotation=0)

其他参数备忘

  • 线的形状:- 实线;-- 虚线;-. 点划线
  • 点(marker)的形状:
  • legend位置
  • 设置坐标范围
    ax.set_xlim(0,6)
    ax.set_ylim(0,10)
  • 设置x,y轴的名字
    ax.set_xlabel('x') ax.set_ylabel('y')
  • xy轴比例
    ax.set_aspect(1)
  • 主副刻度
ax.xaxis.set_major_locator(plt.MultipleLocator(3)) #3的倍数
ax.xaxis.set_minor_locator(plt.MultipleLocator(1)) #1的倍数

Tags:

最近发表
标签列表