怎么在堆叠柱状图中体现百分比_Python数据可视化(中)——matplotlib中的诸常用图表...

本文主要内容来自于天池课堂,本文在进行整理的同时在此注明原作者和原文链接,有兴趣的朋友可移步观看。

折线图与面积图

折线图

plt.plot(kind='line', ax=None, figsize=None, use_index=True, title=None, grid=None, legend=False, style=None, logx=False, logy=False, loglog=False, xticks=None, yticks=None, xlim=None, ylim=None, rot=None, fontsize=None, colormap=None, table=False, yerr=None, xerr=None, label=None, secondary_y=False, **kwds)

  • series的index为横坐标
  • value为纵坐标
  • kind → line,bar,barh...(折线图,柱状图,柱状图-横...)
  • label → 图例标签,Dataframe格式以列名为label
  • style → 风格字符串,这里包括了linestyle(-),marker(.),color(g)
  • color → 颜色,有color指定时候,以color颜色为准
  • alpha → 透明度,0-1
  • use_index → 将索引用为刻度标签,默认为True
  • rot → 旋转刻度标签,0-360
  • grid → 显示网格,一般直接用plt.grid
  • xlim,ylim → x,y轴界限
  • xticks,yticks → x,y轴刻度值
  • figsize → 图像大小
  • title → 图名
  • legend → 是否显示图例,一般直接用plt.legend()
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000)) # pandas 时间序列ts = ts.cumsum()ts.plot(kind='line',       label = "what",       style = '--.',       color = 'g',       alpha = 0.4,       use_index = True,       rot = 45,       grid = True,       ylim = [-50,50],       yticks = list(range(-50,50,10)),       figsize = (8,4),       title = 'TEST_TEST',       legend = True)# 对网格项进行更加细致的设置#plt.grid(True, linestyle = "--",color = "gray", linewidth = "0.5",axis = 'x')  # 网格plt.legend()

554e10f619063ca05b4424c05cdcd78b.png

# subplots → 是否将各个列绘制到不同图表,默认Falsedf = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD')).cumsum()df.plot(kind='line',       style = '--.',       alpha = 0.4,       use_index = True,       rot = 45,       grid = True,       figsize = (8,4),       title = 'test',       legend = True,       subplots = False,       colormap = 'Greens')

1e7d322a4e5519e68444b7b8a7a2bc35.png

面积图

面积图与线图非常相似。它们也被称为堆栈图。这些图可用于跟踪构成一个整体类别的两个或多个相关组的随时间变化。

  • stacked:是否堆叠,默认情况下,区域图被堆叠
  • 为了产生堆积面积图,每列必须是正值或全部负值!
  • 当数据有NaN时候,自动填充0,图标签需要清洗掉缺失值
fig,axes = plt.subplots(2,1,figsize = (8,6))df1 = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])df2 = pd.DataFrame(np.random.randn(10, 4), columns=['a', 'b', 'c', 'd'])df1.plot.area(colormap = 'Greens_r',alpha = 0.5,ax = axes[0])df2.plot.area(stacked=False,colormap = 'Set2',alpha = 0.5,ax = axes[1])for i in range(2):    axes[i].legend(l
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值