DW2022数据可视化matplotlib Task1

【1】初步问题解决

一开始通过cmd,已经安装成功matplotlib,但是依然无法使用,借助以下方法解决正常使用问题。Linux已经安装matplotlib成功但pycharm仍提示No module named ...的解决方法_z1747157448的博客-CSDN博客_安装了matplotlib但是ide里没有Linux已经install matplotlib成功但pycharm仍提示No module named matplotlib的解决方法该方法适用于已经在shell中sudo apt-get install matplotlib(numpy),但在导包时仍然报错No module named 的情况演示该方法适用于已经在shell中sudo apt-get install matplotlib(numpy),但在导包时仍然报错No module named 的情况在使用numpy和matplotlibhttps://blog.csdn.net/z1747157448/article/details/106086416【2】开始初步尝试

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

fig,ax = plt.subplots() #创建包含axes的figure
ax.plot([1,2,3,4],[1,4,2,3]) #绘制图像
plt.show() #展现图像

通过上述代码,是一步步创建的,显示了fig和ax,适用于多种画图或复杂情况。这种建图模式,也被称为OO模式(objected-oriented style)

通过以下代码,由于没有制定fig和ax,所以借助matplotlib.pyplot,直接创建出上图所示表格。适合单一表格,简单情况。

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

line = plt.plot([1,2,3,4],[1,4,2,3]) #matplotlib快速创建
plt.show()

【3】两种绘图接口的对比

在了解了Figure的构成之后,通过调用两种方式,开始尝试构图

第一种:借助显示figure和axes,即OO模式

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

x = np.linspace(0,2,100)

fig,ax = plt.subplots()
ax.plot(x,x,label = 'linear') #线性表示
ax.plot(x,x**2,label = 'quadratic') #平方表示
ax.plot(x,x**3,label = 'cubic') #立方表示
ax.set_xlabel('x label')
ax.set_xlabel('y label')
ax.set_title('Simple plot')
ax.legend()  #调整图例位置
plt.show()

 其中发现,如果是图例名称改成中文,则兼容性不佳,案例如下

ax.plot(x,x,label = 'linear')
ax.plot(x,x**2,label = 'quadratic')
ax.plot(x,x**3,label = '立方')

 第二种:借助pyplot快速创建

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

x = np.linspace(0,2,100)
plt.plot(x,x,label = 'linear')
plt.plot(x,x**2,label = 'quadratic')
plt.plot(x,x**3,label = 'cubic')
plt.xlabel('x label')
plt.ylabel('y label')
plt.title('Simple plot')
plt.legend()
plt.show()

【4】思考题

1.请思考两种绘图模式的优缺点和各自适合的场景

OO模式:优点在于可以进行特定编辑,逻辑相对清晰,每一个元素可以进行快速且针对性强的修改操作,子图数量多时操作方便;缺点在于语句数量相对较多,对于每一个子图的内容需要有清晰的规划,创建的难度相对较高。OO模式适合多图共同展示,多子图协同作业时的场景

plt自动创建:优点在于操作方便,能快速简历图像,语句数量少;缺点在于多子图协同较差,仅能展现单一图像。plt自动创建适用单图展示场景,简单化场景构建。

2.在第五节绘图模板中我们是以OO模式作为例子展示的,请思考并写一个pyplot绘图模式的简单模板

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

#step 1 准备阶段
x = np.linspace(0,2,100)
y = x ** 2

#step 2 设置绘图样式
mpl.rc('lines',linewidth = 4,linestyle = '-.')

#step 3 定义布局
fig,ax = plt.subplots()

#step 4 绘制图像
ax.plot(x,y,label = 'linear')

#step 5 添加标签,文字和图例
ax.set_xlabel('x label')
ax.set_ylabel('y label')
ax.set_title('Simple Plot')
ax.legend()
plt.show()

【5】本次收获

1.本次主要了解了axes和pyplot方法的使用,通过学习两种接口的绘图模式。内容不多,主要分清二者的区别和内容,属于简单但重要的基础。

2.这次学习也明白了matplotlib对于中文的兼容性不佳,在图例中无法很好的显示中文。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值