python运行matplotlib运行失败 请问谁知道错在哪了

img


请问我这个代码是错在哪 怎么改都显示错误的 我是自学python的 有人能指导一下吗

从 p=PloatCanvas()这一行开始

把前面的空格(或者说Tab)删了,不然这些语句就是class这个块的语句了。

Python通过缩进对齐区分不同的块

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/769614
  • 这篇博客也不错, 你可以看下python之matplotlib模块绘制常见的激活函数及各激活函数的优缺点
  • 除此之外, 这篇博客: Python利用Matplotlib画图并保存的过程中出现空白现象解释以及相应解决方案。中的 解决方案 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 将保存savefig放在展示show前面:
    plt.savefig("examples.jpg")
    plt.show()
    
    • 画图的时候获取当前图像(这一点非常类似于 Matlab 的句柄的概念)
    import pandas as pd
    import matplotlib.pyplot as plt
    # Import Data
    df = pd.read_csv('https://github.com/selva86/datasets/raw/master/AirPassengers.csv')
    # Draw Plot
    plt.figure(figsize=(16,10), dpi= 80)
    plt.plot('date', 'value', data=df, color='tab:red')
    # Decoration
    plt.ylim(50, 750)
    xtick_location = df.index.tolist()[::12]
    xtick_labels = [x[-4:] for x in df.date.tolist()[::12]]
    plt.xticks(xtick_location, xtick_labels, rotation=0, fontsize=12, horizontalalignment='center', alpha=.7)
    plt.yticks(fontsize=12, alpha=.7)
    plt.title("Air Passengers Traffic (1949 - 1969)", fontsize=22)
    plt.grid(axis='both', alpha=.3)
    # Remove borders
    plt.gca().spines["top"].set_alpha(0.0)
    plt.gca().spines["bottom"].set_alpha(0.3)
    plt.gca().spines["right"].set_alpha(0.0)
    plt.gca().spines["left"].set_alpha(0.3)
    # plt.savefig("examples.jpg")
    fig = plt.gcf()
    plt.show()
    fig.savefig("examples.jpg")
    
  • 您还可以看一下 AI100讲师老师的Python零基础入门到实战课程中的 数据可视化matplotlib 06小节, 巩固相关知识点