可以将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
原文:https://www.cnblogs.com/shof/p/13639699.html