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()
相关推荐
ZSYP-S13 分钟前
Day 15:Spring 框架基础
java·开发语言·数据结构·后端·spring
yuanbenshidiaos16 分钟前
c++------------------函数
开发语言·c++
程序员_三木28 分钟前
Three.js入门-Raycaster鼠标拾取详解与应用
开发语言·javascript·计算机外设·webgl·three.js
是小崔啊38 分钟前
开源轮子 - EasyExcel01(核心api)
java·开发语言·开源·excel·阿里巴巴
tianmu_sama44 分钟前
[Effective C++]条款38-39 复合和private继承
开发语言·c++
黄公子学安全1 小时前
Java的基础概念(一)
java·开发语言·python
liwulin05061 小时前
【JAVA】Tesseract-OCR截图屏幕指定区域识别0.4.2
java·开发语言·ocr
jackiendsc1 小时前
Java的垃圾回收机制介绍、工作原理、算法及分析调优
java·开发语言·算法
Oneforlove_twoforjob1 小时前
【Java基础面试题027】Java的StringBuilder是怎么实现的?
java·开发语言
羚羊角uou1 小时前
【C++】优先级队列以及仿函数
开发语言·c++