Python 添加来自matplotlib中列名的X轴

Python 添加来自matplotlib中列名的X轴,python,matplotlib,axis,Python,Matplotlib,Axis,我有一些代码可以绘制我的数据,但由于某些原因,它没有显示X轴上的值。 X轴的值通常是数字列名称: 这是X轴: 以下是我创建图表的方式: SavitzkyGolay(new_db[new_db['hour']=='12:00'].iloc[:,2:],25,2).T.plot(title='17/06/2019 12:00',figsize=(17,10)) plt.legend(new_db['plant']) 我的最终目标是使这些值位于X轴。我建议使用melt将数据帧从宽改长,然后进行

我有一些代码可以绘制我的数据,但由于某些原因,它没有显示X轴上的值。 X轴的值通常是数字列名称:

这是X轴:

以下是我创建图表的方式:


SavitzkyGolay(new_db[new_db['hour']=='12:00'].iloc[:,2:],25,2).T.plot(title='17/06/2019 12:00',figsize=(17,10))
plt.legend(new_db['plant'])

我的最终目标是使这些值位于X轴。

我建议使用
melt
将数据帧从宽改长,然后进行打印。下面是一个使用我制作的数据帧的示例,该数据帧与您的数据帧相似: (注意:我不确定你的列名指的是什么,但我称它们为“时间”,因为它看起来像某种时间序列。)

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({'plant' : [1,2,3],
                        'hour' : ['12:00','12:00','12:00'],
                        '410.25' : [0.061202, 0.07654, 0.085432],
                        '411.11' : [0.058917, 0.06543, 0.071234],
                        '412.78' : [0.056170, 0.05769, 0.067843],
                        '413.98' : [0.053595, 0.05678, 0.063786],
                        '414.41' : [0.052761, 0.05432, 0.061685]})

df2 = df.melt(id_vars = ['plant', 'hour'], var_name = 'time', value_name = 'value').sort_values(['plant', 'time'])   

df2

    plant   hour    time     value
0       1  12:00  410.25  0.061202
3       1  12:00  411.11  0.058917
6       1  12:00  412.78  0.056170
9       1  12:00  413.98  0.053595
12      1  12:00  414.41  0.052761
1       2  12:00  410.25  0.076540
4       2  12:00  411.11  0.065430
7       2  12:00  412.78  0.057690
10      2  12:00  413.98  0.056780
13      2  12:00  414.41  0.054320
2       3  12:00  410.25  0.085432
5       3  12:00  411.11  0.071234
8       3  12:00  412.78  0.067843
11      3  12:00  413.98  0.063786
14      3  12:00  414.41  0.061685

for n in range(df2['plant'].max()+1):
    plt.plot(df2.loc[df2['plant'] == n, 'time'], df2.loc[df2['plant'] == n, 'value'])