matplotlib去掉顶右部边框和坐标轴调整

去边框

方法一:

import numpy as np
import matplotlib.pyplot as plt 
# 数据准备
data=np.random.rand(10,10)
fig, ax=plt.subplots()
data[data==-1]=np.nan#去掉缺省值-1
im =ax.imshow(data,interpolation='none',cmap='Reds_r',vmin=0.6,vmax=.9)#不插值
  
#去掉边框
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.show()

方法二:

方法一无法对fig设置参数, 此方法初始化对象,再进行设置

fig = plt.figure(1, dpi = 160)
ax = plt.axes()
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.close(fig)

tips:
如果要创建许多图形,请确保显式调用:func:“.pyplot.close(fig)。
因为这会启用pyplot正确清理内存。

坐标轴调整

默认画图

from scipy.stats import norm
import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-3, 3, 0.001)

plt.plot(x, norm.pdf(x))
plt.show()

norm.pdf()为概率密度函数,详细参见:scipy.stats.norm
matplotlib去掉顶右部边框和坐标轴调整_第1张图片

对坐标轴进行调整

# 使用plt.axes获取坐标轴(的控制)
axes = plt.axes()
axes.set_xlim([-5, 5])
axes.set_ylim([0, 1.0])
axes.set_xticks([-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5])
axes.set_yticks([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0])
plt.plot(x, norm.pdf(x))
plt.plot(x, norm.pdf(x, 1.0, 0.5))
plt.show()

matplotlib去掉顶右部边框和坐标轴调整_第2张图片

添加网格

axes.grid()

有关matplotlib使用的疑问可以留言交流~

你可能感兴趣的:(python)