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()
相关推荐
2603_9651481134 分钟前
家居百货蓝海:API挖掘高复购率生活小商品
大数据·服务器·人工智能·python·生活
阿童木写作4 小时前
跨境电商图片翻译工具推荐:批量图片翻译+视频字幕翻译+智能抠图
python·macos·音视频·xcode
cui_ruicheng4 小时前
LangChain 应用开发(十四):Agent 上下文与记忆机制
服务器·人工智能·python·langchain
circuitsosk5 小时前
任务规划器的三种范式对比:ReAct、Plan-and-Execute 与 Tree-of-Thought 在真实业务中的取舍
前端·javascript·python·react.js·llm·ai agent
shehuiyuelaiyuehao5 小时前
算法31,前缀和,可被k整除的子数组
数据结构·python·算法
宸津-代码粉碎机5 小时前
AI攻防战升级!基于Spring AI构建Java应用自动免疫安全体系
java·大数据·开发语言·人工智能·python·安全·spring
测试19986 小时前
如何用appium搭建Android自动化测试框架?
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
程序员大雄学编程6 小时前
微积分46. 无穷级数四大核心性质:从理论到实践的全方位解析
python·学习·微积分·学习工具
Mr数据杨6 小时前
从文本特征到回归建模 Syllable Counting Model 实战解析
人工智能·数据分析·kaggle竞赛
数字化转型分享点滴6 小时前
## 工厂数字化管理系统的价值体现:构建制造全流程数据闭环
python