首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pyplot -更改pyplot中的x轴编号

Pyplot -更改pyplot中的x轴编号
EN

Stack Overflow用户
提问于 2012-05-23 09:25:26
回答 2查看 4.2K关注 0票数 0

我正在尝试显示力与时间的关系图,并且测量的频率可以改变。例如,80个样本/秒、100个/秒等。该频率被加载为'rate‘。我可以按任何速率将曲线图划分为秒,但我不能获得以秒为单位的x轴,只能以样本为单位。我被阻止发布输出的图像,但此测试文件的速率为80/秒,X轴标记为80,160,240,320等。我如何在几秒钟内将其标记,即1,2,3,4等?

代码语言:javascript
复制
import numpy as np
import pylab as p
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator, FormatStrFormatter

x = read_csv_file('test2.csv')
fnum = int(x[0][0])    # run number
rate = int(x[0][1])    # data rate
unit = int(x[0][2])    # 0 = metric
span_r = int(x[0][3])  # calibration setting
span_w = int(x[0][4])  # calibration setting

load = np.loadtxt(x[1], delimiter=',', unpack=True)

xfmt = "1/%d sec"      # x axis label

if unit:
  span_r = span_r*454
  yfmt = "Pounds Force"
else:
  span_r = span_r*9.81
  yfmt = "Newtons"


fig = plt.figure()
ax = fig.add_subplot(111)
majorLocator = MultipleLocator(rate)
majorFormatter = FormatStrFormatter('%d')
ax.xaxis.set_major_locator(majorLocator)
ax.xaxis.set_major_formatter(majorFormatter)
ax.plot(load * span_w / span_r)
plt.xlabel(xfmt % rate)
plt.ylabel(yfmt)
plt.grid(True)
plt.show()
EN

回答 2

Stack Overflow用户

发布于 2012-05-23 09:41:21

创建一个时间数组,并使用x轴数据和y轴数据调用plot(),例如pl.plot(x, y)

代码语言:javascript
复制
import pylab as pl
import numpy as np

period = 0.01
data = np.random.rand(1230)
t = np.arange(0, len(data)*period, period)
pl.plot(t, data)
pl.show()
票数 1
EN

Stack Overflow用户

发布于 2012-05-23 09:48:01

请参阅How to change the amount of increments in pyplot axis

接下来是:

代码语言:javascript
复制
ax.set_xticks( np.arange(upper-x-bound) )
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10712323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档