pandas、matplotlib常用命令(收集整理)
阅读原文时间:2023年07月09日阅读:1

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日更新)

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器