通过以下例题讲解坐标轴的定制
已知某股票一周内收盘价如表6-7所示根据表6-7的数据绘制一个折线图,具体要求如下:
周日期 | 收盘价 |
---|---|
Monday | 44.98 |
Tuesday | 45.02 |
Wednesday | 44.32 |
Thursday | 41.05 |
Friday | 42.08 |
Saturday | —— |
Sunday |
(1)在距画布顶部0.2、左侧0.2的位置上添加一个宽度为0.5、高度为0.5的绘图区域;
(2)x轴的刻度标签为周日期;
(3)刻度线样式调整:方向朝内、宽度为2,长度为8;
(4)隐藏坐标轴的上轴脊、右轴脊。
(1)在距画布顶部0.2、左侧0.2的位置上添加一个宽度为0.5、高度为0.5的绘图区域;
ax = plt.axes((0.2, 0.2, 0.5, 0.5))
(2)x轴的刻度标签为周日期;
ax.set_xlabel('周日期', fontsize=15, labelpad=15)
(3)刻度线样式调整:方向朝内、宽度为2,长度为8;
ax.tick_params(axis='x', direction='in', length=8, width=2)
ax.tick_params(axis='y', direction='in', length=8, width=2)
(4)隐藏坐标轴的上轴脊、右轴脊。
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
详细代码如下:
# matplotlib中文网 https://www.matplotlib.org
# 需求一:绘制某股票一周内收盘价折线图(见运行结果展示图)
import numpy as np
import matplotlib.pyplot as plt
# 0.设置中文黑体
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
# 1.准备数据
x_data = np.arange(1, 8, 1)
y_data = [44.98, 45.02, 44.32, 41.05, 42.08, 42.08, 42.08] # 周末休市
# 2.创建画布和坐标系(在距画布顶部0.2、左侧0.2的位置上添加一个宽度为0.5、高度为0.5的绘图区域)
ax = plt.axes((0.2, 0.2, 0.5, 0.5))
# 3.绘图(导入数据,设置颜色为#BC12BD,设置标点样式为实心点并设置大小为15)
ax.plot(x_data, y_data, color='#BC12BD', marker='o', markersize=15)
# 4.定制刻度
# (将x轴的刻度标签为周日期,设置x轴的标签为“周日期”,设置字体大小为15,距离x轴距离为15;
# 将y轴的标签设置为“收盘价(¥)”,设置字体大小为15,旋转角度为0,距离y轴距离为40)
labels = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
ax.set_xticks(x_data)
ax.set_xticklabels(labels)
ax.set_xlabel('周日期', fontsize=15, labelpad=15)
ax.set_ylabel('收盘价(¥)', fontsize=15, rotation=0, labelpad=40)
# 5.设置轴标签(刻度线样式调整:方向朝内、宽度为2,长度为8;x轴标签旋转20度)
ax.tick_params(axis='x', direction='in', length=8, width=2, labelrotation=20)
ax.tick_params(axis='y', direction='in', length=8, width=2)
# 6.隐藏上轴脊和右轴脊
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 7.展示图表
plt.show()