继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Matplotlib中几种常用的图形(四)

慕桂英546537
关注TA
已关注
手记 168
粉丝 31
获赞 200

条形图

条形图常常用来描述一组数据的对比情况,例如:一周七天,每天的城市车流量等。【条形图有两个参数x,y】bar()绘制竖直条形图、barh()绘制水平条形图。
导入绘图工具包:

import matplotlib.pyplot as pltimport numpy as np

绘制竖直条形图

x = np.linspace(0, 5, 5)y = np.random.randint(0, 20, size=5)# 表示先生成15(5*3)个随机数,然后将它们组装成5行,那么每行三个数,对应了颜色的三个组成部分color = np.random.rand(15).reshape(5, 3)
plt.bar(x, y, alpha=0.8, color=color)
plt.show()

绘制出来的图形如下:
https://img2.mukewang.com/5b8c04680001a00d06400480.jpg
水平条形图的绘制:

plt.barh(x, y)
plt.show()

https://img3.mukewang.com/5b8c04770001f1f306400480.jpg

直方图

直方图描述了数据中某个范围内数据出现的频度。【直方图的参数只有一个x,不像条形图需要传入x,y】。
hist()函数:
—bins:可以使一个bin数量的整数值,也可以使表示bin的一个序列,默认值为10.
—normed:如果值是True,直方图的值将进行归一化处理,形成概率密度,默认值时False。
—color:指定直方图的颜色,可以使单一颜色值或颜色的序列。如果指定了多个数据集合,颜色序列将会设置为相同的顺序。如果未指定,将会使用一个默认的线条颜色。
—orientation:通过设置orientation为horizontal创建水平直方图,默认值为vertical。

x = [np.random.randint(0, n, n) for n in [3000, 4000, 5000]]
bins = [0, 100, 500, 1000, 2000, 3000, 4000, 5000]
labels = ["3k", "4k", "5k"]
plt.hist(x, bins=bins, label=labels)
plt.legend()
plt.show()

https://img2.mukewang.com/5b8c04830001ed0f06400480.jpg

饼  图

饼状图通常用来表达集合中各个部分的百分比,【饼图也只有一个参数x!】pie()饼图适合展示各部分占总体的比例,条形图适合比较各部分的大小
普通各部分占满饼图、普通未占满饼图,饼图阴影、分裂等属性设置:
—#label参数设置每一块的标签;labeldistance参数设置标签距离圆心的距离(比例值)。
—#autopct参数设置比例值的显示格式(%1.1f%%); pctdistance参数设置比例值文字距离圆心的距离。
—#explode参数设置每一块顶点距圆形的长度(比例值);color参数设置每一块的颜色。
—#shadow参数为布尔值,设置是否绘制阴影。
—#startangle设置旋转角度”’。

普通各部分占满饼图

plt.figure(figsize=(6, 9))    # 调节图形大小,宽,高p = np.array([0.7, 0.2, 0.1])
colors = ['red', 'yellow', 'green']
labels = ["dog", "cat", "other"]
plt.pie(p, labels=labels, autopct="%1.2f%%", colors=colors)
plt.axis("equal")               # plt.figure(figsize=(4, 4))plt.legend()                   # 指明要绘制的图例plt.title("Pie chart")
plt.savefig("PieChart.jpg")
plt.show()

https://img1.mukewang.com/5b8c048e0001b47106000900.jpg

普通未占满饼图

plt.figure(figsize=(6, 9))
p = np.array([0.6, 0.2, 0.1])
colors = ['red', 'yellow', 'green']
labels = ["dog", "cat", "other"]
plt.pie(p, labels=labels, autopct="%1.2f%%", colors=colors)
plt.axis("equal")
plt.title("Pie chart")
plt.savefig("Pie.jpg")
plt.show()

https://img2.mukewang.com/5b8c0498000103e706000900.jpg

饼图分裂及阴影

plt.figure(figsize=(6, 6))
p = np.array([0.4, 0.2, 0.15, 0.15, 0.1])
colors = ['red', 'yellow', 'green', 'blue', 'purple']
labels = ["dog", "cat", "bird", "cow", "sheep"]
plt.pie(p, labels=labels, autopct="%1.2f%%", colors=colors, labeldistance=1.2,
        pctdistance=0.5, explode=[0.1, 0.1, 0.1, 0.2, 0.1], shadow=True,
        startangle=90)
plt.axis("equal")
plt.title("Animal Pie Chart")
plt.show()

https://img1.mukewang.com/5b8c04a70001db3606000600.jpg

散点图

【散点图需要两个参数x,y,但此时x不是表示x轴的刻度,而是每个点的横坐标!】

x = np.random.randn(1000)y = np.random.randn(1000)
color = np.random.random(3000).reshape(1000, 3)   # 设置颜色size = np.random.randint(0, 100, 1000)  # 设置大小plt.scatter(x, y, color=color, s=size, alpha=0.5)   # alpha设置透明度plt.show()

https://img4.mukewang.com/5b8c04b2000180ab06400480.jpg

原文出处:https://blog.csdn.net/xiao_pingping/article/details/82116673

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP