根据上表的数据绘制一个折线图,具体要求如下:
(1)在距画布顶部0.2、左侧0.2的位置上添加一个宽度为0.5、高度为0.5的绘图区域;
(2)x轴的刻度标签为周日期;
(3)刻度样式调整:方向朝内、宽度为2,长度为8;
(4)隐藏坐标轴的上轴脊、右轴脊。
代码如下:
#导入模块
import numpy as np
import matplotlib.pyplot as plt
#设置外侧中文
plt.rcParams["font.sans-serif"] = ["KaiTi"]
plt.rcParams["axes.unicode_minus"] = False
# 数据
x_data = np.arange(1,8)
y_data = [44.98, 45.02, 44.32, 41.05, 42.08, 42.08, 42.08]
# 画布
fig = plt.figure()
# (1)在距画布顶部0.2,左侧0.2的位置上添加一个宽度为0.5,高度为0.5的绘图区域
ax = fig.add_axes((0.2, 0.2, 0.5, 0.5))
# 绘图
ax.plot(x_data, y_data,
'-o',# 标记和线的类型
ms=8 # 标记的大小
color=purplo #设置颜色为紫色)
#设置y轴标签
ax.set_ylabel('收盘价 (¥)',
fontsize=13.8,#字体大小
rotation=360.,#字体旋转角度
labelpad=28.8)#标签距坐标轴的距离
# 设置x轴标签
# (2) x轴的刻度标签为周日期
x_name = ['周一','周二','周三','周四','周五','周六','周日']
plt.xticks(x_data, x_name, rotation=20)
ax.set_xlabel('周日期',
fontsize=13.8,#字体大小
labelpad=14.8)#标签距坐标轴的距离)
# 刻度线样式调整
# (3)刻度样式调整:方向朝内,宽度为2
plt.tick_params(direction='in', # 刻度线方向朝里
width=2 # 刻度线宽度为2
)
# 隐藏上和右轴脊
# (4)隐藏坐标轴的上轴脊和右轴脊
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
plt.show()
效果图: