【问题标题】:pandas plot x data out of order?pandas plot x 数据乱序?
【发布时间】:2018-12-01 07:35:12
【问题描述】:

使用 ubuntu 18.04.1 lts python 3.6.7 matplotlib 2.1.1 pandas 0.23.4 并尝试在折线图上绘制以下测试数据。所以它应该以一条从左到右的线结束,点在 10 50 100

the x_axes  = hv_20 hv_10 hv_5
the y axes  = 10     50    100

下面的代码似乎正在绘制

the x_axes = **hv_10 hv_20** hv_5

the y_axes = **50    10**    100  

我不知道为什么,似乎也找不到对我有帮助的文档。

请问我做错了什么?

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt


def mini_plot( data_frame ):

        fig, axes = plt.subplots(nrows=20 , ncols=10, sharey=True, figsize=(10,5))

        axes_list = [item for sublist in axes for item in sublist] 

        for index, row in data_frame.iterrows(): 
              ax = axes_list.pop(0)

              y_axes = pd.DataFrame(data_frame.iloc[ index ].values[3:6])

              print("index = ", data_frame.iloc[ index ][3:6].index)

              plt.ylim(0 , 100)

              ax.set_xlabel(row.Symbol ,labelpad= 0 )

              #x_axes = ['20', '10' , '5' ]

              x_axes = data_frame.iloc[ index ][3:6].index

              #ax.set_xticklabels( x_axes )

              ax.plot( x_axes, y_axes ,  label = "min", color= 'g' , linestyle='solid', linewidth=0.5)


        for ax in axes_list:
              ax.remove()

        plt.show()



if __name__  == '__main__' :

        test_data =     [ ('20181126#AAPL' , '2018-11-26',  'AAPL' , 10,  50, 100) ]

        test_labels =  [ 'Id',  'Date' ,  'Symbol' ,   'Hv_20' , 'Hv_10', 'Hv_5' ]

        df_todays_data = pd.DataFrame.from_records( test_data , columns = test_labels)


        mini_plot( df_todays_data )

【问题讨论】:

  • 它在我的环境中按预期绘制 10-50-100。较旧的 matplotlib 版本自动对分类数据进行排序(Hv20 等)。更新你的 matplotlib,你的问题就消失了。
  • @Mr.T 感谢回复我正在运行matplotlib 2.1.1 请问你运行的是哪个版本?
  • @theakson matplotlib 目前正在发布 3.0.x,如果可能,我会更新到最新版本。
  • 更新将是pip3 install --upgrade matplotlib
  • 很高兴它现在可以工作了。祝你的项目好运。

标签: python pandas plot


【解决方案1】:

@Mr.t 回答了我的问题。我使用的是旧版本的 matplotlib 2.1.1,当前版本是 3.0.x 我将更新应用到我的系统和 BINGO!

pip3 install --upgrade matplotlib

【讨论】:

    猜你喜欢
    • 2019-05-03
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 2014-10-11
    • 2018-06-18
    • 1970-01-01
    • 2013-01-26
    相关资源
    最近更新 更多