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"获取到所有的值:\n{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日更新)

posted @ 2020-07-15 15:53  Geek_Arking  阅读(267)  评论(0编辑  收藏  举报