【Matplotlib:隐藏边框,显示单个网格线,设置刻度间隔,隐藏刻度线】

1、读取原始数据

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])

数据可视化

【Matplotlib:隐藏边框,显示单个网格线,设置刻度间隔,隐藏刻度线】_第1张图片

绘图

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")

【Matplotlib:隐藏边框,显示单个网格线,设置刻度间隔,隐藏刻度线】_第2张图片

你可能感兴趣的:(matplotlib,python,开发语言)