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可优化时间刻度的显示

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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值