Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 设置数据帧图形的x轴间隔(刻度)_Python_Matplotlib_Pandas_Data Analysis - Fatal编程技术网

Python 设置数据帧图形的x轴间隔(刻度)

Python 设置数据帧图形的x轴间隔(刻度),python,matplotlib,pandas,data-analysis,Python,Matplotlib,Pandas,Data Analysis,我试图在熊猫数据帧的matplotlib图上设置x轴的刻度(时间步长)。我的目标是使用数据帧的第一列作为刻度,但到目前为止我还没有成功 迄今为止,我的努力包括: 尝试1: #See 'xticks' data_df[header_names[1]].plot(ax=ax, title="Roehrig Shock Data", style="-o", legend=True, xticks=data_df[header_names[0]]) 尝试2: a

我试图在熊猫数据帧的matplotlib图上设置x轴的刻度(时间步长)。我的目标是使用数据帧的第一列作为刻度,但到目前为止我还没有成功

迄今为止,我的努力包括:

尝试1:

#See 'xticks'
data_df[header_names[1]].plot(ax=ax, title="Roehrig Shock Data", style="-o", legend=True, xticks=data_df[header_names[0]])
尝试2:

ax.xaxis.set_ticks(data_df[header_names[0]])
header\u names
只是列标题名称的列表,数据框如下所示:

    Compression Velocity   Compression Force  
1               0.000213            6.810879             
2               0.025055          140.693200            
3               0.050146          158.401500            
4               0.075816          171.050200             
5               0.101011          178.639500              
6               0.126681          186.228800              
7               0.150925          191.288300            
8               0.176597          198.877500        
9               0.202269          203.937000        
10              0.227466          208.996500         
11              0.252663          214.056000    
以下是CSV格式的数据:

Compression Velocity,Compression Force
0.0002126891606,6.810879
0.025055073079999997,140.6932
0.050145696,158.4015
0.07581600279999999,171.0502
0.1010109232,178.6395
0.12668120459999999,186.2288
0.1509253776,191.2883
0.1765969798,198.8775
0.2022691662,203.937
0.2274659662,208.9965
0.2526627408,214.056
下面是一个读取和绘制图形的实现:

data_df = pd.read_csv(file).astype(float)
fig = Figure()
ax = fig.add_subplot(111)
ax.set_xlabel("Velocity (m/sec)")
ax.set_ylabel("Force (N)")
data_df[header_names[1]].plot(ax=ax, title="Roehrig Shock Data", style="-o", legend=True)
当前图形如下所示:

x轴当前是数据帧中的行数(例如12),而不是第一列中的实际值

有没有办法使用数据框中第一列的数据设置为x轴的刻度/间隔/时间步长?

这对我来说很有用:

data_df.plot(x='Compression Velocity', y='Compression Force', xticks=d['Compression Velocity'])

您是否尝试过df.plot(x='Column'u you'u want'u as'u x',y='Column'u you'u want'u as'u y',xticks=d['Column'u you'u want'u'u as'u x'])?我没有尝试同时将所有3个参数作为参数传递,但不幸的是,这也不起作用。不过,谢谢你的建议。它对我很有效,但我不知道我的数据是否设置不同,因为你没有提供示例数据。你能提供自我包含的示例代码和示例数据来演示这个问题吗?我的建议对我很有用。请看我的答案。忽略前面的评论。我必须使用data_df[header_names[1:2]].plot(…)来实现所需的结果。非常感谢你的帮助!我只是在向DataFrame添加了另一列之后尝试了它,它仍然有效。请注意,我将x和y参数传递给
plot
,告诉它要打印哪些列。