数据可视化库一--matplotlib

1、

import matplotlib.pyplot as plt

Function Description
plt.figure(figsize,dpi,facecolor,edgecolor,frameon)

Create a new figure:

figsize(宽度,高度,单位:英寸),默认rcParams[figure.figsize]:[6.4,4.8];确保图片有一个确定的大小以及存储到硬盘时的长宽比

dpi:图的分辨率,整数,默认rcParams[figure.dpi]: 100;

facecolor:背景颜色,默认rcParams[figure.facecolor]:'w';

edgecolor:边框颜色,默认rcParams[figure.facecolor]:'w';

frameon:bool,默认True,若False则禁止绘制图形框;

return:Figure

plt.subplot()

在当前图形上添加子图:

plt.subplots(nrows,ncols,sharex,sharey,subplot_kw)

创建一个图和一组子图:

nrows:子图的行数;ncols:子图的列数;

sharex:所有子图使用相同的x轴刻度,调整xlim会影响所有子图;

sharey:所有子图使用相同的y轴刻度,调整ylim会影响所有子图;

subplot_kw:传入add_subplot的关键字参数字典,用于生成子图;

plt.subplots_adjust(left=Nonebottom=Noneright=None,top=None

wspace=Nonehspace=None)

调整子图布局:

wspace和hspace分别控制图片的宽度和高度百分比,用作子图间的间距;

plt.xlabel(xlabel)、plt.ylabel(ylabel)

设置x轴、y轴标签:

xlabel:str,标签文本;

ylabel:str,标签文本;

plt.xticks(ticks,labels,rotation)

获取或设置当前x轴的当前刻度位置和标签:

ticks:刻度,xtick位置列表;

labels:标签,放置在给定刻度线位置的标签;

rotation:刻度旋转的角度;

return:x刻度位置列表、xlabel Text对象列表;

plt.yticks(ticks,labels)

获取或设置当前y轴的当前刻度位置和标签:

ticks:刻度,ytick位置列表;

labels:标签,放置在给定刻度线位置的标签;

return:y刻度位置列表、ylabel Text对象列表;

plt.xlim()、plt.ylim()

获取或设置当前轴的x极限、y极限:

return:新x轴极限的元组

plt.xscale(value)

设置x轴比例:

value:{“ linear”,“ log”,“ symlog”,“ logit”,...}要应用的轴比例类型;

plt.title(label,loc)

设置标题:

label:标题文本;loc:{'center', 'left', 'right'},默认center

plt.text() 向轴添加文本:
plt.annotate() 用文本text注释点xy:
plt.arrow() 向轴添加箭头:
plt.figtext() 在图上添加文本:
plt.imsave() 将数组另存为图像文件:
plt.draw() 重画当前图形:
plt.legend(loc)

绘制图例:

loc:best、upper right、upper left、lower left、lower right、right、center left、center right、lower center、upper center、center;

plt.vlines() 绘制垂直线
   
plt.rc() 设置当前的rc参数:
plt.savefig() 保存当前图形:
plt.grid() 绘制网格线:
plt.show()

显示所有图形:

plt.close() 关闭图形窗口:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2、绘图

Function Description
plt.plot() 绘制折线图:
plt.scatter() 绘制散点图:
plt.pie() 绘制饼图:
plt.hist(x,bins,)

绘制直方图:

 

plt.bar(x,height,width=0.8,bottom,aligh='center')

绘制条形图:

x:条形的x座标;

width:条的宽度,默认0.8;height:条高;

left:条形图底的y座标;

aligh:{'center','edge'},默认:'center',基准与x座标对齐;

plt.barh(y,width,height=0.8,left,aligh='center')

绘制水平条形图:

y:条形的y座标;

width:条的宽度;height:条高;

left:条形图左侧的x座标;

aligh:{'center','edge'},默认:'center',基准与y座标对齐;

plt.box()  
plt.boxplot(x,) 绘制盒图:
plt.violinplot() 绘制小提琴图:
   
   
   
   
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3、绘图实例:

(1)简单图形

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

unrate=pd.read_csv("UNRATE.csv")
unrate["MONTH"]=unrate["DATE"].dt.month
fig=plt.figure(figsize=(8,5),dpi=80)

colors=["red","cyan","yellow","blue","black"]
for i in range(len(colors)):   
    plt.plot(unrate[12*i:12*(i+1)]["MONTH"],unrate[12*i:12*(i+1)]["VALUE"],c=colors[i],label=str(1948+i))
    
plt.legend(loc="best")
plt.xlabel('Month, Integer')
plt.ylabel('Unemployment Rate, Percent')
plt.title('Monthly Unemployment Trends, 1948-1952')
plt.savefig("month-rate.png")
plt.show()

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

unrate=pd.read_csv("UNRATE.csv")
unrate["MONTH"]=unrate["DATE"].dt.month
fig=plt.figure(figsize=(8,5),dpi=80)

colors=["red","cyan","yellow","blue","black"]
for i in range(len(colors)):   
    plt.plot(unrate[12*i:12*(i+1)]["MONTH"],unrate[12*i:12*(i+1)]["VALUE"],c=colors[i],label=str(1948+i))
    
plt.legend(loc="best")
plt.xlabel('Month, Integer')
plt.ylabel('Unemployment Rate, Percent')
plt.title('Monthly Unemployment Trends, 1948-1952')
plt.savefig("month-rate.png")
plt.show()
import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0.0,2.0,0.01)
s = 1+np.sin(2*np.pi*t)

fig,ax = plt.subplots()
ax.plot(t,s)
ax.set(xlabel='time (s)', ylabel='voltage (mV)',
       title='About as simple as it gets, folks')
ax.grid()
fig.savefig("test.png")
plt.show()

(2)子图

import matplotlib.pyplot as plt

fig = plt.figure()
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax4 = fig.add_subplot(2,2,4)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章