精华内容
下载资源
问答
  • matplotlib画多条曲线

    千次阅读 2017-08-23 09:52:01
    plot(self, *args, **kwargs) def plot(self,ax,ay,colour): ”’#最常用的绘图命令plot, ”’self.axes.grid()self.axes.plot(ax,ay,colour) ...plot(x1, y1, x2, y2, antialised=False) ##画多条曲线 plot
    1. plot(self, *args, **kwargs)
      def plot(self,ax,ay,colour):
      ‘’’#最常用的绘图命令plot, ‘’’

      self.axes.grid()

       self.axes.plot(ax,ay,colour)
       self.UpdatePlot()
      

    plot(x1, y1, x2, y2, antialised=False) ##画多条曲线
    plot(x, y, color=‘green’, linestyle=‘dashed’, marker=‘o’, markerfacecolor=‘blue’, markersize=12).

    展开全文
  • import matplotlib.pyplot as plt import pandas as pd from matplotlib.pyplot import MultipleLocator plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=...
    1. 调用Python包
    import matplotlib.pyplot as plt
    import pandas as pd
    from matplotlib.pyplot import MultipleLocator
    plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
    plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
    
    1. 造数-DataFrame
    df = pd.DataFrame([['2010','aa',200,20],['2011','aa',210,30],['2012','aa',230,70],['2013','aa',260,20],['2014','aa',270,80],['2015','aa',200,20],
                       ['2010','bb',250,25],['2011','bb',280,65],['2012','bb',290,35],['2013','bb',650,85],['2014','bb',350,95],['2015','bb',250,55],
                       ['2010','cc',300,30],['2011','cc',380,33],['2012','cc',340,70],['2013','cc',380,80],['2014','cc',390,90],['2015','cc',300,30],
                       ['2010','dd',400,40],['2011','dd',430,50],['2012','dd',420,80],['2013','dd',470,50],['2014','dd',420,70],['2015','dd',490,40],
                       ['2010','ee',550,55],['2011','ee',560,85],['2012','ee',590,55],['2013','ee',590,65],['2014','ee',550,85],['2015','ee',570,55],
                       ['2010','ff',600,60],['2011','ff',670,40],['2012','ff',660,70],['2013','ff',630,90],['2014','ff',680,80],['2015','ff',620,60]
                      ],columns=['报表日期','股票名称','市值','FCFF'])
    df['报表日期']=df['报表日期'].apply(int)
    print(df)
    

    在这里插入图片描述

    1. 不同指标全部画在一张图上
    fig, ax = plt.subplots()
    h,l = ax.get_legend_handles_labels()
    for i in df['股票名称'].unique():
        df[df['股票名称']==i].groupby('股票名称').plot('报表日期','市值',ax=ax,figsize=(16, 10),label='%s_市值'%i)
        df[df['股票名称']==i].groupby('股票名称').plot('报表日期','FCFF',ax=ax,figsize=(16, 10),label='%s_FCFF'%i,linestyle='-.')
    #     sub_data[sub_data['股票名称']==i].groupby('股票名称').plot('报表日期','DebtRatioWithoutR&D',ax=ax,figsize=(16, 10),label='%s_D/E'%i,linestyle='-')
        
    
    x_major_locator=MultipleLocator(1.0)
    y_major_locator=MultipleLocator(50)
    ax=plt.gca()
    ax.xaxis.set_major_locator(x_major_locator)
    ax.yaxis.set_major_locator(y_major_locator)
    plt.legend(fontsize=12)
    plt.axis([2010, 2015, 10, 700])
    plt.show()
    

    效果如下:
    在这里插入图片描述
    PS:如果图例挡住折线了,调整一下图片尺寸或横纵坐标的范围即可。

    1. 或者按股票名称分别画对应指标
    for i in df['股票名称'].unique():
        x_major_locator=MultipleLocator(1.0)
        y_major_locator=MultipleLocator(50)
        ax=plt.gca()
        ax.xaxis.set_major_locator(x_major_locator)
        ax.yaxis.set_major_locator(y_major_locator)
    #     plt.legend(fontsize=12)
        plt.axis([2010, 2015, 10, 700])
        df[df['股票名称']==i].groupby('股票名称').plot('报表日期',['市值','FCFF'],figsize=(6, 4),label=['%s_市值'%i,'%s_FCFF'%i])
    

    效果如下(按股票名称画出多张图):
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    转载请附出处,谢谢。

    展开全文
  • 使用matplotlib在一张图上画多条曲线

    万次阅读 2020-03-21 21:59:50
    做数据分析,还有机器学习的收敛性,准确性分析时,往往需要将一些数据图形化,以曲线的形式显示出来,下面就介绍两种方式来实现这个小问题,一种是object-oriented面向对象的,另一种是基于plt的。 下面这个方式是...

    做数据分析,还有机器学习的收敛性,准确性分析时,往往需要将一些数据图形化,以曲线的形式显示出来,下面就介绍两种方式来实现这个小问题,一种是object-oriented面向对象的,另一种是基于plt的。

    下面这个方式是面向对象的方式:

    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.linspace(0,2,100)
    fig,ax = plt.subplots()
    ax.plot(x,x,label='linear')
    ax.plot(x,x**2,label='quadratic')
    ax.plot(x,x**3,label='cubic')
    ax.set_xlabel('x label')
    ax.set_ylabel('y label')
    ax.set_title('simple plot')
    ax.legend()
    plt.show()
    
    将图形中的每个元素进行定义,然后组建成一个整体图像,是基于对象的。

    上面的代码产生的图形如下图所示:

     

     

    另一种是完全给予plt的代码,如下所示:

    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.linspace(0,2,100)
    
    plt.plot(x,x,label='linear')
    plt.plot(x,x**2,label='quadratic')
    plt.plot(x,x**3,label='cubic')
    plt.xlabel('x label')
    plt.xlabel('y label')
    plt.title('simple plot')
    plt.legend()
    plt.show()
    

    两种方式产生的图是一样的。

    那么为什么要将上述两种代码分为面向对象和基于plt的呢,是由于matplotlib做出的图的每一个部分都可以看做一个独立的对象,比如坐标轴,坐标轴的刻度,坐标轴的名称,这个图的标题等等,下面的这个图可以很好的说明这个问题,因为已经将每一个部分分别标出来了。

    展开全文
  • matplotlib.pyplot

    问题:多个plot画不到一张图上
    解决方法
    多个plot用一个plt.show()即可。
    一次plt.show()就会有一次输出。

    # 如何让函数画在同一张画布上?
    for i in range(1,15,3):
        train_score = []
        test_score = []
        for j in range(1,15,1):
            # 一步步找到各个参数的最优值
            DTree_classifier = DecisionTreeClassifier(max_depth=i,min_samples_leaf=j)
            # 训练数据
            DTree_classifier.fit(X_train, y_train)
            # 计算预测准确率
            train_s = accuracy_score(DTree_classifier.predict(X_train),y_train)
            train_score.append(train_s)
            test_s = accuracy_score(DTree_classifier.predict(X_test),y_test)
            test_score.append(test_s)
        
        plt.plot(train_score,label='Train_max_depth=%d'% i) 
        plt.plot(test_score,label='Test_max_depth=%d'% i) 
        plt.xlabel('min_samples_leaf')
        plt.ylabel('准确率')
        plt.legend()
        plt.grid()
    

    结果:
    在这里插入图片描述
    如何将函数绘制在一张图上?

    将循环里的plt.show()注释掉

    plt.figure(figsize=(10,6))
    for i in range(1,15,3):
        train_score = []
        test_score = []
        for j in range(1,15,1):
            # 一步步找到各个参数的最优值,这样不科学
            DTree_classifier = DecisionTreeClassifier(max_depth=i,min_samples_leaf=j)
            # 训练数据
            DTree_classifier.fit(X_train, y_train)
            # 计算预测准确率
            train_s = accuracy_score(DTree_classifier.predict(X_train),y_train)
            train_score.append(train_s)
            test_s = accuracy_score(DTree_classifier.predict(X_test),y_test)
            test_score.append(test_s)
        
        plt.plot(train_score,label='Train_max_depth=%d'% i) 
        plt.plot(test_score,label='Test_max_depth=%d'% i) 
        plt.xlabel('min_samples_leaf')
        plt.ylabel('准确率')
        plt.legend()
        plt.grid()
    #     plt.show()
    

    结果:
    在这里插入图片描述
    ✌ Perfect~ ✌

    展开全文
  • matplotlib 绘制多个子图,多条曲线

    千次阅读 2020-02-12 17:53:46
    1、生成个视图(画板): 在matplotlib 中,一个figure即为一个画板,用plt.figure()创建一个新画板,如果只有一个画板的话这句可以省略。 #创建第一个视图(画板) plt.figure(1) #第一个画板的内容 #… #创建第...
  • Matplotlib在python中绘制多曲线线图

    千次阅读 2020-11-26 00:20:09
    要使曲线平滑:import matplotlib.pyplot as pltimport numpy as npfrom scipy.interpolate import make_interp_spline, BSplinedef create_spline_from(x, y, resolution):new_x = np.linspace(x[0], x[-1], ...
  • 主要为大家详细介绍了python使用matplotlib模块绘制多条折线图、散点图的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 函数只被其名称引用。就Python而言,使用不同的输入参数集并不能使它...在解决此问题的最简单方法是为函数指定不同的名称:import sympy as syimport numpy as npimport matplotlib.pyplot as pltx, z, w, a0, a1, ...
  • matplotlib.pyplot绘制图像之同一图中多条曲线对比

    万次阅读 多人点赞 2018-11-07 16:41:45
    绘制sinx和cosx # -*- coding:utf-8 -*- ...import matplotlib.pyplot as plt x = np.linspace(0, 2 * (np.pi)) #numpy.linspace(开始,终值(含终值)),个数) y1 = np.sin(x) y2 = np.cos(x) #画图 plt.title('C...
  • matplotlib画图时,常常需要实现两类功能,一类是在一个坐标轴上画多条曲线,能够清楚地看到多条曲线的对比情况。另一种情况是在同一个窗口的不同子图上画图,多用于呈现不同内容的曲线,没有对比关系的曲线图。...
  • import matplotlib.pyplot as plt import numpy as np POINTS = 10 x_list = [0] * POINTS sin_list = [0] * POINTS cos_list = [0] * POINTS indx = 0 while True: y = [] indx += 1 # 更新绘图数据 x_list =...
  • matplotlib 实时绘制多条曲线
  • [work] matplotlib 画多曲线的折线图

    千次阅读 2018-12-24 07:11:44
    这里我利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图: # -*- coding: UTF-8 -*- import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt #这里导入...
  • 1、在一张图上画多条曲线 import matplotlib.pyplot as plt import numpy as np x = np.linspace(-3,3,50) #设置横轴的取值点 y1 = 2 * x + 1 #曲线1 y2 = x**2 #曲线2 plt.figure(num=3,figsize=(8,5)) plt....
  • #开始绘图fig,ax1=plt.subplots()fig.set_size_inches(12,6)plt.set_cmap('RdBu')#multiplelineplotx=np.arange(featureValuedf.shape[1])#x坐标的范围lw=4#控制线条的粗细a,=ax1.plot(x,featureValuedf.loc['Bac...
  • Matplotlib——在一张图内绘制多条曲线

    千次阅读 多人点赞 2020-07-24 16:25:38
    Matplotlib.pyplot import matplotlib.pyplot as plt 2.绘制一张空白图 fig, ax = plt.subplots() plt.subplots()的作用是创建一个图或者一组子图返回值是Figure,axes.Axes。此处代码中 fig = Figure ax = axes....
  • matplotlib画PR曲线

    千次阅读 2019-01-03 23:35:57
    首先,头文件加入: ...然后以VOC为例,PR曲线: def _do_python_eval(self, output_dir='output'): #rootpath = os.path.join(self.root, 'VOC' + self._year) rootpath = '/data/Datasets/l...
  •  这里我利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图: 1.代码 # -*- coding: UTF-8 -*- import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt #...
  • 使用matplotlib绘制折线图 ... x轴数据,y轴数据,format_string控制曲线的格式字串,format_string由颜色字符,风格字符,和标记字符 。  导入库 import matplotlib.pyplot as plt 数据部分 allX=[1, 2, 3,...
  • 参考链接:if __name__ == '__main__':from sklearn import metricsimport numpy as npimport matplotlib.pyplot as pltplt.figure(0).clf() # plt.close()将完全关闭图形窗口,其中plt.clf()将清除图形-您仍然可以...
  • 如果你需要同一条曲线根据不同部位选择不同的颜色来显示,那么就需要看一下这个例子。如下图: 这个图里,每条曲线根据曲线的导数来选择不同的颜色显示,相同导数,也就是说明相同的曲率部分就会是一样的颜色。 ...
  • 我有两条曲线的x和y值列表,它们都有奇怪的形状,而且我没有任何函数。我需要做两件事:(1)绘制它并对曲线之间的区域进行着色,如下图所示;(2)找到曲线之间该着色区域的总面积。在matplotlib中,我可以用fill-...
  • python matplotlib绘制多条折线图

    万次阅读 多人点赞 2020-08-02 22:13:10
    python matplotlib绘制多条折线图 代码 import matplotlib.pyplot as plt x = [6, 24, 48, 72] y1 = [87, 174, 225, 254] y2 = [24, 97, 202, 225] y3 = [110, 138, 177, 205] y4 = [95, 68, 83, 105] y5 = [72, 74...
  • 1、准备工作(过滤警告、显示中文、引入pyplot模块);2、绘制单个曲线图(plot函数、添加注释);3、绘制曲线图(增加subplot函数)。
  • 时候需要在程序运行过程中,查看一些数据的动态变化,最容易想到的是像opencv那样直接循环使用imshow()形成动态画面,但是由于matplotlib中的显示模式是阻塞模式,在plt.show()之后程序就会暂停在那,打开一个...
  • matplotlib 画图,实现曲线颜色控制 由于需要设置曲线的颜色和控制按钮的颜色一致。完成之后,自己学习记录如下 准备1 在Qtdesigner 中设置QSS 选择需要编辑的按键,右键-> 编辑样式表,如下所示。选择添加...
  • 直接上python代码: ...import matplotlib.pyplot as plt names = ['GFK', 'SA', 'DA-NBNN', 'DLID', 'DaNN', 'Ours'] x = range(len(names)) y_1 = [0.464, 0.45, 0.528, 0.519, 0.536, 0.841] y...
  • 如下所示: # -*- coding: utf-8 -*- ...from matplotlib.ticker import MultipleLocator, FormatStrFormatter y0 = [] y1 = [] y2 = [] y3 = [] y4 = [] f = open(y0.txt) lines = f.readlines() for li in line
  • 不过稍为复杂一点的作图,都会需要多条曲线,比如水的沸腾就是在气压和温度的作用下,才能决定它的沸点。人的体重是否超重,也是在重量和身高的相互关系之下才能决定是否健康。因此,往往需要多条曲线在同一个坐标里...
  • 对类似问题有一些先前的答案(例如https://stackoverflow.com/a/22081678/325565),但他们建议采用次优方法.大多数先前的答案建议在pcolormesh填充上绘制白色多边形....这是一个更的工作,但有一种方法可以更快地...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,547
精华内容 4,218
关键字:

matplotlib画多条曲线