zoukankan      html  css  js  c++  java
  • pandas、matplotlib常用命令(收集整理)

    1 import matplotlib.pyplot as plt
    2 import pandas as pd
    3 import matplotlib as mpl

    含有中文无法正常显示,需增加如下代码:

    1 mpl.rcParams['font.sans-serif'] = ['SimHei']
    2 plt.rcParams['axes.unicode_minus']=False

    读取excel电子表数据(read_excel):

    df=pd.read_excel('test.xls')    #默认读取文档中的第一个工作表

    获取列名和索引(columns 和  index):

    1 data1 = df.columns
    2 ls1 = df.columns.tolist()  #转换成列表
    3 print u"获取到所有的值:
    {0}".format(ls1)
    4 data2 = df.index
    5 ls2 = df.index.tolist()

    获取数据行名称(_stat_axis):

    ls3 = df.T._stat_axis.values.tolist()

    利用 matplotlib 画图:

    饼形图:

     1 plt.title(u'占比分析饼形图',fontsize=20)  #标题
     2 
     3 data = df.groupby(u'产业类型')[u'产业类型'].count()  
     4 label = data._stat_axis.values.tolist()  
     5 explode1 = (0, 0, 0,0,0,0,0.75,0)  
     6 plt.pie(data,explode=explode1,labels=label, autopct="%1.1f%%", shadow=True, startangle=90, radius=10,textprops = {'fontsize':10, 'color':'black'},labeldistance=1.05)
     7 
     8 plt.legend() #显示标签
     9 plt.axis("equal")  #饼形图为正圆
    10 plt.show()

    函数:matplotlib.pyplot.pie(x,explode=None,labels=None,colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False, rotatelabels=False, *, data=None)
    重要参数详情

    x :(每一块)的比例,如果sum(x) > 1会使用sum(x)归一化;
    labels :(每一块)饼图外侧显示的说明文字;
    colors :list, 设置为各部分染色列表,元素一一对应
    explode :(每一块)离开中心距离;
    startangle :起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起;
    shadow :在饼图下面画一个阴影。默认值:False,即不画阴影;
    labeldistance :label标记的绘制位置,相对于半径的比例,默认值为1.1, 如<1则绘制在饼图内侧;
    autopct :控制饼图内百分比设置,可以使用format字符串或者format function
    '%1.1f'指小数点前后位数(没有用空格补齐);
    pctdistance :类似于labeldistance,指定autopct的位置刻度,默认值为0.6;
    radius :控制饼图半径,默认值为1;
    counterclock :指定指针方向;布尔值,可选参数,默认为:True,即逆时针。将值改为False即可改为顺时针。
    wedgeprops :字典类型,可选参数,默认值:None。参数字典传递给wedge对象用来画一个饼图。例如:wedgeprops={'linewidth':3}设置wedge线宽为3。
    textprops :设置标签(labels)和比例文字的格式;字典类型,可选参数,默认值为:None。传递给text对象的字典参数。
    center :浮点类型的列表,可选参数,默认值:(0,0)。图标中心位置。
    frame :布尔类型,可选参数,默认值:False。如果是true,绘制带有表的轴框架。
    rotatelabels :布尔类型,可选参数,默认为:False。如果为True,旋转每个label到指定的角度。

    部分来源于:  matplotlib 知识点11:绘制饼图(pie 函数精讲)

    线图:

    转载来源:Matplotlib.pyplot 常用方法

     1 import numpy as np
     2 import matplotlib.pyplot as plt
     3 
     4 
     5 t = np.arange(0.0, 4.0, 0.1)
     6 s = np.sin(np.pi*t)
     7 plt.plot(t, s, 'g:v', label = 'sinx')
     8 
     9 plt.legend()                    # 显示右上角的那个label,即上面的label = 'sinx'
    10 plt.xlabel('time (s)')          # 设置x轴的label,pyplot模块提供了很直接的方法,内部也是调用的上面当然讲述的面向对象的方式来设置;
    11 plt.ylabel('voltage (mV)')      # 设置y轴的label;
    12 #plt.xlim(-1,3)                 # 可以自己设置x轴的坐标的范围哦;
    13 #plt.ylim(-1.5,1.5)
    14 plt.title('About as simple as it gets, folks')
    15 plt.grid(True)                  # 显示网格;
    16 plt.xticks(rotation=45)         #X轴文字旋转45°
    17 plt.show()

    其中

    plot()   基本用法:

      lot(x, y) # 画出横轴为x与纵轴为y的图,使用默认的线形与颜色;

      plot(x, y, 'bo') # 用蓝色,且点的标记用小圆,下面会解释哦

      plot(y) # 纵轴用y ,横轴用y的每个元素的坐标,即0,1,2……

      plot(y, 'r+') # 如果其中x或y 为2D的,则会用它的相应的每列来表示(注意是每列)

      plot(x1, y1, 'g^', x2, y2, 'g-') #可以使用多对的x, y, format 对当作变量的,把它们画一个图里;

      对于参数中,常用的format:线的颜色、线的形状、点的标记形状,我们用这三个的时候经常用缩写,它们之间的顺序怎么都可以,如它俩一个意思:’r+–’、’+–r’。如果我们不想缩写的话,可以分别写成如: color=’green’, linestyle=’dashed’, marker=’o’。


    • 线的形状:

      ‘-’ solid line style
      ‘–’ dashed line style
      ‘-.’ dash-dot line style
      ‘:’ dotted line style


    • 点的标记:

      ‘.’ point marker

      ‘,’ pixel marker

      ‘o’ circle marker

      ‘v’ triangle_down marker

      ‘^’ triangle_up marker

      ‘<’ triangle_left marker

      ‘>’ triangle_right marker

      ‘1’ tri_down marker

      ‘2’ tri_up marker

      ‘3’ tri_left marker

      ‘4’ tri_right marker

      ‘s’ square marker

      ‘p’ pentagon marker

      ‘*’ star marker

      ‘h’ hexagon1 marker

      ‘H’ hexagon2 marker

      ‘+’ plus marker

      ‘x’ x marker

      ‘D’ diamond marker

      ‘d’ thin_diamond marker

      ‘|’ vline marker

      ‘_’ hline marker


    • 线的颜色:

      ‘b’ blue
      ‘g’ green
      ‘r’ red
      ‘c’ cyan
      ‘m’ magenta
      ‘y’ yellow
      ‘k’ black
      ‘w’ white

     

                                                                             (2020年8月27日更新)

  • 相关阅读:
    leetcode-5-Longest Palindromic Substring
    leetcode-3-Longest Substring Without Repeating Characters
    leetcode-2-Add Two Numbers
    正则匹配-题型总结
    Kmp简单运用
    最长回文子串
    树-leetcode做题笔记
    java对象与类
    【LeetCode & 剑指offer刷题】查找与排序题13:Merge Intervals
    【LeetCode & 剑指offer刷题】查找与排序题12:Top K Frequent Elements
  • 原文地址:https://www.cnblogs.com/geek-arking/p/13305959.html
Copyright © 2011-2022 走看看