首页 > 其他 > 详细

Matplotlib数据图形化模块

时间:2020-09-09 17:24:30      阅读:59      评论:0      收藏:0      [点我收藏+]

Matplotlib模块

可以将numpy pandas里面的数据用图形化的展示出来

是一个强大的python绘图和数据可视化工具包,数据可视化也是我们数据分析重要环节之一,
可以帮助我们分析出很多价值信息,也是数据分析的最后一个可视化阶段

导入语句

# 下载
pip3 install matplotlib
‘‘‘
在ipython中 首先数据分析需要使用的模块都需要自己下载

在ipyhon中如果你想直接使用pip3在不退出ipython环境
!pip3 install matplotlib
  
在ipython中画图之后会出现一个带有多个按钮的Figure图形化界面
‘‘‘

# 推荐语法
import matplotlib.pyplot as plt

画图思路

1.先获取数据
2.处理数据
3.获取画图必备的轴数据
4.先粗略的画出图形
5.之后再完善(不要想着一次成功)

常用图形名字

plot
	折线图
bar
	柱状图
barh 
	横向柱状图  
pie    
        饼状图

折线图

x = [2,5,7,10]
y = [1,2,3,4]
# 图形的名称
plt.title(‘title‘,fontsize=15,color=‘red‘)  # title默认不支持中文 写的话会乱码
# 参数fontsize用来控制字体的大小
# 参数color用来控制字体的颜色 可以用英文全称也可以用首字母缩写

# 给x轴加标签
plt.xlabel(‘x‘,fontsize=20,color=‘y‘)
# 给y轴加标签
plt.ylabel(‘y‘,fontsize=20,color=‘pink‘)
"""
只要是设置字体那么都可以使用
fontsize
color
"""
plt.plot(x,y)
plt.show()

补充操作

# 控制图形展示大小
    plt.figure(figsize=(10,6))  # 厘米为单位

# 修改节点形状,先颜色
    plt.plot(x,y,color=‘red‘,marker=‘o‘)  # 形状可查看具体用法

# 线型
    plt.plot(x,y,linestyle = ‘--‘)  # 默认是实线 可以变为虚线

"""
折线图plot配置
plt.plot([0,3,9,15,30],linestyle = ‘-.‘,color = ‘r‘,marker = ‘o‘) 
    linestyle  连接线的形状
    color	   连接线的颜色
    marker	   节点的形状
"""

# 设置x轴的范围
	plt.xlim(0,30)
# 设置y轴的范围
	plt.ylim(0,10)
    
# 设置x轴的刻度
	plt.xticks(fontsize=20,rotation=45)
# 设置y轴的刻度
	plt.yticks(fontsize=20,rotation=45)
    
# 给线段加上注解
	plt.legend()
    
# 保存制作好的图像
    plt.savefig(‘文件路径‘)
# savefig必须在show之前运行才会生成图形 不然的话是一个空白的png文件

柱状图

# DataFrame数组图
df = pd.DataFrame({
    ‘Jan‘:pd.Series([1,2,3],index=[‘a‘,‘b‘,‘c‘]),
    ‘Fed‘:pd.Series([4,5,6],index=[‘b‘,‘a‘,‘c‘]),
    ‘Mar‘:pd.Series([7,8,9],index=[‘b‘,‘a‘,‘c‘]),
    ‘Apr‘:pd.Series([2,4,6],index=[‘b‘,‘a‘,‘c‘])
})
df.plot.bar()  # 水平柱状图,将每一行中的值分组到并排的柱子中的一组
df.plot.barh(stacked=True,alpha=0.5)  # 横向柱状图,将每一行的值堆积到一起
# stacked=True是堆积
# alpha是透明度

饼图

# 饼状图pie会有一个返回值 在早期的版本里面是三个元素 现在只有两个元素
l_text,p_text = plt.pie(y,labels=x)  # 利用python解压赋值的操作
# l_text和p_text都是列表  前者用于修改x轴标题 后者用于修改区域文字

for i in l_text:
    # i 对应就是各个区域
    # i .set_color(‘red‘)
    pass
for j in p_text:
    # j 对应就是各个文本
    # j.set_color(‘red‘)  # 设置文本颜色
    # j.set_text(‘hahaha‘)  #  设置文本内容
    j.set_size(15)  # 设置文本大小
plt.show()

中文展示配置

# 针对默认的中文不支持乱码的情况 需要进
# 针对默认的中文不支持乱码的情况 需要进行下列的配置
# 针对windows
plt.rcParams[‘font.sans-serif‘] = [‘SimHei‘]
plt.rcParams[‘axes.unicode_minus‘] = False

# 针对mac
# 配置
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=‘/Users/jason/Downloads/font/Hanzipen.ttc‘,size=20)
font2 = FontProperties(fname=‘/Users/jason/Downloads/font/Hanzipen.ttc‘,size=13)
# 字体的选择可以有多个文件类型
# 使用
plt.xlabel(‘哈哈哈‘,FontProperties=font)

数学图形模板

x = np.arange(-100,100)
y1 = x
y2 = x ** 2
y3 = np.sin(x)

plt.plot(x,y1,label="y=x")
plt.plot(x,y2,label="y=x^2")
plt.plot(x,y3,label="y=sin(x)")
# 参数label用来给图形添加标注

plt.ylim(-100,100)
plt.legend()

其他操作

# pd.cut(第一个参数带操作对象,自己放一个列表里面指定范围多个区间值)
pd.cut(res,[0,60,90,120,140,1000])
# (140, 1000]  小括号表示开区间 不包括   中括号表示闭区间  包括

补充

后续更加复杂的图形化展示可以使用
highcharts
	中规中矩
    https://www.highcharts.com.cn/demo/highcharts
        
echarts
	echarts是基于highcharts开发的,有点过于花里胡哨
    https://echarts.apache.org/examples/zh/index.html

Matplotlib数据图形化模块

原文:https://www.cnblogs.com/shof/p/13639699.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!