目录
Matplotlib数据可视化基础
plt.plot()折线图
plt.bar()柱状图
plt.scatter()散点图
pandas自带的绘图工具
plt.pie()饼状图
添加文字说明
两条线添加图例
中文显示异常
绘制多图
subplot()
Matplotlib数据可视化基础
前提:使用Python自带的可视化库叫做matplotlib
import matplotlib.pyplot as plt import numpy as np import pandas as pd %matplotlib inlineplt.plot()折线图
x = [1,4,8] y = [2,5,7] plt.plot(x,y)
-默认的实线
color颜色
linewidth线宽度
'--'短划线
'-'实线
':'虚线
'step'阶梯图
'None’
x1 = np.arange(10) y1 = x1**2 #-默认的实线,color颜色 linewidth线宽度 '--'短划线 '-'实线 ':'点 'step' 'None' plt.plot(x1,y1,color='blue',linewidth=5,linestyle =':') plt.plot(x,y,color='red')#将上一个折线图添加到这边 plt.show()#可省略,建议写上,强制前面的绘图代码把图像渲染出来
plt.bar()柱状图
条形图的横轴可以是字符串表示,起到标识作用
#条形图的横轴可以是字符串表示,起到标识作用 x = ['A','B','C','D','E','F','G'] y = [190,200,178,166,205,123,145] #plt.bar(x,y,color=['red','blue','pink']) #或者 plt.bar(x,y,color=np.random.random((7,3)))
plt.scatter()散点图
#横轴数据
tips = [1,3,5,6,7,9]
#纵轴数据
pay = [123,145,156,189,198,122]
#大小
size = np.array([1,2,4,6,10,16])
plt.scatter(tips,pay,s=size*100,color='pink')
pandas自带的绘图工具
#DataFrame二维
df = pd.DataFrame(data=np.random.randint(10,30,size=(10,3)),columns=['A','B','C'])
df
df.plot(kind='bar')
转置操作T
#转置操作 df.T.plot(kind='bar')
plt.pie()饼状图
#Series一维
s = pd.Series(data=np.random.randint(10,30,size=3),index=[1,2,3])
s.plot(kind='pie')
添加文字说明
#linspace 从0到2Π拆分出100个数,等差数列
x = np.linspace(0,2*np.pi,100)
y = np.sin(x)
#label就是图例要展示的文字信息
plt.plot(x,y,color='pink',label='line of sin',linestyle=':')
#允许展示图例
plt.legend()
#横轴标题
plt.xlabel('X')
#纵轴标题
plt.ylabel('Y')
#画布 标题
plt.title('y=sin(x)')
两条线添加图例
#两条线添加图例
plt.plot(x,np.sin(x),label='sin')
plt.plot(x,np.cos(x),label='cos')
plt.legend(loc='upper right')
中文显示异常
#中文显示异常
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus']=False
#plt.rcParams符号显示查找命令符找到axes.unicode_minus
plt.plot(x,y,label='正弦函数')
plt.title('正弦函数图')
plt.legend()
绘制多图
subplot()
subplot()
subplot(abc) a行数 b列数 c子图序号,得出来的结果就像这样。
#调整画板大小 plt.figure(figsize=(12,9)) #分别获取字画布,再绘图 ax1 = plt.subplot(221) ax1.plot(x,y) ax2 = plt.subplot(222) ax2.plot(x,np.cos(x)) ax3 = plt.subplot(223) plt.bar(['A','B','C'],[1,2,3]) ax4 = plt.subplot(224) plt.bar(['D','E','F'],[3,6,9])
这些都是基础知识,还需好好掌握,一起加油吧!



