python - 即使尝试了所有解决方案,X 轴次要网格线仍然没有显示
问题描述
我的 x 轴次要网格线没有显示,这是我的代码
ax = plt.gca()
ax.minorticks_on()
plt.semilogx(data_x1,data_y1,"red")
plt.semilogx(data_x2,data_y2,"blue")
ax.grid(b=True, which='major',axis="both", color='k', linestyle='-', linewidth=0.5)
ax.grid(b=True, which='minor',axis="both", color='k', linestyle='-', linewidth=0.2)
plt.xlabel("frequency(Hz)")
plt.ylabel("Iramp(dB)")
plt.show()
解决方案
要么我不确定你想要什么,要么你的代码实际上工作正常。次要网格线是 10 次方之间的那些。我做了一个小例子来显示您的情节与打开和关闭次要网格线的比较。
import numpy as np
import matplotlib.pyplot as plt
data_x1 = np.linspace(0,2,10)
data_x2 = np.linspace(0,4,10)
data_y1 = np.random.rand(10)
data_y2 = np.random.rand(10)
fig, axall =plt.subplots(1,2, figsize=(10,5))
# your code with some changes
ax = axall[0]
ax.minorticks_on()
ax.semilogx(data_x1,data_y1,"red")
ax.semilogx(data_x2,data_y2,"blue")
ax.grid(b=True, which='major',axis="both", color='k', linestyle='-', linewidth=0.5)
ax.grid(b=True, which='minor',axis="both", color='k', linestyle='-', linewidth=0.2)
ax.set_xlabel("frequency(Hz)")
ax.set_ylabel("Iramp(dB)")
# code to make the plot on the right.
ax = axall[1]
ax.minorticks_on()
ax.semilogx(data_x1,data_y1,"red")
ax.semilogx(data_x2,data_y2,"blue")
ax.grid(b=True, which='major',axis="both", color='k', linestyle='-', linewidth=0.5)
# ax.grid(b=True, which='minor',axis="both", color='k', linestyle='-', linewidth=0.2)
ax.set_xlabel("frequency(Hz)")
ax.set_ylabel("Iramp(dB)")
plt.show()
请注意我是如何注释掉您的次要网格线的。
推荐阅读
- ios - 为什么 iOS 会显示警告“此应用程序需要由开发人员更新才能在此版本的 iOS 上运行”。对于我的反应原生应用程序?
- mysql - 规范化现有数据;varchar 列表到整数
- api - 如何在flutter中返回并显示计数结果json响应api
- reference - 引用和变量之间的关系
- go - 为什么我的 Gin and Go 测试没有通过?
- ms-access - 使用整数值更新 ms-access 导致算术溢出 将表达式转换为数据类型 int 的算术溢出错误
- flutter - 在标头中传递 JWT 时获取 403
- subquery - N1QL 值 NOT IN 子查询,它返回一个数组
- node.js - 如何在 Alpine Linux 中将 node.js 应用程序作为后台服务运行?
- git - git mv 整个 repo 上一层