Python数据可视化详解(3/5)--------patch,饼图,柱状图和点图

  1. 水平或垂直的单条柱状图

如图

上代码

import matplotlib.pyplot as plt
import numpy as np

fig,axes = plt.subplots(2,1)
x = [1,2,3,4,5,6]
data = [5,4,1,6,4,5]
axes[0].bar(x,height=data,color="k",alpha=0.4)
axes[1].barh(x,width=data,color="blue",alpha=0.4)
plt.show()
  •  bar表示垂直柱状图
    • x----轴坐标
    • height----高度
    • color----填充颜色
    • alpha----透明度
  • barh表示水平柱状图
    • x----轴坐标
    • width----宽度
    • color----填充颜色
    • alpha----透明度

 2.簇集的和堆积的柱状图

先上代码

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

data = np.array([[3,2,7],[9,5,2],[0,7,5],[1,2,3]])
data = pd.DataFrame(data,index=['one','two','three','four'],columns=pd.Index(['A',"B","C"],name="every_try"))

data.plot.bar()
plt.show()

这个不太好记,可能要小背一下,或者到时候再回来查笔记哈

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

data = np.array([[3,2,7],[9,5,2],[0,7,5],[1,2,3]])
data = pd.DataFrame(data,index=['one','two','three','four'],columns=pd.Index(['A',"B","C"],name="every_try"))

data.plot.barh(stacked=True,alpha=0.8)
plt.show()

一句话

        stacked=True 表示堆积

3.点图(regplot方法)

这个方法可以在绘制点图的同时加上一条拟合曲线

代码如下

import matplotlib.pyplot as plt
import random
import seaborn as sns

a = [random.uniform(0.01,0.02) for i in range(100)]
b = [random.uniform(0.59,0.6) for i in range(100)]
sns.regplot(a,b,color="red")
plt.show()


绘制饼图,这是效果图

这是代码

import matplotlib.pyplot as plt
import numpy as np

fig,axes = plt.subplots(4,2)

axes[0,0].pie([1,2,3],labels=["A","B","C"])
axes[0,1].pie([1,2,3],labels=["A","B","C"],explode=[0.1,0.3,0.1])
axes[1,0].pie([1,2,3],labels=["A","B","C"],colors=["red","blue","green"])
axes[1,1].pie([1,2,3],labels=["A","B","C"],radius=1)
axes[2,0].pie([1,2,3],labels=["A","B","C"],frame=True)
axes[2,1].pie([1,2,3],labels=["A","B","C"],radius=1.5)
axes[3,0].pie([1,2,3],labels=["A","B","C"],labeldistance=0.5)
axes[3,1].pie([1,2,3,2,3,1,4],labels=["A","B","C","D","E","F","G"])
plt.savefig("1.jpg")

解释:

  • explode 饼图偏离中心的距离
  • colors 每块饼图的颜色
  • radius 整个圆的半径
  • frame 布尔值 是否显示外框
  • labeldistance 标签距离中心的距离

画patch

效果图

这是代码

import matplotlib.pyplot as plt

fig,axes = plt.subplots(3,1)

rect = plt.Rectangle((0.2,0.75),0.4,0.15,color='k',alpha=0.3)
circ = plt.Circle((0.7,0.2),0.15,color='b',alpha=0.3)
pgon = plt.Polygon([[0.1,0.2],[0.9,0.3],[0.53,0.64]],color='g',alpha=0.4)


axes[0].add_patch(rect)
axes[1].add_patch(circ)
axes[2].add_patch(pgon)
plt.savefig("1.jpg")

 解释

  • plt.Rectangle 画一个长方形
    • 第一个点位参数表示长方形的左下角
    • 第二个参数表示长方形的长(向右)
    • 第三个参数表示长方形的宽(向上)
    • color表示颜色
    • alpha表示透明的
  • plt.Circle 用二阶曲线画一个圆或者椭圆
    • 第一个点位表示圆心
    • 第二个参数表示垂直宽度(半径或者半短轴)
  • plt.Polygon 画一个正多边形
    • 第一个列表表示正多边形的每个点

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

River Chandler

谢谢,我会更努力学习工作的!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值