代码之家  ›  专栏  ›  技术社区  ›  Daniel Hill

奇怪,这不是我画的图

  •  1
  • Daniel Hill  · 技术社区  · 14 年前

    demo ,我修改了它以满足我的需要,让它工作,改变了它使用一个函数来绘制两个图形,但现在它根本不工作使用 plt.show() plt.savefig()

    import csv
    import numpy as np
    
    import matplotlib
    matplotlib.use('Agg')
    
    import matplotlib.pyplot as plt
    import matplotlib.mlab as mlab
    
    # I converted excel to a csv file
    data = [x for x in csv.reader(open('ASS1_Q1.csv'))]
    
    question1 = {}
    question1['males'] = []
    question1['females'] = []
    for x in data:
        if x[0].lower() == "male":
            question1["males"].append(float(x[1]))
        elif x[0].lower() == "female":
            question1['females'].append(float(x[1]))
        else:
            print "Not a valid dataline", x
    
    def plot_graph(data, filename):
    
        fig = plt.figure()
        ax = fig.add_subplot(111)
    
        n, bins, patches = ax.hist(np.array(data), bins=13, align='mid', facecolor='#888888')
    
        ax.set_xlabel('Speed in kph')
        ax.set_ylabel('Amount of Females')
    
        ax.set_xlim(min(data, max(data)))
    
        # plt.savefig(filename)
        plt.show()           
    
    plot_graph(question1['males'], "ASS1Q1-males.eps")
    #plot_graph(question1['females'], "ASSQ2-females.eps")
    print summary(question1['males'])
    print summary(question1['females'])
    

    1 回复  |  直到 14 年前
        1
  •  1
  •   unutbu    14 年前

    尝试删除

    import matplotlib
    matplotlib.use('Agg')
    

    命令

    python -c 'import matplotlib; matplotlib.use("")'
    

    将显示可发送到的有效字符串参数 matplotlib.use

    当你找到一个你喜欢的,你也可能会发现它更方便设置像这样的东西

    backend      : GtkAgg
    

    在~/.matplotlib/matplotlibrc中,而不是使用 matplotlib.use(...) .