python 時間序列x軸日期展示到天

2022-09-17 18:27:12 字數 1825 閱讀 3365

import matplotlib.dates as mdate

import matplotlib.pyplot as plt

import tushare as ts

import pandas as pd

import datetime

%matplotlib inline

plt.rcparams['font.sans-serif'] = ['arial unicode ms']

plt.rcparams['axes.unicode_minus'] = false # 解決負數無法正常顯示的問題

# 獲取2021-01-01至今的**資料

sun_stock = ts.get_k_data(code='002078', start='2021-01-01', end=datetime.datetime.now().strftime('%y-%m-%d'))

sun_stock['date']=pd.to_datetime(sun_stock['date'], format='%y-%m-%d') # 設定日期格式為datetime

sun_stock.set_index('date',inplace=true)

一般時間序列繪圖的x軸標籤值展示到月,but,總會希望展示到天,解決方案如下:

ax1.xaxis.set_major_formatter(mdate.dateformatter('%y-%m-%d'))

有幾個ax就設定幾次,千萬不要以為ax2 = ax1.twinx() 設定了共用x軸就可以繼承ax1的設定規則!!!

fig = plt.figure(figsize=(15,4))

ax1 = fig.add_subplot(1,1,1)

# 設定x軸的時間顯示格式

ax1.xaxis.set_major_formatter(mdate.dateformatter('%y-%m-%d')) # 設定主刻度

# ax1.xaxis.set_minor_locator(mdate.daylocator() ) # 設定次刻度

plt.xticks(rotation=45)

# plt.xticks(pd.date_range(sun_stock.index[0],sun_stock.index[-1]), rotation=90) # x軸標籤豎放

ax1.plot(sun_stock.index, sun_stock['close'], color='b', label='股價')

# 設定為共用x軸的雙y軸圖表

ax2 = ax1.twinx()

ax2.xaxis.set_major_formatter(mdate.dateformatter('%y-%m-%d'))

ax2.bar(sun_stock.index, sun_stock['volume'], color='g', label='成交額', width=2)

# 設定軸和軸標籤

ax1.set_yticks([i * 5 for i in range(5)])

ax1.set_ylabel('股價')

ax2.set_yticks([i * 300000 for i in range(5) ])

ax2.set_ylabel('成交額')

ax1.set_xlabel('日期')

# 設定圖形標題

ax1.set_title('股價和成交額')

# 設定圖例

ax1.legend(loc=2)

ax2.legend(loc=1)

plt.show()

TeeChart的X軸為時間,多個Y軸的顯示

最後上 public partial class test form 新增若干個自定義座標軸 private void addcustomaxis int count double single 100 space count 2 count 1 單個座標軸的百分比 tchart.axes.left...

matplotlib畫X軸時間的顯示問題

畫時間曲線的函式 defplot curve1 data,title plt.figure figsize 15,5 plt.title title plt.plot data,o plt.show data1,data2 read data 讀取資料 print data1.head 10 列印前...

python時間序列按頻率生成日期

有時候我們的資料是按某個頻率收集的,比如每日 每月 每15分鐘,那麼我們怎麼產生對應頻率的索引呢?pandas中的date range可用於生成指定長度的datetimeindex。我們先看一下怎麼生成日期範圍 pd.date range startdate,enddate 1.生成指定開始日期和結...