在matplotlib中,坐标轴由axis.Axis
类表示,轴脊由spines.Spine
类表示,刻度由axis.Ticker
类表示。这些类共同构成了matplotlib的坐标轴系统,用于绘制和展示图形。
axis.Axis
类表示一个坐标轴,它具有许多属性和方法,用于控制坐标轴的外观和行为。例如,您可以设置坐标轴的范围、标签、颜色等。spines.Spine
类表示坐标轴的轴脊,它是连接坐标轴的线和刻度的可见部分。轴脊可以控制轴线的位置、方向和外观,例如您可以设置轴脊的颜色、线型等。axis.Ticker
类表示坐标轴的刻度,它是用来在坐标轴上添加刻度和标签的对象。刻度对象有许多方法和属性,例如您可以设置刻度的位置、标签格式等。
这些类共同协作,使得您可以在matplotlib中创建和定制各种类型的图形和图表。通过使用这些类的方法和属性,您可以控制坐标轴的外观、添加刻度和标签、调整轴脊的位置和外观等。
Axes对象有许多属性和方法,可以用于控制坐标轴的外观和行为。以下是一些常用的Axes属性:
axes.get_xlim():获取x轴的范围。
axes.set_xlim(v):设置x轴的范围。
axes.get_ylim():获取y轴的范围。
axes.set_ylim(v):设置y轴的范围。
axes.get_autoscaley_on():获取y轴自动缩放的状态。
axes.set_autoscaley_on(b):设置y轴自动缩放的状态(True或False)。
axes.get_xlabel(s):获取x轴的标签。
axes.set_xlabel(s):设置x轴的标签。
axes.get_ylabel(s):获取y轴的标签。
axes.set_ylabel(s):设置y轴的标签。
axes.get_title(s):获取标题。
axes.set_title(s):设置标题。
axes.get_position():获取坐标轴的位置。
axes.set_position(b):设置坐标轴的位置。
此外,Axes对象还支持许多其他方法和属性,例如添加图例、网格、箭头等。可以通过查看matplotlib文档来了解更多信息。
绘制某股票一周折线图
#导入所需的库
import numpy as np
import matplotlib.pyplot as plt
# 0.设置中文黑体
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
# 1.准备数据
label = ['周一', '周二', '周三', '周三', '周四', '周五', '周六', '周日']
x_data = np.arange(1,8,1)
y_data = [44.98, 45.02, 44.32, 41.05, 42.08, 42.08, 42.08] # 周末休市
# 2.创建画布和坐标系
fig = plt.figure() #创建画布
ax = plt.axes((0.2, 0.2, 0.5, 0.5)) #在画布中创建一个或多个坐标
# 3.绘图
ax.plot(x_data, y_data, color='purple', marker='o', markersize='16')
ax.set_xticks([1, 2, 3, 4, 5, 6, 7, 8]) # 设置刻度长度
ax.set_xticklabels(label, rotation=45) # 设置刻度标签,并旋转45度
ax.set_xlabel('周日期') # 设置x轴标题
ax.set_ylabel('收盘日(¥)', rotation=0, labelpad=30) # 这里的labelpad表示纵坐标的标签离数轴的距离
ax.tick_params(direction='in', length=8, width=2) # tick_params是用来设置刻度样式
ax.spines['top'].set_color('none') # 这里的spines是访问坐标轴上的线,然后在后面加上set_color,设置为none那你所访问线都会变成透明。
ax.spines['right'].set_color('none')
#4.展示图表
plt.show()