matplotlib绘图对坐标轴的操作
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
①改变figure背景和坐标系背景的颜色
②设置x轴的刻度标签:颜色、字体旋转角度、字体大小等
③设置y轴的刻度线样式:刻度线颜色、长度、宽度
每一个坐标系ax有一个xaxis和yaxis属性,通过get_ticklabels()和get_ticklines()方法设置刻度标签和刻度线样式。
fig1=plt.figure()
rect=fig1.patch#创建一个figure矩形实例
rect.set_facecolor('yellow') #设置figure背景为绿色
ax3=fig1.add_axes([0.1,0.3,0.4,0.4])#添加一个坐标系
rect=ax3.patch #创建坐标系矩形对象
rect.set_facecolor('blue')#将坐标系背景设置为蓝色
#设置x轴的刻度标签:颜色设置为红色,旋转45°,字体大小为16
for label in ax3.xaxis.get_ticklabels():
label.set_color('red')
label.set_rotation(45)
label.set_fontsize(16)
#设置y轴的刻度线样式
for line in ax3.yaxis.get_ticklines():
line.set_color('green')
line.set_markersize(20)
line.set_markeredgewidth(5)
ax3.grid(True)
plt.show()
④对坐标系的四个轴都添加刻度
对于x轴,下刻度为label1,上刻度为label2;y轴左刻度为label1,右刻度为label2。
坐标轴:包括一个label属性和major and minor ticks.
np.random.seed(19680801)
fig,ax=plt.subplots()
ax.plot(100*np.random.rand(20))
formatter=ticker.FormatStrFormatter('$%1.2f')
ax.yaxis.set_major_formatter(formatter)
for tick in ax.yaxis.get_major_ticks():
tick.label1.set_visible(True)
tick.label1.set_color('r')
tick.label2.set_visible(True)
tick.label2.set_color('y')
for tick in ax.xaxis.get_major_ticks():
tick.label1.set_visible(True)
tick.label1.set_color('r)
tick.label2.set_visible(True)
tick.label2.set_color('b')
ax.grid(True)
plt.show()