import pandas as pd
pd_1 = pd.read_excel("定投发车.xlsx")
new = pd_1["周一跟投"].dropna(axis=0).index.to_list()
new_x =[]
new_y =[]
for i in new:
new_x.append(pd_1["指标名称"][i])
new_y.append(pd_1['上证指数收盘价'][i])
new_x.append(pd_1["指标名称"][155])
new_y.append(pd_1['上证指数收盘价'][155])
数据可视化
from matplotlib.ticker import MultipleLocator
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
plt.style.use('classic')
plt.figure(figsize=(16,9),dpi=80)
ax = plt.axes()
# 是否需要隐藏边框
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['bottom'].set_visible(False)
ax.spines['left'].set_visible(False)
plt.scatter(new_x,new_y,color='#448ee4',linewidth=7,zorder=1)
plt.scatter(new_x,new_y,color='#f8481c',linewidth=3,zorder=1)
plt.plot(pd_1['指标名称'],pd_1['上证指数收盘价'],color='grey',linewidth=2.5,zorder=0.5)
# 设置x轴数据的间隔,刻度范围可能会变大
plt.gca().xaxis.set_major_locator(MultipleLocator(7))
# 不需要超过刻度范围可以手动设置刻度
# plt.xticks(['2022-06-23'],rotation=45)
# 设置日期需要显示的格式
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
# 设置是否显示网格
ax.grid(axis='y')
# 是否显示刻度线
plt.tick_params(top=False,bottom=False,left=False,right=False)
plt.savefig("1.pdf")