python - 没有 xtick 和 ytick 显示 matplotlib 面向对象
问题描述
以下代码执行绘图,但 x 或 y 轴上没有显示刻度,我不明白为什么。
fig=plt.figure()
ax=fig.add_axes([0,0,1,1])
ax.set_title("test plot")
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.plot([0,1,2,3,4],[4,5,6,7,8])
plt.show()
为什么不自动添加?
我还使用 matplotlib 的面向对象方法复制了一些其他示例,并且遇到了同样的问题。
解决方案
你的轴实际上是“在那里”,它们只是在图形的极限处。当您调用add_axes
矩形时,您给它的形式是[left, bottom, width, height]
。您将其(0, 0)
作为起点(左下角),宽度和高度为 1(即图形的全宽和高度)。您可以使用坐标来查看会发生什么,例如
ax = fig.add_axes([0.2,0.2,0.6,0.6])
给
尽管
ax = fig.add_axes([0.1,0.1,0.4,0.4])
给
推荐阅读
- sql-server - SQL Server 变更数据捕获 - 直接查询系统表
- javascript - JavaScript 类中,super 不能访问属性,但是可以修改属性吗?
- arrays - 如何借助 Julia 中的指针访问和更改数组中的元素?
- java - 无法使用 Java 读取 mp3 文件 Android
- google-places-api - Google Places API 仅在生产中返回零结果
- r - ggaluvial图中的不完整表达
- vector - 在 clojure 中的地图向量中添加和删除元素
- r - 在 R 中的几天内的特定时间平均数据
- python - 使用python从excel转置数据
- java - 如何在 Java Web 服务应用程序中保护 SQL Server 凭据