ncR*_*ert 37 python matplotlib
如果我使用以下代码使用matplotlib创建绘图:
import numpy as np
from matplotlib import pyplot as plt
xx = np.arange(0,5, .5)
yy = np.random.random( len(xx) )
plt.plot(xx,yy)
plt.imshow()
Run Code Online (Sandbox Code Playgroud)
我得到一个看起来像附加图像的结果.问题是最底部的y-tick标签与最左边的x-tick标签重叠.这看起来不专业.我想知道是否有一种自动方式来删除最底部的y-tick标签,所以我没有重叠问题.代码行越少越好.
ber*_*nie 36
在自动收报机模块中有一个名为MaxNLocator的类可以使用prune
kwarg.
使用它你可以删除第一个刻度:
import matplotlib.pyplot as plt
from matplotlib.ticker import MaxNLocator
import numpy as np
xx = np.arange(0,5, .5)
yy = np.random.random( len(xx) )
plt.plot(xx,yy)
plt.gca().xaxis.set_major_locator(MaxNLocator(prune='lower'))
plt.show()
Run Code Online (Sandbox Code Playgroud)
结果:
enr*_*cis 18
您可以在x轴上填充刻度:
ax.tick_params(axis='x', pad=15)
Run Code Online (Sandbox Code Playgroud)
更换ax
用plt.gca()
,如果您还没有存储变量ax
当前的身影.
您也可以填充两个轴来删除axis
参数.
解决重叠问题的一种非常优雅的方法是增加x和y刻度标签的填充(即到轴的距离).离开角落大多数标签可能并不总是被要求.在我看来,一般来说,如果标签距离轴稍远,则默认配置给出的标签看起来很好.
可以使用命令通过matplotlibrc文件或绘图脚本更改填充
import matplotlib as mpl
mpl.rcParams['xtick.major.pad'] = 8
mpl.rcParams['ytick.major.pad'] = 8
Run Code Online (Sandbox Code Playgroud)
大多数情况下,填充6也足够了.
归档时间: |
|
查看次数: |
21096 次 |
最近记录: |