![](/img/trans.png)
[英]Plotting a horizontal line on multiple subplots in python using pyplot
[英]Plotting Horizontal Line Using Subplots Matplotlib
我看了下面的線程,它有所幫助,但是我想知道是否有人嘗試過稍微不同的方式。
下面是數據的外觀,因此您可以進行測試(如有必要)= ctr_df
數據片段可以在下面找到:
Date LAL_3% Core Page_1 Homepage
4/06/2017 0.288142 0.947993 1.174094 0.26622
11/06/2017 0.270052 0.919648 0.615855 0.206031
18/06/2017 0.260225 0.941274 0.550324 0.230775
25/06/2017 0.345208 0.867322 0.373997 0.205385
2/07/2017 0.318578 1.687208 0.420367 0.235314
9/07/2017 0.45653 1.227451 0.71128 0.455536
16/07/2017 0.543492 1.086996 0.415289 0.44763
23/07/2017 0.503581 1.010364 0.642291 0.317182
30/07/2017 0.373479 0.918334 0.580428 0.282783
我的代碼如下:
ctr_df.plot(kind='bar', sharey=False, sharex=True, subplots=True,
legend=True, width=0.8, layout=(2,2), fontsize=12, grid=True, figsize=(20,12), colormap='Dark2')
plt.axhline(0.3, color='k', linestyle='--')
plt.tight_layout()
plt.show()
這恰好返回了我想要的內容(按觀眾,每周分別細分),但是,axhline僅出現在最后一個情節中,而不是全部出現。
可以使用我的方法來完成嗎? 我找不到任何可以建議的東西。 如果使用這種方法不可能做到這一點,那可以,我可以使用上述線程來幫助修改我的代碼。
謝謝
您使用的是熊貓繪圖功能,其構造是為了方便起見,而不是完整的matplotlib支持。 Afaik,無法在所有子圖中直接構建水平線。 回到matplotlib:
from matplotlib import pyplot as plt
import pandas as pd
ctr_df = pd.read_csv("test.csv", delim_whitespace = True,index_col = "Date")
#plot and retrieve axes
axes = ctr_df.plot(kind='bar', sharey=False, sharex=True, subplots=True,
legend=True, width=0.8, layout=(3,2), fontsize=12, grid=True, figsize=(20,12), colormap='Dark2')
#plot horizontal line in each subplot
for ax in axes.flatten():
ax.axhline(0.3, color='k', linestyle='--')
plt.tight_layout()
plt.show()
輸出:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.