Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python如何使用Matplotlib的作图

Python如何使用Matplotlib的作图

作者头像
Python研究者
发布于 2020-09-28 03:40:28
发布于 2020-09-28 03:40:28
1.4K00
代码可运行
举报
文章被收录于专栏:Python研究者Python研究者
运行总次数:0
代码可运行

Matplotlib官网 如果想了解更多可查看官网。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np 
import matplotlib.pyplot as plt
%matplotlib inline #写了这个就可以不用写plt.show()
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号


X = np.linspace(0, 2*np.pi,100)# 均匀的划分数据
Y = np.sin(X)
Y1 = np.cos(X)

plt.title("Hello World!!")
plt.plot(X,Y)
plt.plot(X,Y1)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
X = np.linspace(0, 2*np.pi,100)  
Y = np.sin(X)
Y1 = np.cos(X)
plt.subplot(211) # 等价于 subplot(2,1,1)  #一个图版画两个图
plt.plot(X,Y)

plt.subplot(212)
plt.plot(X,Y1,color = 'r')

柱状图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data = [5,25,50,20]
plt.bar(range(len(data)),data)

水平绘制柱状图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data = [5,25,50,20]
plt.barh(range(len(data)),data)

多个柱状图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data = [[5,25,50,20],
        [4,23,51,17],
        [6,22,52,19]]
X = np.arange(4)

plt.bar(X + 0.00, data[0], color = 'b', width = 0.25,label = "A")
plt.bar(X + 0.25, data[1], color = 'g', width = 0.25,label = "B")
plt.bar(X + 0.50, data[2], color = 'r', width = 0.25,label = "C")

# 显示上面设置的 lable
plt.legend()

叠加型柱状图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data = [[5,25,50,20],
        [4,23,51,17],
        [6,22,52,19]]
X = np.arange(4)

plt.bar(X, data[0], color = 'b', width = 0.25)
plt.bar(X, data[1], color = 'g', width = 0.25,bottom = data[0])
plt.bar(X, data[2], color = 'r', width = 0.25,bottom = np.array(data[0]) + np.array(data[1]))

plt.show()

散点图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
N = 50
x = np.random.rand(N)
y = np.random.rand(N)

plt.scatter(x, y)

气泡图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.randn(N) # 颜色可以用数值表示
area = np.pi * (15 * np.random.rand(N))**2  #  调整大小

plt.scatter(x, y, c=colors, alpha=0.5, s = area)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.randint(0,2,size =50)
plt.scatter(x, y, c=colors, alpha=0.5,s = area)

直方图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a = np.random.rand(100)
plt.hist(a,bins= 20)
plt.ylim(0,15)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a = np.random.randn(10000)
plt.hist(a,bins=50)
plt.title("标准正太分布")

箱线图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x = np.random.randint(20,100,size = (30,3))
plt.boxplot(x)
plt.ylim(0,120)
# 在x轴的什么位置填一个 label,我们这里制定在 123 位置,写上 ABC
plt.xticks([1,2,3],['A','B','C']) 

plt.hlines(y = np.median(x,axis = 0)[0] ,xmin =0,xmax=3)

添加文字描述

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 设置画布颜色为 blue
fig, ax = plt.subplots(facecolor='blue')

# y 轴数据
data = [[5,25,50,20],
        [4,23,51,17],
        [6,22,52,19]]
X = np.arange(4)

plt.bar(X+0.00, data[0], color = 'darkorange', width = 0.25,label = 'A')
plt.bar(X+0.25, data[1], color = 'steelblue', width = 0.25,label="B")
plt.bar(X+0.50, data[2], color = 'violet', width = 0.25,label = 'C')

ax.set_title("Figure 2")
plt.legend()

# 添加文字描述 方法一
W = [0.00,0.25,0.50]
for i in range(3):
    for a,b in zip(X+W[i],data[i]):
        plt.text(a,b,"%.0f"% b,ha="center",va= "bottom")
        
plt.xlabel("Group")
plt.ylabel("Num")
plt.text(0.0,48,"TEXT")

添加文字描述 方法二

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
X = np.linspace(0, 2*np.pi,100)# 均匀的划分数据
Y = np.sin(X)
Y1 = np.cos(X)

plt.plot(X,Y)
plt.plot(X,Y1)

plt.annotate('Points',
         xy=(1, np.sin(1)),
         xytext=(2, 0.5), fontsize=16,
         arrowprops=dict(arrowstyle="->"))

plt.title("这是一副测试图!")

多个图形描绘 subplots

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
%pylab inline
pylab.rcParams['figure.figsize'] = (10, 6) # 调整图片大小

# np.random.seed(19680801)

n_bins = 10
x = np.random.randn(1000, 3)

fig, axes = plt.subplots(nrows=2, ncols=2) 
ax0, ax1, ax2, ax3 = axes.flatten()

colors = ['red', 'tan', 'lime']
ax0.hist(x, n_bins, normed=1, histtype='bar', color=colors, label=colors)
ax0.legend(prop={'size': 10})
ax0.set_title('bars with legend')

ax1.hist(x, n_bins, normed=1, histtype='bar', stacked=True)
ax1.set_title('stacked bar')

ax2.hist(x, n_bins, histtype='step', stacked=True, fill=False)
ax2.set_title('stack step (unfilled)')

# Make a multiple-histogram of data-sets with different length.
x_multi = [np.random.randn(n) for n in [10000, 5000, 2000]]
ax3.hist(x_multi, n_bins, histtype='bar')
ax3.set_title('different sample sizes')

使用Pandas 绘图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd
df = pd.DataFrame(np.random.rand(50, 2), columns=['a', 'b'])
# 散点图
df.plot.scatter(x='a', y='b')
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d'])
# 绘制柱状图
df.plot.bar()
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 堆积的柱状图
df.plot.bar(stacked=True)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 水平的柱状图
df.plot.barh(stacked=True)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df = pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c':np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])

# 直方图
df.plot.hist(bins=20)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 箱线图
df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])
df.plot.box()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python爬虫数据分析挖掘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python通过Matplotlib绘制常见的几种图形
使用matplotlib对几种常见的图形进行绘制 Matplotlib官网 如果想了解更多可查看官网。 import numpy as np import matplotlib.pyplot as plt %matplotlib inline #写了这个就可以不用写plt.show() plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 X
Python研究者
2021/08/23
9270
数据分析画图:50道练习玩转matplotlib
Matplotlib 是 Python 的绘图库。它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案,也可以和图形工具包一起使用。和Pandas、Numpy并称为数据分析三兄弟。友情提示:代码虽好,自己动手才算学到。
Datawhale
2020/02/21
8920
Python数据分析实战(3)Python实现数据可视化
数据可视化是指将数据放在可视环境中、进一步理解数据的技术,可以通过它更加详细地了解隐藏在数据表面之下的模式、趋势和相关性。
cutercorley
2020/08/31
4.7K0
Matplotlib绘制六种可视化图表,值得收藏
可视化图表,有相当多种,但常见的也就下面几种,其他比较复杂一点,大都也是基于如下几种进行组合,变换出来的。对于初学者来说,很容易被这官网上众多的图表类型给吓着了,由于种类太多,几种图表的绘制方法很有可能会混淆起来。
double
2019/08/20
1.2K0
Matplotlib 学习笔记
在 matplotlib 中,整个图像为 Figure ,而一个 Figure 中可以有多个 axes。
zucchiniy
2020/05/22
5600
再见,Matplotlib!
可以看到,虽然结果差不多,不过代码量瞬间就上去了,如果你是Matplotlib高手可能会用更简洁的代码制作,但一定没有pandas一行代码来的方便!
刘早起
2020/12/07
1.2K0
Matplotlib光速入门-从安装到常用实战
Matplotlib是Python一个强大的绘图库,搭配NumPy库的使用,可以满足绝大部分的绘图需求,各种你能想到的图表基本都支持,使用代码即可进行绘制,如果画不出来那一定是你的问题(doge)。
唔仄lo咚锵
2022/09/28
7310
Matplotlib光速入门-从安装到常用实战
matplotlib入门
MATlAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、量化金融与风险管理、机器人,控制系统等领域。MATLAB在数值计算方面首屈一指,也是使用最广泛的科研绘图软件之一。优点:编程效率高 便于矩阵计算。缺点:循环效率低 封装性不好。
IT从业者张某某
2022/11/12
4.5K0
matplotlib入门
Python基础(十二) | 还不会python绘图?两万字博文教你Matplotlib库(超详细总结)
https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html#matplotlib.pyplot.plot
timerring
2022/10/08
2.5K0
Python基础(十二) | 还不会python绘图?两万字博文教你Matplotlib库(超详细总结)
『数据可视化』一文掌握Pandas可视化图表
今天简单介绍一下Pandas可视化图表的一些操作,Pandas其实提供了一个绘图方法plot(),可以很方便的将Series和Dataframe类型数据直接进行数据可视化。
可以叫我才哥
2021/08/05
8.7K0
数据分析 ——— matplotlib基础(二)
在上面的三个面板中分别画出了sin,cos图,前面两个参数分别为x轴, y轴数据。ax2的第三个参数“go--”是matlab风格的绘图,ax3上给出了点的标记maker,这一块是可以自己定义的,可以参考我上一篇文章数据分析 ——数据可视化matplotlib(一)。
andrew_a
2019/09/26
8580
数据分析 ——— matplotlib基础(二)
数据分析与数据挖掘 - 08图形绘制
Matplotlib是数据可视化工作中,最常用的一个可视化库。Matplotlib有非常多的图形,我们很难在短时间内将其掌握,所以我们首先要掌握的是画图的思路和常用的一些图形。创建一个图的步骤大致可以分为9步,当然这9步并不是每一次都需要,只要你知道一个完整的图形可以有这么多的步骤就可以。每一个步骤对应着一个操作和操作它的函数。
马一特
2020/10/09
2.6K0
数据分析与数据挖掘 - 08图形绘制
Matplotlib引领数据图表绘制
在数据科学领域,数据可视化是一种强大的工具,能够将复杂的数据转化为易于理解和分析的图形。Matplotlib作为Python中最流行的数据可视化库,为我们提供了丰富的绘图功能和灵活的绘图选项。本文将深入探索Matplotlib。
老虎也淘气
2024/01/30
3570
Matplotlib引领数据图表绘制
12个最常用的matplotlib图例 !!
折线图(Line Plot):用于显示数据随时间或其他连续变量的变化趋势。在实际项目中,可以用于可视化模型性能随着训练迭代次数的变化。
JOYCE_Leo16
2024/03/19
6890
12个最常用的matplotlib图例 !!
【matplotlib】3-绘制统计图形
柱状图是描述统计中使用频率非常高的一种统计图形。它有垂直样式和水平样式两种可视化效果。这里我们主要介绍柱状图的应用场景和绘制原理。
程序员小涛
2022/12/28
2.2K1
【matplotlib】3-绘制统计图形
Python数据分析:手把手教你用Pandas生成可视化图表
我的机器学习教程「美团」算法工程师带你入门机器学习   已经开始更新了,欢迎大家订阅~
用户7886150
2020/12/25
1.1K0
[Python从零到壹] 十七.可视化分析之Matplotlib、Pandas、Echarts入门万字详解
欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足之处也请海涵。
Eastmount
2022/11/25
2.6K0
maplotlib 标准颜色、风格样式和水印
一、标准颜色列表 """ ======================== Visualizing named colors ======================== Simple plot
用户6021899
2019/08/14
9060
Matplotlib_Study01
from matplotlib.font_manager import FontProperties
Echo_Wish
2023/11/30
2560
Matplotlib_Study01
matplotlib 入门使用指南
1. pyplot模块 1.1. color的值 blue 1.2. Marker的值 point marker 1.3. LineStyles的值 solid line style 例子: 'b' # blue markers with default shape 'ro' # red circles 'g-' # green solid line '--' # dashed line with default color 'k^:' # black triangle_up mark
syy
2020/04/07
1K0
相关推荐
python通过Matplotlib绘制常见的几种图形
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验