繁体   English   中英

在所有子图中绘制水平线

[英]plot horizontal line in all subplots

我在python中工作并找到了几个解决方案来做到这一点。 但它需要创建每个单独的子图。 但是因为有一个参数你可以做subplot=True ,我想知道有没有办法在一行代码中做到这一点...你怎么说sharey=True ,你能让它“分享”一个水平常数?

我一直在玩它。 起初,它只显示在最后一个图表上,但现在它根本没有显示。

import matplotlib.pyplot as plt

line_up_points.plot(subplots=True, layout=(3, 3),sharey=True, figsize=(18, 12))
plt.legend(loc='best')
plt.axhline(y=125.08, color='r')

这是它显示的内容:

在此输入图像描述

但我想在y = 125.08的每个子图上都有一条水平线

任何想法没有单独创建7个不同的图形?

如果我没弄错的话你应该找回一个轴对象矩阵。

这应该做的伎俩:

axes = line_up_points.plot(subplots=True, layout=(3, 3),sharey=True, figsize=(18, 12))

for c in axes:
   for ax in c:
      ax.axhline(y=125.08, color='r')

这是一个完整的例子:

%matplotlib inline  # For Jupyter Notebooks
import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.rand(10, 7))

axes = df.plot(subplots=True, layout=(3, 3), figsize=(16,9))

for c in axes:
    for ax in c:
        ax.axhline(y=0.5, color='r')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM