matplotlib基础1:绘图基本属性设置 -- xticks(loc,labels)格式化转义标记

matplotlib绘图基本属性设置:

# -*- coding: utf-8 -*-
"""
Created on Tue Jul 24 15:11:36 2018

@author: Administrator
"""

import numpy as np
import matplotlib.pyplot as plt


x = np.linspace(-np.pi, np.pi, 1000)   # 均匀分布的1000个数 endpoint=False
cos_y = np.cos(x) / 2
sin_y = np.sin(x)


# 设置坐标轴边界 xlim ylim
plt.xlim(x.min() * 1.1, x.max() * 1.1)
plt.ylim(sin_y.min() * 1.1, sin_y.max() * 1.1)


# 设置刻度值 xticks yticks
plt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi * 3 / 4,
           np.pi],
          [r'$-\pi$', r'$-\frac{\pi}{2}$', r'$0$',
           r'$\frac{\pi}{2}$', r'$\frac{3\pi}{4}$',
           r'$\pi$'])
# 格式化转义 字符串首尾 r'$...$' (matplotlib中)
# xticks(loc, labels): labels 格式化转义方法 r'$-\frac{\pi}{2}$'
# pi需要转义才能显示为字符 pai. 若$-pi$ 则直接显示-pi
# 如果没有第二个[]参数,刻度值显示如-3.142, -1.571...等浮点数,而不是-pi
plt.yticks([-1, -0.5, 0.5, 1])  # == ax.set_yticks([-1, -0.5, 0.5, 1])


# 获取当前坐标轴 axis
ax = plt.gca()
# 移动坐标轴:设置零点在坐标轴的位置 ,set_position(tuple) 元素为tuple
ax.spines['left'].set_position(('data',0))   # 
ax.yaxis.set_ticks_position('left')     # y轴'right': 刻度值显示在right坐标轴上
ax.spines['bottom'].set_position(('data',0))
ax.xaxis.set_ticks_position('bottom')   # x轴top:ticks值显示在top坐标轴上

# 隐藏top和right边框
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 设置坐标轴标签
# ax.set_yticks([-1, -0.5, 0.5, 1]  # 等价于 plt.yticks([-1, -0.5, 0.5, 1])
# ax.set_xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi * 3 / 4,
#           np.pi],
#          [r'$-\pi$', r'$-\frac{\pi}{2}$', r'$0$',
#           r'$\frac{\pi}{2}$', r'$\frac{3\pi}{4}$',
#           r'$\pi$'])       # 显示 -3 , -2, -1


# 设置图例legend, 可以直接设置在plt.plot的label属性中,然后plt.lengend()显示

plt.plot(x, cos_y,
         linestyle='-', 
         linewidth=2,
         color='dodgerblue', 
         label=r'$y=\frac{1}{2}$cos(x)')  # r'$..$'外部不需要引号

plt.plot(x, sin_y, 
         linestyle='-', 
         linewidth=2,
         color='orangered', 
         label=r'$y=sin(x)$')       # label:legend显示的内容
plt.legend(loc='upper left')    # loc顺序: “先上中下,再左中右” 默认上左

# 显示图像
plt.show()

NOTE: 注意用法和格式:

mp.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi * 3 / 4,
           np.pi],
          [r'$-\pi$', r'$-\frac{\pi}{2}$', r'$0$',
           r'$\frac{\pi}{2}$', r'$\frac{3\pi}{4}$',
           r'$\pi$'])
# 格式化转义  字符串首尾 r'$...$') (matplotlib中)
# xticks(loc, labels): labels 格式化转义方法 r'$-\frac{\pi}{2}$'
# pi需要转义才能显示为字符 pai. 若$-pi$ 则直接显示-pi
# 如果没有第二个[]参数,刻度值显示如-3.142, -1.571...等浮点数,而不是-pi

猜你喜欢

转载自blog.csdn.net/weixin_40040404/article/details/81185564