为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Matplotlib 绘制带有非线性 x 轴刻度的曲线?

如何使用 Matplotlib 绘制带有非线性 x 轴刻度的曲线?

largeQ 2023-12-26 15:11:43
目前,我可以使用以下代码将数据绘制为两条曲线。from numpy import *import mathimport matplotlib.pyplot as pltt = [1,2,4,8] raw_1 = [0.02, 0.02, 0.3, 0.4] raw_2 = [0.6, 0.7, 0.2, 0.3]plt.plot(t, raw_1, color='r', marker='o') plt.plot(t, raw_2, color='b', marker='o')  plt.show()然而,我希望使x轴非线性。例如,只有 1、2、4、8 可见,并且它们的 x 刻度间隔相同的距离。如图所示:我对 Matplotlib 不太熟悉,有人可以告诉我如何生成带有上述 x 轴的图吗?我尝试了 plt.xscale('log'),但得到了以下图:两个相邻节点之间的距离看起来不错,但 xticks 看起来不太好。
查看完整描述

1 回答

?
米脂

TA贡献1836条经验 获得超3个赞

range()为此,针对任意等距数字(使用 很方便)进行绘图,然后将标签替换为实际标签:


t = [1,2,4,8] 

raw_1 = [0.02, 0.02, 0.3, 0.4] 

raw_2 = [0.6, 0.7, 0.2, 0.3]

x = range(len(t))

plt.plot(x, raw_1, color='r', marker='o') 

plt.plot(x, raw_2, color='b', marker='o')

plt.xticks(x,t)

plt.show()

https://img1.sycdn.imooc.com/658a7ced0001fc3f05970433.jpg

查看完整回答
反对 回复 2023-12-26
  • 1 回答
  • 0 关注
  • 45 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信