用Matplotlib如何绘制条形图、直方图和散点图


本文摘自php中文网,作者爱喝马黛茶的安东尼,侵删。

Matplotlib是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形。

上一篇我们讲解到Matplotlib 中的图例,标题和标签介绍,今天我们开始正式画图。这个教程中我们会涉及条形图、直方图和散点图。我们先来看条形图:

条形图

1

2

3

4

5

6

7

8

import matplotlib.pyplot as plt

plt.bar([1,3,5,7,9],[5,2,7,8,2], label="Example one")

plt.bar([2,4,6,8,10],[8,6,2,5,6], label="Example two", color='g')

plt.legend()

plt.xlabel('bar number')

plt.ylabel('bar height')

plt.title('Epic Graph\nAnother Line! Whoa')

plt.show()

plt.bar为我们创建条形图。 如果你没有明确选择一种颜色,那么虽然做了多个图,所有的条看起来会一样。 这让我们有机会使用一个新的 Matplotlib 自定义选项。 你可以在任何类型的绘图中使用颜色,例如g为绿色,b为蓝色,r为红色,等等。 你还可以使用十六进制颜色代码,如#191970。

matplotlib-bar-chart-tutorial.png

接下来,我们会讲解直方图。 直方图非常像条形图,倾向于通过将区段组合在一起来显示分布。 这个例子可能是年龄的分组,或测试的分数。 我们并不是显示每一组的年龄,而是按照 20 ~ 25,25 ~ 30… 等等来显示年龄。 这里有一个例子:

直方图

1

2

3

4

5

6

7

8

9

import matplotlib.pyplot as plt

population_ages = [22,55,62,45,21,22,34,42,42,4,99,102,110,120,121,122,130,111,115,112,80,75,65,54,44,43,42,48]

bins = [0,10,20,30,40,50,60,70,80,90,100,110,120,130]

plt.hist(population_ages, bins, histtype='bar', rwidth=0.8)

plt.xlabel('x')

plt.ylabel('y')

plt.title('Interesting Graph\nCheck it out')

plt.legend()

plt.show()

产生的图表为:

matplotlib-histogram-tutorial.png

对于plt.hist,你首先需要放入所有的值,然后指定放入哪个桶或容器。 在我们的例子中,我们绘制了一堆年龄,并希望以 10 年的增量来显示它们。 我们将条形的宽度设为 0.8,但是如果你想让条形变宽,或者变窄,你可以选择其他的宽度。

接下来,我们将介绍散点图。散点图通常用于比较两个变量来寻找相关性或分组,如果你在 3 维绘制则是 3 个。

散点图

散点图的一些示例代码:

1

2

3

4

5

6

7

8

9

import matplotlib.pyplot as plt

x = [1,2,3,4,5,6,7,8]

y = [5,2,4,2,1,4,5,2]

plt.scatter(x,y, label='skitscat', color='k', s=25, marker="o")

plt.xlabel('x')

plt.ylabel('y')

plt.title('Interesting Graph\nCheck it out')

plt.legend()

plt.show()

结果为:

matplotlib-scatter-plot-tutorial.png

Tip:

plt.scatter不仅允许我们绘制x和y,而且还可以让我们决定所使用的标记颜色,大小和类型。

以上就是用Matplotlib如何绘制条形图、直方图和散点图的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

好用的Python ide推荐

Python知识分解析掷骰子游戏

Python输出九九乘法表

Python 匹配url中是否存在ip地址的方法

Python多线程同步是什么?什么是线程锁?

如何用Python求分段函数的值

Python后端是什么

如何彻底卸载Python

Python不能做什么

Python如何实现数字炸弹游戏

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...