Matplotlib库入门——简单使用方法(折线图,柱状图,饼图,散点图)
python第三方库——matplotlib库
这是一个python用来将数据可视化的第三方库,下面将用案例和大家分享其在实际操作中的简单使用方法
1.导入matplotlib
import matplotlib.pyplot as plt
import numpy as np
这里为在使用中的方便,将matplotlib库别名为plt,numpy库别名为np
2.定义可视化的简单数据
#x = [1,2] #二者维度必须相同 ValueError: x and y must have same first dimension, but have shapes (2,) and (5,)
x = [1,2,3,4,5]
y = [6,7,8,9,10]
x1 = [11,12,13,14,15]
y1 = [16,17,18,19,20]
在设置数据的时候需要注意,x和y的维度必须对应相等,否则就会报错如图中注释所示
3.设置全局变量,保存一些信息
plt.rcParams['font.family'] = ['SimHei'] #设置中文字体,SimHei时黑体 rcParmams是Matplotlib全局变量,保存一些设置信息
解释以下设置的目的,在可视化时需要对图的标题,x或y轴进行中文标记,设置label,若无这行代码将显示不出中文字体。对该参数的其它参数名解析
#'font.family' 用于显示字体的名字 | 'font.style' 字体风格,正常'normal'或 斜体'italic' | 'font.size' 字体大小,整数字号或者'large'、'x‐small'
'''
'SimHei' 中文黑体
'Kaiti' 中文楷体
'LiSu' 中文隶书
'FangSong' 中文仿宋
'YouYuan' 中文幼圆
'STSong' 华文宋体
'''
4.绘制折线图
#红色“r” 绿色“g” 青色“c” 品红“m” 黄色“y” 黑色“k” 蓝色“b”| label显示线段名 | linewidth是设置宽度
plt.plot(x,y,'b',label = '线1',linewidth = 2)
plt.title('折线图')
plt.ylabel('y轴')
plt.xlabel('x轴')
#设置图例 plt.legend(loc='位置')
plt.legend()
#以72分辨率来保存名为“折线图”的图片
plt.savefig('折线图',dpi = 72)
plt.show()
具体的其它颜色如下:
'b' 蓝色
'm' 洋红色 magenta
'g' 绿色
'y' 黄色
'r' 红色
'k' 黑色
'c' 青绿色
'w' 白色
'#008000' RGB某颜色
'0.8' 灰度值字符串
图片保存默认为本地.jpg格式
5.绘制柱状图
#柱状图
plt.bar(x,y,label = '柱状图1')
plt.bar(x1,y1,label = '柱状图2')
plt.title('柱状图')
plt.ylabel('y轴')
plt.xlabel('x轴')
plt.legend()
plt.show()
6.绘制饼图
#饼图
activies = ['工作','吃','睡','玩'] #设置所要可视化事件的标题
times = [8,7,3,6] #每个事件所需要的时间
color = ['c','m','r','b'] #每个事件可视化的颜色
#shadow设置是否有阴影 explode 设置各项脱离饼主题的效果 autopct设置各项显示百分比 %.1f格式化字符串 %%显示一个百分号%
plt.pie(times,labels = activies,colors = color,shadow = True,explode = (0,0.1,0,0),autopct = '%.1f%%')
plt.title('饼图')
plt.show()
在绘制饼图时,只需给出每个事件所占的时间,会自动计算所占的半分比
7.绘制散点图
#散点图
plt.rcParams['axes.unicode_minus'] = False #设置显示负号,由于设置了显示中文字体影响图中负号的显示,重新设置
n = 1024
x = np.random.normal(0,1,n)
y = np.random.normal(0,1,n)
plt.scatter(x,y) #绘制散点图
plt.title('散点图')
plt.show()
使用numpy的random方法随机生成1024个0到1之间的随机数
以上代码在pycharm中编写,在图片展示时会直接弹出一个框显示可视化的图片。