写在前面:

自学+实践是检验大学课程是不是水课和是否有用的试金石,是有用武器

关于数据可视化

(下文所使用的示例库为:matplotlib)

在python中,数据可视化就是简单的画图(不要被感觉很宏大其实很渺小的学术词所吓到)

因此我们已知需要画图,我们必须要让我们的计算机知道“他需要搬出画图工具”这件事,在python中如何告知呢?那就要用到我们就需要进行:

第三方库导入

import matplotlib.pyplot as plt #计算机请你拿出画图工具喔~

对第三方库导入还不熟悉的童鞋可以参考这篇:Python篇(基础):在Python导入第三方库的标准格式-CSDN博客

第三方库导入简单讲解

  • matplotlib:Python 最著名的 数据可视化库,用于绘制各种图表(折线图、散点图、柱状图等)
  • pyplot:matplotlib的核心子模块,提供 MATLAB 风格的绘图接口,并且其中还包含常用绘图函数:如plot( ),scatter( ),bar( ),show( )等等
  • as plt:为 matplotlib.pyplot 设置别名plt,为了简化代码,使得plt.函数名=matplotlib.pyplot.函数名

怎么画图呢?我们既然导入了matplotlib库,我们就可以开始画类似于折线图,散点图,柱状图等等(可不是说乱涂乱画的那个画图喔),我们继续

折线图polt()

我们先有一个折现图的概念,这样方便我们理解其本身以及代码:

折线图的特点

我们不难发现几个关键点:

双变量关系: 通过​​双Y轴设计​​(左侧振幅轴/右侧衰减系数轴)解决量纲差异问题

数据的特点:在同一坐标系中整合​​三种不同量纲​​的数据(振幅、衰减系数)

数据之间的相关性:可以直观的感受动态趋势的可视化

还有一些有关于表格外表的变量:表格名称,曲线颜色,坐标刻度等

我们再来看折线图本身的代码:

绘画折线图的代码

plt.plot(x,y,color,linewidth,linestyle.…)#

简单的,我们把plt.plot()定义为前缀,那么后缀就是括号内的内容:

前缀的内容

plt代表我们让计算机拿出来的工具,后缀.plot是“散”的意思,放在一起就是需要用plt工具去画折线图的意思。

后缀的内容

那些是目标散点图的具体参数,可以理解为要告诉计算机我要让他画一个什么样的散点图。

那么我们不难理解,绘图的重点在后缀那些影响图本身的参数上,下面来介绍内置参数

常用的内置参数

核心数据参数​

x和y​

  • ​​作用​​:分别指定横轴和纵轴数据(列表、数组或 pandas 列)
  • ​​示例​​:plt.plot([1, 2, 3], [4, 5, 6])
  • ​​说明​​:若省略 x,则默认以 0, 1, 2,... 作为横坐标


格式字符串参数(fmt)​

通过组合字符快速定义线条样式(格式:“[颜色][标记][线型]”):

​类型​ ​字符​ ​说明​ ​示例​
​颜色​ 'b' 蓝色(blue) 'b' → 蓝线
'r' 红色(red) 'r*' → 红点
'g' 绿色(green) 'g--' → 绿虚线
​标记​ 'o' 圆圈标记 'ro' → 红圈
's' 正方形标记 'bs' → 蓝方块
'^' 上三角标记 'g^' → 绿三角
​线型​ '-' 实线(默认) 'k-' → 黑实线
'--' 虚线 'c--' → 青虚线
':.' 点划线 'm:.' → 洋红点划线

​示例组合​​:

  • 'ro--':红色圆圈标记 + 虚线
  • 'g:':绿色点线(无标记)


关键字参数(精细控制)​
​参数​ ​说明​ ​常用值示例​
color / c 自定义颜色(名称/RGB/十六进制) color='#008000'(深绿色)
linestyle / ls 线型样式 linestyle='dashdot'
linewidth / lw 线条宽度(磅) linewidth=2.5
marker 数据点标记形状 marker='D'(菱形)
markersize / ms 标记大小 markersize=8
markerfacecolor 标记填充色 markerfacecolor='yellow'
label 图例标签文本 label='销售额'
alpha 透明度(0-1) alpha=0.7


 如何输出图像(需要严格执行先后顺序

那么最后的问题来了:我们如何让计算机输出他绘画的图呢?

我们需要分解步骤(需要严格执行先后顺序):

1,保存图片
plt.savefig(
    'high_quality_plot.png',# 图片名称
    dpi=300,                # 提高分辨率(默认100)
    bbox_inches='tight',    # 自动去除多余白边 ✔️
    transparent=True,       # 透明背景(适合网页)
    facecolor='lightblue'   # 自定义背景色
)
2,展示图片
plt.show()  # 显示图形

ps:为什么输出不了中文的标题?可以看这篇:

Python基础篇:数据可视化的图片为什么不能输出中文?-CSDN博客

举个例子

可根据上述内容来理解下列代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 20)
y = np.sin(x)

plt.plot(
    x, y, 
    'ro--',          # 格式字符串:红色圆圈 + 虚线
    linewidth=2,      # 线宽2磅
    markersize=8,     # 标记大小8
    markerfacecolor='white',  # 标记内部白色
    label='正弦曲线'   # 图例标签
)
plt.legend()   #通过 label 参数为数据系列命名
plt.grid(True) #显示网格线​
plt.savefig('plot.png', dpi=300,bbox_inches='tight',transparent=False)
plt.show()

 生成结果如下:

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐