簡體   English   中英

通過 MaxNLocator Seaborn 配置 x 軸

[英]Configurate x-axis by MaxNLocator Seaborn

我想使用 MaxNLocator function 來更改 x 軸刻度,因為它太擁擠了。 但是,它不起作用。 我可以知道是什么問題嗎?

from pandas_datareader import data
import datetime

tickers = 'MP'

dateToday = datetime.datetime.today().strftime("%Y-%m-%d")

# Only get the adjusted close.
tickers_data = data.DataReader(tickers,
                       start='', 
                       end=dateToday, 
                       data_source='yahoo')[["Adj Close", "Volume"]][-250:]

import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
# sns.set_style("darkgrid")

plt.figure(figsize=(12,6))

sns.barplot(x=tickers_data.index.strftime('%d/%-m'), y=tickers_data['Volume'], color='#73a9d1')
plt.MaxNLocator(10)
plt.xticks(rotation = 90)
plt.ticklabel_format(style='plain', axis='y')
plt.ylabel('Volume')
plt.title(tickers)

axes2=plt.twinx()
axes2.plot(tickers_data.index.strftime('%d/%-m'), tickers_data['Adj Close'], color='b', linewidth=0.5)
axes2.set_ylabel('Price')

output: 在此處輸入圖像描述

另一個 plot:

plt.figure(figsize=(12,6))

ax = sns.barplot(x=returns.index.strftime('%d/%-m'), y=returns['Adj Close'], color='#73a9d1')

plt.xticks(rotation = 90)
ax.xaxis.set_major_locator(tic.MaxNLocator(nbins=60))
plt.title('returns')

導入matplotlib.ticker並在axes2中使用

from pandas_datareader import data
import datetime

tickers = 'MP'

dateToday = datetime.datetime.today().strftime("%Y-%m-%d")

# Only get the adjusted close.
tickers_data = data.DataReader(tickers,
                       start='', 
                       end=dateToday, 
                       data_source='yahoo')[["Adj Close", "Volume"]][-250:]

import matplotlib.ticker as tic # Imported Ticker
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
# sns.set_style("darkgrid")

plt.figure(figsize=(12,6))

sns.barplot(x=tickers_data.index.strftime('%d/%-m'), y=tickers_data['Volume'], color='#73a9d1')
plt.xticks(rotation = 90)
plt.ticklabel_format(style='plain', axis='y')
plt.ylabel('Volume')
plt.title(tickers)

axes2=plt.twinx()
axes2.plot(tickers_data.index.strftime('%d/%-m'), tickers_data['Adj Close'], color='b', linewidth=0.5)
axes2.xaxis.set_major_locator(tic.MaxNLocator(nbins=10)) #Added Here
axes2.set_ylabel('Price')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM