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()
相关推荐
canyuemanyue6 分钟前
C++单例模式
开发语言·c++·单例模式
杨超越luckly20 分钟前
基于地铁刷卡数据分析与可视化——以杭州市为例
大数据·python·阿里云·数据挖掘·数据分析
秋恬意22 分钟前
Java 反射机制详解
java·开发语言
黑不溜秋的24 分钟前
C++ 模板专题 - 标签分派(Tag Dispatching)
开发语言·c++·算法
skywind34 分钟前
为什么 C 语言数组是从 0 开始计数的?
c语言·开发语言·网络·c++
尘浮生1 小时前
Java项目实战II基于Spring Boot的火锅店管理系统设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·微信小程序·旅游
wrx繁星点点1 小时前
桥接模式:解耦抽象与实现的利器
android·java·开发语言·jvm·spring cloud·intellij-idea·桥接模式
千里马-horse1 小时前
在OpenCL 中输出CLinfo信息
开发语言·c++·算法·opencl·1024程序员节
试行1 小时前
C#实现ClientWebSocket请求服务端,接收完所有返回值,解决接收数据不全
开发语言·c#