Pandas.DataFrame.plot()轴值的问题

时间:2018-04-15 09:47:01

标签: python pandas dataframe matplotlib

这是我的DataFrame的.head():

                 Open    High    Low     Close    Volume     Market Cap
Date                        
Apr 09, 2018    7044.32 7178.11 6661.99 6770.73 4894060000  119516000000
Apr 08, 2018    6919.98 7111.56 6919.98 7023.52 3652500000  117392000000
Apr 07, 2018    6630.51 7050.54 6630.51 6911.09 3976610000  112467000000
Apr 06, 2018    6815.96 6857.49 6575.00 6636.32 3766810000  115601000000
Apr 05, 2018    6848.65 6933.82 6644.80 6811.47 5639320000  116142000000

&安培;在DateIndex上绘制'Close'的声明:

plot = df['Close'].plot()

默认情况下,x轴标有'Date',但没有显示DateValues。如何调整? y轴未标记,但CloseValues以间隔显示,我也想调整。

找不到解决方案:(感谢Thx一如既往!

2 个答案:

答案 0 :(得分:1)

将索引设为DatetimeIndex

public static void main(String args[]){
        new AsyncTask<String, String>() {

            @Override
            protected String runInBackground(String params) {
                try {
                    Thread.sleep(10000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return "Hello "+params;
            }

            @Override
            protected void postExecute(String result) {
                System.out.println(result+" AFter 10 sec");

            }

        }.execute("World");
        new AsyncTask<String, String>() {

            @Override
            protected String runInBackground(String params) {
                try {
                    //Thread.sleep(2000);
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return "Hello "+params;
            }

            @Override
            protected void postExecute(String result) {
                System.out.println(result+" AFter 2 sec");

            }

        }.execute("World");
    }

enter image description here

答案 1 :(得分:0)

piRSquared的回答是正确的(和往常一样)。您也可以使用

在一行中执行此操作
matplotlib.pyplot.plot(pd.to_datetime(df.index), df.Close);