Python数据可视化

Python数据可视化

顾名思义,数据可视化就是将数据转换成图或表等,以一种更直观的方式展现和呈现数据,让读者"一眼看懂"我们想表达的信息,帮助我们发现某种规律和特征,挖掘数据别后的价值.😄

需要注意的是,通常情况下,数据可视化的选择应该注重服务数据分析的目的,而非仅仅处于追求美观或高级的考量.因此,在确定可视化方式时,相比"高级"的图表,应该优先考虑那些更能有效传达数据信的和图标类型.

  1. pandas

plot()函数的参数

x和y:表示标签或者位置,用来指定显示的索引,默认为None

kind:表示绘图的类型,默认为line,折线图

line:折线图

bar/barh:柱状图(条形图),纵向/横向

pie:饼状图 hist:直方图(数值频率分布) box:箱型图

kde:密度图,主要对柱状图添加Kernel 概率密度线

area:区域图(面积图)

scatter:散点图 hexbin:蜂巢图

ax:子图,可以理解成第二坐标轴,默认None

subplots:是否对列分别作子图,默认False

sharex:共享x轴刻度、标签。如果ax为None,则默认为True,如果传入ax,则默认为False

sharey:共享y轴刻度、标签

layout:子图的行列布局,(rows, columns)

legend:是否显示图例,默认为True

xlabel:设置x轴标签

ylabel:设置y轴标签

lengenfigsize:图形尺寸大小,(width, height)

use_index:用索引做x轴,默认True title:图形的标题

grid:图形是否有网格,默认None legend:子图的图例

style:对每列折线图设置线的类型,list or dict

logx:设置x轴刻度是否取对数,默认False

logy:设置y轴刻度是否取对数,默认False

loglog:同时设置x,y轴刻度是否取对数,默认False

xticks:设置x轴刻度值,序列形式(比如列表)

yticks:设置y轴刻度值,序列形式(比如列表)

xlim:设置x坐标轴的范围。数值,列表或元组(区间范围)

ylim:设置y坐标轴的范围。数值,列表或元组(区间范围)

rot:轴标签(轴刻度)的显示旋转度数,默认None

fontsize: int, default None#设置轴刻度的字体大小

colormap:设置图的区域颜色

colorbar:柱子颜色

position:柱形图的对齐方式,取值范围[0,1],默认0.5(中间对齐)

table:图下添加表,默认False。若为True,则使用DataFrame中的数据绘制表格

yerr:y误差线

xerr:x误差线

stacked:是否堆积,在折线图和柱状图中默认为False,在区域图中默认为True

sort_columns:对列名称进行排序,默认为False secondary_y:设置第二个y轴(右辅助y轴),默认为False

mark_right : 当使用secondary_y轴时,在图例中自动用"(right)"标记列标签 ,默认True

x_compat:适配x轴刻度显示,默认为False。设置True可优化时间刻度的显示

python 复制代码
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

# 实验数据
df = pd.DataFrame({
    'length':[1.5, 0.5, 1.2, 0.9, 3],
    'width':[0.7, 0.2, 0.15, 0.2, 1.1],
    'hight':[0.3, 0.4, 0.5, 0.6, 0.8]},
    index=['A', 'B', 'C', 'D', 'E']
)
df.plot(title='sample plot', legend=True, xlabel='letters', ylim=[0, 4]) # legend=True 是否显示图例
plt.show() # 触发 matplotlib 渲染图表并显示窗口

#代码一:使用DataFrame.plot函数
plot = df.plot(kind='bar', title='DataFrame Plot',colormap='Accent_r')
#设置颜色(色图) colormap='Accent_r'
from matplotlib import cm
print(dir(cm)) #颜色种类
plt.show()

#代码二:使用DataFrame.plot.bar函数
plot = df.plot.bar(title='DataFrame Plot')
plt.show()

#使用series
ser = pd.Series(np.random.randn(1000)) #从标准正态分布中生成一列随机数
ser.plot.density()
相关推荐
CPPAlien2 小时前
Python for MLOps - 第一阶段学习笔记
python
喵~来学编程啦2 小时前
【模块化编程】Python文件路径检查、跳转模块
开发语言·python
黎明沐白2 小时前
Pytorch Hook 技巧
人工智能·pytorch·python
曲幽2 小时前
Stable Diffusion LoRA模型加载实现风格自由
python·ai·stable diffusion·lora·文生图·diffusers
Tech Synapse2 小时前
迷宫求解机器人:基于Pygame与Q-learning的强化学习实战教程
python·机器人·pygame·强化学习
开开心心就好3 小时前
实用电脑工具,轻松实现定时操作
python·学习·pdf·电脑·word·excel·生活
厚衣服_33 小时前
Python语法系列博客 · 第8期[特殊字符] Lambda函数与高阶函数:函数式编程初体验
开发语言·python
侃山3 小时前
Multi-Query Attention (MQA) PyTorch 实现
pytorch·python
around_013 小时前
python课堂随记
python
摸鱼仙人~3 小时前
RAGFlow在Docker中运行Ollama直接运行于主机的基础URL的地址
python