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()
相关推荐
万邦科技Lafite3 小时前
京东按图搜索京东商品(拍立淘) API (.jd.item_search_img)快速抓取数据
开发语言·前端·数据库·python·电商开放平台·京东开放平台
丁浩6664 小时前
Python机器学习---6.集成学习与随机森林
python·随机森林·机器学习
charlie1145141915 小时前
现代 Python 学习笔记:Statements & Syntax
笔记·python·学习·教程·基础·现代python·python3.13
ID_180079054737 小时前
淘宝实时拍立淘按图搜索数据|商品详情|数据分析提取教程
算法·数据分析·图搜索算法
麦麦大数据7 小时前
F036 vue+flask中医热性药知识图谱可视化系统vue+flask+echarts+mysql
vue.js·python·mysql·flask·可视化·中医中药
移远通信8 小时前
MQTT协议:物联网时代的通信革命
python·物联网·网络协议
Amo Xiang8 小时前
JavaScript逆向与爬虫实战——基础篇(css反爬之动态字体实现原理及绕过)
爬虫·python·js逆向·动态字体
编程让世界美好8 小时前
选手评分问题(python)
python
java1234_小锋8 小时前
PyTorch2 Python深度学习 - PyTorch2安装与环境配置
开发语言·python·深度学习·pytorch2
CClaris8 小时前
深度学习——反向传播的本质
人工智能·python·深度学习