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()
相关推荐
starzy19901 分钟前
Scala循环与判断:一切皆表达式的控制流
开发语言·人工智能·scala
starzy199016 分钟前
Scala类和对象:从构造器到样例类的完整指南
开发语言·后端·scala
niucloud-admin27 分钟前
NIUCLOUD PHP SAAS上门家政使用文档--服务订单:订单列表
开发语言·php
黑十29 分钟前
PyTorch 报 “no CUDA GPUs are available“ 怎么办?3 步排查
服务器·网络·人工智能·pytorch·python
怪我冷i1 小时前
Rust 的impl语法详解
开发语言·后端·rust
threelab1 小时前
开源图片去水印代码
python
qq_406981031 小时前
c++的decltype是什么
开发语言·c++
坤坤子吖1 小时前
算法学习——单调队列
开发语言·c++·笔记·学习·算法
我就是全世界2 小时前
OpenCode Go 套餐划算吗:先看你用哪个模型
开发语言·后端·golang
螺丝钉tina2 小时前
[Playwright] [02]常用命令与调试:Debug UI、Mode和 Trace Viewer
开发语言·javascript·测试工具·ui·自动化