Matplotlib绘制图形

基本参数

设置标题 plt.title()

设置坐标轴标签 ply.xlabel() plt.ylabel()

设置坐标轴范围 plt.xlim() plt.ylim()

设置图例 plt.legend()

设置图像大小 plt.figure()

折线图

plot()

参数:

x x轴上的数值

y y轴上的数值

ls 线条风格

lw 线条宽度

c 颜色

label 标签文本

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.DataFrame(np.random.randn(5,4),columns=['a','b','c','d'])
x=df.index
y=df['a']
plt.plot(x,y,ls='-',lw=2,c='r',label='a')
plt.legend()
plt.show()

Matplotlib绘制图形_matplotlib

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False
df=pd.DataFrame(np.random.randn(5,4),columns=['a','b','c','d'])
x=df.index
y=df['a']
plt.plot(x,y,ls='-',lw=2,c='r')
y=df['b']
plt.plot(x,y,ls='-',lw=2,c='b')
y=df['c']
plt.plot(x,y,ls='-',lw=2,c='y')
y=df['d']
plt.plot(x,y,ls='-',lw=2,c='g')
plt.title('折线图')
# 设置图例
plt.legend(df.columns)
plt.show()

Matplotlib绘制图形_ico_02

柱状图

bar()

基本参数

x x轴上的数值

y y轴上的数值

color 颜色

label 标签文本

plt.rcParams['font.sans-serif'] = ['FangSong']  # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False
df=pd.DataFrame(np.random.rand(5,4),columns=['a','b','c','d'])
x=df.index
y=df['a']
plt.ylabel('x')
plt.xlabel('y')
plt.title('柱状图')
plt.bar(x,y,color='b')
plt.show()

Matplotlib绘制图形_柱状图_03

条形图(横柱状图)

barh()

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False
df=pd.DataFrame(np.random.rand(5,4),columns=['a','b','c','d'])
x=df.index
y=df['a']
plt.ylabel('x')
plt.xlabel('y')
plt.title('柱状图')
plt.barh(x,y,color='b')
plt.show()

Matplotlib绘制图形_柱状图_04

散点图

scatter()

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False
df=pd.DataFrame(np.random.rand(100,4),columns=['a','b','c','d'])
x=df.index
y=df['a']
plt.ylabel('x')
plt.xlabel('y')
plt.title('散点图')
plt.scatter(x,y,color='b')
plt.show()

Matplotlib绘制图形_matplotlib_05

s 设置标记的大小

marker 设置标记的形状

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False
df=pd.DataFrame(np.random.rand(100,4),columns=['a','b','c','d'])
x=df.index
y=df['a']
plt.ylabel('x')
plt.xlabel('y')
plt.title('散点图')
plt.scatter(x,y,s=5,color='b',marker=6)
plt.show()

Matplotlib绘制图形_柱状图_06

marker 参数

============================== ====== =========================================
marker symbol description
============================== ====== =========================================
``"."`` |m00| point
``","`` |m01| pixel
``"o"`` |m02| circle
``"v"`` |m03| triangle_down
``"^"`` |m04| triangle_up
``"<"`` |m05| triangle_left
``">"`` |m06| triangle_right
``"1"`` |m07| tri_down
``"2"`` |m08| tri_up
``"3"`` |m09| tri_left
``"4"`` |m10| tri_right
``"8"`` |m11| octagon
``"s"`` |m12| square
``"p"`` |m13| pentagon
``"P"`` |m23| plus (filled)
``"*"`` |m14| star
``"h"`` |m15| hexagon1
``"H"`` |m16| hexagon2
``"+"`` |m17| plus
``"x"`` |m18| x
``"X"`` |m24| x (filled)
``"D"`` |m19| diamond
``"d"`` |m20| thin_diamond
``"|"`` |m21| vline
``"_"`` |m22| hline
``0`` (``TICKLEFT``) |m25| tickleft
``1`` (``TICKRIGHT``) |m26| tickright
``2`` (``TICKUP``) |m27| tickup
``3`` (``TICKDOWN``) |m28| tickdown
``4`` (``CARETLEFT``) |m29| caretleft
``5`` (``CARETRIGHT``) |m30| caretright
``6`` (``CARETUP``) |m31| caretup
``7`` (``CARETDOWN``) |m32| caretdown
``8`` (``CARETLEFTBASE``) |m33| caretleft (centered at base)
``9`` (``CARETRIGHTBASE``) |m34| caretright (centered at base)
``10`` (``CARETUPBASE``) |m35| caretup (centered at base)
``11`` (``CARETDOWNBASE``) |m36| caretdown (centered at base)

多图

subplot(1,2,1)

第一个参数表示 几行分布

第二个参数表示 一行记个图

第三个参数表示 图显示的位置

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False
df=pd.DataFrame(np.random.rand(100,4),columns=['a','b','c','d'])
x=df.index
y=df['a']
plt.subplot(2,3,1)
plt.scatter(x,y,color='b')
plt.subplot(2,3,2)
y=df['b']
plt.scatter(x,y,s=5,color='b',marker=6)
plt.subplot(2,3,6)
y=df['b']
plt.scatter(x,y,s=5,color='b',marker=6)
plt.show()

Matplotlib绘制图形_ico_07

subplots_adjust设置图像高宽

subplots 减少区域分块后 设置子图的title 和xy轴

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False
df=pd.DataFrame(np.random.rand(100,4),columns=['a','b','c','d'])
x=df.index
y=df['a']
fig,ax=plt.subplots(2,3)
ax1=ax[0][0]
ax1.set_title('1')
ax1.set_ylabel('y')
ax1.set_xlabel('x')
ax1.scatter(x,y,color='b')
ax2=ax[0][2]
ax2.set_title('2')
ax2.scatter(x,y,color='r')
ax3=ax[1][1]
ax3.set_title('3')
ax3.scatter(x,y,color='g')
plt.subplots_adjust(wspace=2,hspace=2)
plt.show()

Matplotlib绘制图形_ico_08