pythonmatplotlib使⽤ax绘图以往都是使⽤plt,但是在多⼦图绘制时总是需要ax,所以这篇博客使⽤⼀个案例来练习ax绘图matplotlib使⽤plt绘图可以参考:
使⽤ax绘图时,有时需要魔改⼀些内容,就与plt的api不⼀样:
# 设置标题
ax.title.set_text("我是标题")
# 坐标轴右移
ax.yaxis.set_ticks_position('right')matplotlib中subplot
# y轴label右移
ax.yaxis.set_label_position("right")
# 设置y轴的label(可以参考上图的释义)
ax.set_ylabel("y值")
# 设置x轴label
ax.set_xlabel("x值")
# 设置y轴的取值范围
ax.set_ylim(-10,20)# 设置y轴的区间
代码⽰例
import matplotlib.pyplot as plt
import pandas as pd
idspec as gridspec  # ⽤⽹格来创建⼦图
import matplotlib as mpl
import numpy as np
def draw_form_df(dataframe: pd.DataFrame, title_name:str)-> plt.Figure: """绘制dataframe的正式的图"""
fig = plt.figure(figsize=(10,5))# 指定画布⼤⼩
grid = gridspec.GridSpec(1,1)# 指定这个画布上就⼀个图
# 绘制价格⾛势图
ax = fig.add_subplot(grid[0,0])# 多⼦图时可以修改
for index, line_value in dataframe.iterrows():
ax.plot(list(range(dataframe.shape[1])), line_value.values, label=index)    ax.axhline(y=0, ls=":", c="red")# 在y=0这⾥添加辅助线
ax.set_ylim(-10,20)# 设置y轴的区间
# 标题
ax.title.set_text(title_name)
# 坐标轴右移
ax.yaxis.set_ticks_position('right')
# label右移
ax.yaxis.set_label_position("right")
ax.set_ylabel("y值")
ax.set_xlabel("x值")
ax.legend()# 显⽰图例
# fig.subplots_adjust(top=0.90) # 多图时适应尺⼨
return fig
if __name__ =='__main__':
df = pd.DataFrame(
data=[al(0,1,200),
al(5,3,200),
al(2,2,200)], index=['line1','line2','line3'])
fig = draw_form_df(df,"标题")
fig.show()
效果图:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。