![](/img/trans.png)
[英]How do I get the locations of the x-ticks on a bar plot created in pandas?
[英]How do I change the density of x-ticks of a pandas time series plot?
我試圖生成一個可視化的熊貓時間序列的較小圖形。 但是,自動生成的X刻度不會適應新的大小,並導致刻度重疊。 我想知道如何調整X線的頻率? 例如這個例子:
figsize(4, 2)
num = 3000
X = linspace(0, 100, num=num)
dense_ts = pd.DataFrame(sin(X) + 0.1 * np.random.randn(num),
pd.date_range('2014-01-1', periods=num, freq='min'))
dense_ts.plot()
我得到的數字是:
我可以使用Matplotlib日期繪圖解決此問題,但這不是一個很好的解決方案-代碼要求我根據情況指定所有輸出格式。
figsize(4, 2)
from matplotlib import dates
fig, ax = plt.subplots()
ax.plot_date(dense_ts.index.to_pydatetime(), dense_ts, 'b-')
ax.xaxis.set_minor_locator(dates.HourLocator(byhour=range(24),
interval=12))
ax.xaxis.set_minor_formatter(dates.DateFormatter('%H:%m'))
ax.xaxis.set_major_locator(dates.WeekdayLocator())
ax.xaxis.set_major_formatter(dates.DateFormatter('\n\n%a\n%Y'))
plt.show()
我想知道是否有辦法使用熊貓plotting
模塊或通過設置一些axes
對象屬性來解決此問題? 我嘗試過使用ax.freq
對象,但是並沒有真正實現任何目的。
您可以傳遞一個要顯示在density_ts.plot()中的x軸值的列表
dense_ts.plot(xticks=['10:01','22:01'...])
為了清楚起見的另一個例子
df = pd.DataFrame(np.random.randn(10,3))
不指定xticks的圖
df.plot(legend=False)
用xticks參數繪制
df.plot(xticks=[2,4,6,8],legend=False)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.