【问题标题】:Matplotlib - Subplot not showingMatplotlib - 子图未显示
【发布时间】:2018-05-07 01:40:53
【问题描述】:

我想把一个正常的情节变成一个子情节。这是情节的代码,有效:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.figure import Figure


d = {'A': [1, 2, 3, 4, 5, 6], 'B': [-2.5, -1.00, .25, 1.56, .75, 1.20]}
df = pd.DataFrame(data=d)

x = np.arange(0, 999, 0.1)

y1 = -.75
y2 = .75

plt.fill_between(x, y1, y2, color='lawngreen', alpha='.6')


plt.scatter(df.A, df.B)
plt.plot(df.A, df.B)
plt.axhline(y=0, color='black')
plt.xticks(np.arange(0, 999))
plt.ylim([-4, 4])
plt.xlim([0, df.A.max() + 1])

plt.show()

然后,这就是我试图将其变成子情节的内容。控制台不会抛出任何错误,只是没有显示任何情节。

fig = Figure()
ax = fig.add_subplot(111)

x = np.arange(0, 999, 0.1)

y1 = -.75
y2 = .75
ax.fill_between(x, y1, y2, color='lawngreen', alpha='.6')

ax.scatter(df.A, df.B)
ax.plot(df.A, df.B)

ax.axhline(y=0, color='black')
ax.set_xticks(np.arange(0, 999))
ax.set_ylim([-4, 4])
ax.set_xlim([0, df.A.max() + 1])
plt.show()

我做错了什么?

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    使用fig = plt.figure() 而不是fig = Figure()

    您的代码将是:

    fig = plt.figure()
    ax = fig.add_subplot(111)
    
    x = np.arange(0, 999, 0.1)
    
    y1 = -.75
    y2 = .75
    ax.fill_between(x, y1, y2, color='lawngreen', alpha='.6')
    
    ax.scatter(df.A, df.B)
    ax.plot(df.A, df.B)
    
    ax.axhline(y=0, color='black')
    ax.set_xticks(np.arange(0, 999))
    ax.set_ylim([-4, 4])
    ax.set_xlim([0, df.A.max() + 1])
    plt.show()
    

    输出:

    【讨论】:

      猜你喜欢
      • 2017-11-14
      • 2020-11-24
      • 1970-01-01
      • 2016-08-29
      • 2020-06-13
      • 2023-01-18
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多