當前位置:首頁 » 編程語言 » python橫坐標日期

python橫坐標日期

發布時間: 2025-05-21 08:19:44

1. python量化教程:不得不學的K線圖「代碼復制可用」

不管是對量化分析師還是普通的投資者來說,K線圖(蠟燭圖)都是一種很經典、很重要的工具。在K線圖中,它會繪制每天的最高價、最低價、開盤價和收盤價,這對於我們理解股票的趨勢以及每天的多空對比很有幫助。

一般來說,我們會從各大券商平台獲取K線圖,但是這種情況下獲得的K線圖往往不能靈活調整,也不能適應復雜多變的生產需求。因此我們有必要學習一下如何使用Python繪制K線圖。

需要說明的是,這里mpl_finance是原來的matplotlib.finance,但是現在獨立出來了(而且好像沒什麼人維護更新了),我們將會使用它提供的方法來繪制K線圖;tushare是用來在線獲取股票數據的庫;matplotlib.ticker中有個FuncFormatter()方法可以幫助我們調整坐標軸;matplotlib.pylab.date2num可以幫助我們將日期數據進行必要的轉化。

我們以上證綜指18年9月份以來的行情為例。

我們先使用mpl_finance繪制一下,看看是否一切正常。

可以看到,所有的節假日包括周末,在這里都會顯示為空白,這對於我們圖形的連續性非常不友好,因此我們要解決掉他們。

可以看到,空白問題完美解決,這里我們解釋一下。由於matplotlib會將日期數據理解為 連續數據 ,而連續數據之間的間距是有意義的,所以非交易日即使沒有數據,在坐標軸上還是會體現出來。連續多少個非交易日,在坐標軸上就對應了多少個小格子,但這些小格子上方並沒有相應的蠟燭圖。

明白了它的原理,我們就可以對症下葯了。我們可以給橫坐標(日期)傳入連續的、固定間距的數據,先保證K線圖的繪制是連續的;然後生成一個保存有正確日期數據的列表,接下來,我們根據坐標軸上的數據去取對應的正確的日期,並替換為坐標軸上的標簽即可。

上邊format_date函數就是這個作用。由於前邊我們給dates列生成了從0開始的序列連續數據,因此我們可以直接把它當作索引,從真正的日期列表裡去取對應的數據。在這里我們要使用matplotlib.ticker.FuncFormattter()方法,它允許我們指定一個格式化坐標軸標簽的函數,在這個函數里,我們需要接受坐標軸的值以及位置,並返回自定義的標簽。

你學會了嗎?

當然,一個完整的K線圖到這里並沒有結束,後邊我們會考慮加入均線、成交量等元素,感興趣的同學歡迎關注哦!

2. python中使用plt.bar畫出的圖橫坐標是1-10的,我如何畫出2,4,6,8這樣空兩個的橫坐標

最簡單的柱狀代碼應該是這樣的

# coding: utf-8

import matplotlib.pyplot as plt
import numpy as np

x = np.random.randint(0, 10, size=10)
y = np.random.randint(100, 1000, size=10)

plt.bar(x, y)
plt.show()

3. 怎樣用python畫一個以時間為橫坐標的圖

1. 前言

當日期數據作為圖表的坐標軸時通常需要特殊處理,應為日期字元串比較長,容易產生重疊現象

2. 設定主/次刻度

2.1 引用庫

from matplotlib.dates import DateFormatter, WeekdayLocator, DayLocator, MONDAY,YEARLY1

2.2 獲取每月/周/日數據

獲取每月一日數據

monthdays = MonthLocator()1

獲取每周一的日期數據

mondays = WeekdayLocator(MONDAY) # 主要刻度12

獲取每日數據

alldays = DayLocator() # 次要刻度12

2.3 設定主/次刻度

ax.xaxis.set_major_locator(mondays)
ax.xaxis.set_minor_locator(alldays)12

2.4 設定格式

mondayFormatter = DateFormatter('%Y-%m-%d') # 如:2-29-2015
dayFormatter = DateFormatter('%d') # 如:12

ax.xaxis.set_major_formatter(mondayFormatter)1234

3. 字元串旋轉

for label in ax1.get_xticklabels(): label.set_rotation(30) label.set_horizontalalignment('right')123

4. 效果

4. Python的 matplotlib畫圖,怎麼把子圖的每個橫坐標顯示出來

ax = subplots(nrows,ncols,sharex,sharey,squeeze,subplot_kw,gridspec_kw,**fig_kw)

創建畫布和子圖。

nrowsncols表示將畫布分割成幾行幾列 ,

sharexsharey表是共用xy軸的設置。

squeeze bool

a.默認參數為True:額外的維度從返回的Axes(軸)對象中擠出,對於N*1或1*N個子圖,返回一個1維數組,對於N*M,N>1和M>1返回一個2維數組。

b.為False,不進行擠壓操作:返回一個元素為Axes實例的2維數組,即使它最終是1x1。

subplot_kw:字典類型,可選參數。把字典的關鍵字傳遞給add_subplot()來創建每個子圖。

subplot_kw:字典類型,可選參數。把字典的關鍵字傳遞給add_subplot()來創建每個子圖。

gridspec_kw:字典類型,可選參數。把字典的關鍵字傳遞給GridSpec構造函數創建子圖放在網格里(grid)。

**fig_kw:把所有詳細的關鍵字參數傳給figure()函數。

可見你沒有辦法單獨設置某個子圖的ax的。

5. python3 折線圖上如何顯示特殊數據

  • # encoding=utf-8

  • import matplotlib.pyplot as plt

  • # 月份

  • x1 = ['2017-01', '2017-02', '2017-03', '2017-04', '2017-05', '2017-06', '2017-07', '2017-08',

  • '2017-09', '2017-10', '2017-11', '2017-12']

  • # 體重

  • y1 = [86, 85, 84, 80, 75, 70, 70, 74, 78, 70, 74, 80]

  • # 設置畫布大小

  • plt.figure(figsize=(16, 4))

  • # 標題

  • plt.title("my weight")

  • # 數據

  • plt.plot(x1, y1, label='weight changes', linewidth=3, color='r', marker='o',

  • markerfacecolor='blue', markersize=20)

  • # 橫坐標描述

  • plt.xlabel('month')

  • # 縱坐標描述

  • plt.ylabel('weight')

  • # 設置數字標簽

  • for a, b in zip(x1, y1):

  • plt.text(a, b, b, ha='center', va='bottom', fontsize=20)

  • plt.legend()

  • plt.show()

熱點內容
彩票源碼定製 發布:2025-05-21 14:38:54 瀏覽:451
wincc編譯鍵 發布:2025-05-21 14:38:52 瀏覽:959
怎麼啟動app伺服器失敗 發布:2025-05-21 14:22:11 瀏覽:760
個人電腦如何製作伺服器 發布:2025-05-21 14:21:02 瀏覽:107
壓縮包變小 發布:2025-05-21 14:20:59 瀏覽:252
電腦打開文件夾就死機 發布:2025-05-21 14:18:30 瀏覽:455
伺服器屬於什麼發票類別 發布:2025-05-21 14:12:31 瀏覽:347
雲幫手伺服器配置 發布:2025-05-21 14:07:38 瀏覽:677
崩壞學園2腳本精靈 發布:2025-05-21 14:06:52 瀏覽:801
miui8存儲許可權 發布:2025-05-21 13:53:26 瀏覽:558