python与R画柱形图

11 篇文章 0 订阅

python画柱形图:

  • 基本图形
    向上向下分别生成12个数据,X为 0 到 11 的整数 ,Y是相应的均匀分布的随机数据。 使用的函数是plt.bar,参数为X和Y:
import matplotlib.pyplot as plt
import numpy as np

n = 12
X = np.arange(n)
Y1 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)
Y2 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)

plt.bar(X, +Y1)
plt.bar(X, -Y2)

plt.xlim(-.5, n)
plt.xticks(())
plt.ylim(-1.25, 1.25)
plt.yticks(())

plt.show()

这里写图片描述

  • 更改颜色和数据

用facecolor设置主体颜色,edgecolor设置边框颜色为白色,

plt.bar(X, +Y1, facecolor='#9999ff', edgecolor='white')

plt.bar(X, -Y2, facecolor='#ff9999', edgecolor='white')

这里写图片描述

用函数plt.text分别在柱体上方(下方)加上数值,用%.2f保留两位小数,横向居中对齐ha=’center’,纵向底部(顶部)对齐va=’bottom’:

for x, y in zip(X, Y1):

    # ha: horizontal alignment

    # va: vertical alignment

    plt.text(x + 0.4, y + 0.05, '%.2f' % y, ha='center', va='bottom')



for x, y in zip(X, Y2):

    # ha: horizontal alignment

    # va: vertical alignment

    plt.text(x + 0.4, -y - 0.05, '%.2f' % y, ha='center', va='top')

这里写图片描述

完整代码

# -*- coding: utf-8 -*-
"""
Created on Tue Dec 19 15:39:49 2017

@author: elenawang
"""

import matplotlib.pyplot as plt

import numpy as np



n = 12

X = np.arange(n)

Y1 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)

Y2 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)



plt.bar(X, +Y1, facecolor='#9999ff', edgecolor='white')

plt.bar(X, -Y2, facecolor='#ff9999', edgecolor='white')


for x, y in zip(X, Y1):

    # ha: horizontal alignment

    # va: vertical alignment

    plt.text(x + 0.4, y + 0.05, '%.2f' % y, ha='center', va='bottom')



for x, y in zip(X, Y2):

    # ha: horizontal alignment

    # va: vertical alignment

    plt.text(x + 0.4, -y - 0.05, '%.2f' % y, ha='center', va='top')



plt.xlim(-.5, n)

plt.xticks(())

plt.ylim(-1.25, 1.25)

plt.yticks(())



plt.show()

R柱形图

> num=seq(1,10)
> x1=round(runif(10,min=70,max=100))
> x2=round(rnorm(10,mean=80,sd=7))
> data=data.frame(num,x1,x2)
barplot(x2,names.arg = num,col='red')

这里写图片描述

水平,添加horiz=T
barplot(x2,names.arg = num,col='red',horiz=T)

这里写图片描述

彩色

barplot(as.matrix(data[,2:3]),beside=T,legend=num,col=heat.colors(5),border='white')

这里写图片描述


用R画直方图hist()
箱线图boxplot()
不在此赘述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值