Matplotlib :: Not显示所有x轴数据帧变量

时间:2015-09-14 19:26:09

标签: pandas matplotlib

我的数据框头部为:

    m_srcaddr       total_fwd_size  total_rev_size
0   10.19.139.141   2479.335    175.000
1   10.19.139.143   888.141 92.442
2   10.19.139.144   1044.360    214.592
3   10.19.139.145   7.205   3.274
4   10.19.139.146   2756.958    294.006
.....

我试图将m_srcaddr绘制为x轴,将其他2列绘制为y轴。

df.plot(x = 'm_srcaddr')
plt.xticks(rotation=90)   #import matplotlib.pyplot as plt

图表显示x轴(m_srcaddr)为5的间隔,如

10.19.139.141, 10.19.139.147, 10.19.139.152 ...

我正在尝试使用xticks来显示所有x轴数据,但是它的失败是因为m_srcaddr不是整数。

1 个答案:

答案 0 :(得分:3)

只需将xticks来电更改为:

即可
plt.xticks(df.index, df['m_srcaddr'], rotation=90)

第一个参数给出了放置标记的位置(df.index在这里相当于np.arange(len(df)),但如果你的索引不是均匀间隔,则使用arange)。第二个参数给出了刻度标签。

matplotlib.pyplot.xticks(*args, **kwargs)

  

获取或设置当前刻度线位置和标签的x限制。

# return locs, labels where locs is an array of tick locations and
# labels is an array of tick labels.
locs, labels = xticks()

# set the locations of the xticks
xticks( arange(6) )

# set the locations and labels of the xticks
xticks( arange(5), ('Tom', 'Dick', 'Harry', 'Sally', 'Sue') )
     

关键字args(如果有)是Text属性。例如,要旋转   长标签:

xticks( arange(12), calendar.month_name[1:13], rotation=17 )