Python的matplotlib可视化工具基本操作(数据分析生成图表)

一、安装导入

1、使用包管理器安装matplotlib

pip3 install matplotlib

2、导入plt工具

python 复制代码
import matplotlib.pyplot as plt

二、基本函数

1、创建图表

使用pyplot工具打点调用创建图表函数

例如创建直方图

python 复制代码
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
data=np.random.rand(100)
plt.hist(data,color='blue')
plt.show()

上述代码中data是生成的100个0~1之间的随机数数组。plt.hist()是利用pyplot工具打点调用hist直方图函数创建直方图,第一个参数为绘图所需的数据,第二个参数是设置这个图表的颜色。plt.show()是将图表绘制出来。

图表:

pyplot工具能绘制的图表种类很多,都可以使用pyplot打点调用。常见的图表类型:

  1. 折线图(Line Plot)
    • 用于展示数据随时间或其他连续变量的变化趋势。
    • 使用plt.plot(x, y)函数创建。
  2. 散点图(Scatter Plot)
    • 用于展示两个变量之间的关系和分布。
    • 使用plt.scatter(x, y)函数创建。
    • 可以通过设置点的颜色、大小、形状等参数来定制散点图的外观。
  3. 柱状图(Bar Plot)
    • 用于比较不同类别的数据。
    • 使用plt.bar(x, heights)函数创建。
    • x参数表示柱子的位置,heights参数表示柱子的高度。
  4. 饼图(Pie Chart)
    • 用于显示数据的相对比例。
    • 使用plt.pie(sizes, labels=labels, autopct='%1.1f%%')函数创建。
    • sizes参数表示各部分的大小,labels参数表示各部分的标签,autopct参数用于显示各部分所占的百分比。
  5. 箱线图(Box Plot)
    • 用于展示数据的分布特征,包括最小值、第一四分位数、中位数、第三四分位数和最大值。
    • 使用plt.boxplot(data)函数创建。
    • data参数是一个包含多个数据点的列表或数组。
  6. 直方图(Histogram)
    • 用于展示数据的频数分布。
    • 使用plt.hist(data, bins=num_bins, edgecolor='black')函数创建。
    • data参数是数据点的列表或数组,bins参数指定直方图的柱数或柱的边界,edgecolor参数用于设置柱子的边框颜色。
  7. 双坐标轴折线图(Dual Y-Axis Line Plot)
    • 在同一张图上绘制两条折线,分别使用左右两个不同的Y轴刻度。
    • 常用于表示不同量纲或变化幅度较大的数据。
    • 需要通过创建第二个坐标轴(ax2 = ax1.twinx())来实现。
  8. 面积图(Area Plot)
    • 折线图的一种变体,通过在折线下方填充颜色来展示数据随时间的累积变化。
    • 常用于表示累积数据,如总收入或总销量。
    • 可以通过在plt.plot()函数中设置fill_between参数或使用plt.fill_between()函数来实现。
  9. 三维图表(3D Plot)
    • 包括三维散点图、三维折线图等。
    • 需要使用mpl_toolkits.mplot3d模块中的功能来创建。
    • 例如,使用Axes3D.scatter(x, y, z)创建三维散点图

创建图表的属性:

颜色(Color)color 或 c:设置线条或点的颜色。

线型(Linestyle)linestyle 或 ls:设置线条的类型(如实线、虚线等)。

线宽(Linewidth)linewidth 或 lw:设置线条的宽度。

标记(Marker)marker:设置散点图中点的形状。

标记大小(Marker Size)markersize 或 ms:设置散点图中点的大小。

标记边缘颜色(Marker Edge Color)markeredgecolor 或 mec:设置散点图中点边缘的颜色。

标记填充颜色(Marker Face Color)markerfacecolor 或 mfc:设置散点图中点的填充颜色。

透明度(Alpha)alpha:设置线条或点的透明度。

标签(Label)label:为线条或数据点设置标签,用于图例。

标题(Title)使用 plt.title() 函数为整个图表设置标题。

图例(Legend)使用 plt.legend() 函数添加图例,显示不同线条或数据点的标签。

网格(Grid)使用 plt.grid() 函数添加网格线,帮助识别图表中的值。

坐标轴标签(Axis Labels)使用 plt.xlabel() 和 plt.ylabel() 函数为 x 轴和 y 轴设置标签。

坐标轴范围(Axis Limits)使用 plt.xlim() 和 plt.ylim() 函数设置坐标轴的范围。

坐标轴刻度(Ticks)使用 plt.xticks() 和 plt.yticks() 函数自定义坐标轴的刻度。

字体大小(Font Size)可以通过 fontsize 参数设置标题、标签、图例等的字体大小。

线条样式(Line Styles)组合例如,'b-' 表示蓝色实线,'g--' 表示绿色虚线等。

这些属性可以组合使用

2、设置图表

设置标题和标签

python 复制代码
plt.title('图表标题') 
plt.xlabel('x 轴标签') 
plt.ylabel('y 轴标签')

设置坐标轴范围

python 复制代码
plt.xlim(xmin, xmax)  
plt.ylim(ymin, ymax)

添加网格

python 复制代码
plt.grid(True)

添加图例

python 复制代码
plt.legend(['标签1', '标签2'], loc='upper right')

设置颜色、线型和标记:

python 复制代码
plt.plot(x, y, color='red', linestyle='--', marker='o')

设置x,y轴刻度:

python 复制代码
plt.xticks(np.arange(0, 11, 1))  # 设置 x 轴刻度为 0 到 10 的整数
plt.yticks(np.arange(0, 11, 1))

设置 x 轴和 y 轴的刻度标签 :

python 复制代码
plt.xticklabels(factories)  
plt.yticklabels(quality) 

其他设置:

1、创建绘图子集

python 复制代码
fig,axs=plt.subplots(2,2)

上述代码表示在画布上将有4个图表:2*2。返回值:fig:当前画布,axs:设置数据引用。

注意 :使用了子集的画布,在设置标题和标签时要在方法前加上:"set_"。例如在子集上设置标题:

python 复制代码
axs[0][1].set_title('随机样本')

2、自动布局

python 复制代码
fig.tight_layout()
相关推荐
Alive~o.06 分钟前
Go语言进阶&依赖管理
开发语言·后端·golang
花海少爷8 分钟前
第十章 JavaScript的应用课后习题
开发语言·javascript·ecmascript
手握风云-9 分钟前
数据结构(Java版)第二期:包装类和泛型
java·开发语言·数据结构
喵叔哟28 分钟前
重构代码中引入外部方法和引入本地扩展的区别
java·开发语言·重构
尘浮生35 分钟前
Java项目实战II基于微信小程序的电影院买票选座系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
hopetomorrow1 小时前
学习路之PHP--使用GROUP BY 发生错误 SELECT list is not in GROUP BY clause .......... 解决
开发语言·学习·php
SelectDB技术团队1 小时前
兼顾高性能与低成本,浅析 Apache Doris 异步物化视图原理及典型场景
大数据·数据库·数据仓库·数据分析·doris
小牛itbull1 小时前
ReactPress vs VuePress vs WordPress
开发语言·javascript·reactpress
请叫我欧皇i1 小时前
html本地离线引入vant和vue2(详细步骤)
开发语言·前端·javascript
nuclear20111 小时前
使用Python 在Excel中创建和取消数据分组 - 详解
python·excel数据分组·创建excel分组·excel分类汇总·excel嵌套分组·excel大纲级别·取消excel分组