Matplotlib
import matplotlib.pyplot as plt
若无法显示图画记得要放在一起写不要分开写
######添加数值
for a,b in zip(ls1,ls2):
plt.text(a, b,’%.0f’%b, ha = ‘center’,va = ‘bottom’,fontsize=10)
#####创建画布
方法1:创建简单画布
figure_1 = plt.figure()
方法2:创建复杂画布
figure_1 = plt.figure(1,(8,4),dpi=140,facecolor=’red’,edgecolor=’yellow’,frameon=True)
注释: 1代表画布编号,8,4表示宽高比,dpi表示像素,facecolor表示底色,edgecolor表示边角色frameon=Teue表示是绘制边框
#####创建画框
①分割画布创建画框
aapic_1 = figure_1.add_subplot(2,2,1) #表示分成2行2列,其中的编号1的画框,编号顺序从左到右从上到下
aapic_1 = figure_1.add_subplot(2,2,2)
aapic_1 = figure_1.add_subplot(2,2,3)
aapic_1 = figure_1.add_subplot(2,2,4)
plt.show()
画线状图
创建一个画布
figure_2 = plt.figure(1,(6,4),dpi=140,frameon=True)
创建一个画框
axes1 = figure_2.add_subplot(1,1,1)
形成线图
axes1.plot(np.arange(0,10),np.random.normal(3,1.6,10,’b -‘)
b表示线颜色为蓝色, 表示点为 ,-表示线为实线
画直方图
fgs = np.random.randn(1000)
创建一个画布
figure_2 = plt.figure(1,(6,4),dpi=140,frameon=True)
创建一个画框
axes1 = figure_2.add_subplot(1,1,1)
创建直方图
axes1.hist(fgs,bins=20) #bins表示分成多少组
散点图
x = np.linspace(-3,3,100)
一步创建画框画布
sfg,axes = plt.subplots(1,1,dpi=140,figsize(6,4))
绘制散点图
axes1.scatter(x,np.cos(x),c=’b’,marker=’ ‘) #x表示x轴,np.cos(x)表示纵轴,c=’b’表示颜色为蓝色,,marker=’ ‘表示外形为 .
饼图
Asx,sd=plt.subplots(1,1) #一行一列遵循数组编号
sd.pie(np.arange(4,9),explode=[0.2,0.1,0.3,0.4,0.3],labels=[‘1’,’2’,’3’,’4,’5’],colors=[‘m’,’r’,’g’,’c’,’b’],autopct=’%.2f%%’,pctdistance=1,shadow=True,labeldistance=1.6,startangle=30,radius=1,frame=True,rotatelabels=True)
np.arange(4,9)用来分块分成5块,explode表示爆炸系数,labels表示标签名,colors表示各个标签对应图的颜色,shadow表示阴影,radius圆半径,autopct指定数值的显示方式,labeldistance每一项的名称label和距离圆心的半径,pctdistance每一项的比例autopct和距离圆心的半径,frame表的轴框架,rotatelabels旋转每个label到指定的角度,startanglex轴逆时针旋转饼图的开始角度.
如果不涉及子图的话,无需先设置画布。可直接画出图形:
plt.plot(np.random.randn(30).cumsum(),’g –’)
等价于Plt.plot(np.random.randn(30).cumsum(),color=’g’,linestyle=’dashed’,marker=’ ’)
plt.plot(data_uique,’r-‘,drawstyle=’steps-post’,label=’line’)====label=’line’标识线型
plt.legend(loc=’best’) 线标签的位置放在最好的地方 plt.legend也可以
刻度和标签
Xlim(X值范围)、xticks(X轴刻度值)和xticklabels(X轴刻度标签)
ticks_1=ax.set_xticks([0,25000,50000,75000,100000])” 分组的组距
scale_name=ax.set_xticklabels([‘step1’,’step2’,’step3’,’step4’,’step5’],rotation=45,fontsize=12) 分组对应的标签名
ax.set_title(‘Python-03 Practice’) 设置画框标题 ,使用画布加标题不需要set
ax.set_xlabel(‘Steps’) 设置x轴标签
ax.set_ylabel(‘Values’) 设置y轴标签
subpic.text(90,35,’key point one’,fontsize=10) 位置定坐标位置添加注解
keymenge=[(67,57,’key point two’),(23,66,’key point two’)] 添加多个注解可以通过循环列表实现
subpic.annotate(‘beautyful point’,xy=(5,23),xytext=(5,23)) 宁一种加注解方式
plt.savefig(‘Desktop python_01.png’,dpi=400,bbox_inches=’tight’) 保存图片
线型和marker表格:
‘-‘ 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
Pandas作图
线性图
1 | import pandas as pd |
Series.plot 方法的常用参数汇总:
| label | 用于设置图例的标签 |
| ——— | ———————————————————— |
| ax | 确定要被绘制的matplotlib subplot对象。如果没有设置,则使用当前matplotlib subplot |
| style | 设置传给matplotlib的风格字符串(’g*–’) |
| alpha | 图表的填充不透明度(数值为0到1之间的数) |
| kind | 各种图形样式line, bar, barh, kde, density, scatter |
| logy | 在Y轴上使用对数标尺 |
| use_index | 将对象(Series and DataFrame)的索引用作刻度标签 |
| rot | 旋转度数(0到360) |
| xticks | 用作X轴刻度的值 |
| yticks | 用作y轴刻度的值 |
| xlim | x的值域 |
| ylim | y的值域 |
| grid | 设置是否显示轴网格线 |1
2
3
4
5
6import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
Frame_01=pd.DataFrame([[2,4,8,16,32,64],[3,6,12,24,48,96],[5,10,15,20,25,30],[1,3,5,7,9,11],[16,8,4,2,1,0.5]],index=range(0,100,20),columns=['A','B','C','D','E','F'])
pic_2,subplot_object=plt.subplots(1,1)
Frame_01.plot(kind='line',ax=subplot_object,subplots=False,layout=False,logx=True,xlim=[0,100])
DataFrame的plot的参数
| Subplots | 将依据数据框中的每个列绘制的图分别放置到单个的subplot(子画框)里 |
| ———— | ———————————————————— |
| sharex | Subplots=true时,设定是否共享X的刻度和值域 |
| sharey | Subplots=true时,设定是否共享y的刻度和值域 |
| figsize | 元组,用来表示图像大小(宽,高) |
| title | 设置图像标题 |
| Legend | 设定是否添加一个subplot图例 |
| sort_columns | 设定是否以字母表中字母先后排列顺序绘制各列。 |
柱状图
1 | Series生成柱状图 |
1 | 数据框生成柱状图 |
绘制立体图
1 | 参数: |
曲面图
1 | 例子:非参数化坐标轴下曲面图 |
1 | 例子:参数化坐标轴下的三维球 |
曲线图
1 | 例子:我的葫芦 |
边框图
1 | 线框图 |
#####等高线图
1 | *X*, *Y*, *Z* 数组型数据 |