在一个坐标系中绘制多个图像

本文介绍了如何在PythonMatplotlib中在同一坐标系中绘制北京和上海的温度变化折线图,通过多次plot函数区分线条,并设置图例以清晰展示数据。讲解了如何设置颜色、样式以及图例的位置。
摘要由CSDN通过智能技术生成

IT廉连看

在一个坐标系中绘制多个图像

1. 多次plot

需求:在添加一个城市的温度变化

收集北京当天温度变化情况,温度在1度到3度。怎么去添加另一个在同意坐标系当中的不同图形,其实很简单只需要再次plot即可,但是需要区分线条,显示如下

# 增加北京的温度数据
y_beijing = [random.uniform(1,3) for i in x]
​
#绘制折线图
plo.plot(x,y_shanghai)
#使用多次plot可以画多个折线
plt.plot(x,y_beijing,color='r',linestyle='--')                          color 颜色字符    linestyle风格字符

2.设置图像风格

3.显示图例

  • 注意:如果只在plt.plot()中设置label还不能最终显示出图例,还需要通过plt.legend()将图例显示出来。

#绘制折线图
plo.plot(x,y_shanghai,label="上海")
#使用多次plot可以画多个折线
plt.plot(x,y_beijing,color='r'
可以按照以下步骤实现按列求均值的方式绘制11张灰度图像的曲线图在一个坐标轴上: 1. 将11张灰度图像读入MATLAB,存储在一个三维矩阵。假设这些图像的文件名为image1.png到image11.png,可以使用以下代码读入这些图像: ``` for i = 1:11 img(:,:,i) = imread(['image', num2str(i), '.png']); end ``` 2. 按列求取每一张图像的均值,得到一个11行、图像列数列的矩阵。可以使用MATLAB的mean函数来实现: ``` means = squeeze(mean(img, 1)); ``` 其,squeeze函数用于去除means的第一维,因为此时means的第一维大小为1。 3. 创建一个从1到图像列数的等差数列,作为横坐标: ``` x = 1:size(means, 2); ``` 4. 使用MATLAB的plot函数将均值绘制成曲线图。由于有11张图像,需要在同一坐标系绘制11条曲线,可以使用以下代码实现: ``` colors = {'r', 'g', 'b', 'c', 'm', 'y', 'k', 'w', [0.5 0.5 0.5], [0.5 0 0.5], [0 0.5 0.5]}; hold on; for i = 1:11 plot(x, means(i,:), colors{i}); end hold off; ``` 其,colors是一个包含11个颜色的单元格数组,用于指定每条曲线的颜色。hold on和hold off函数用于在同一坐标系绘制多个曲线。 综上,以下代码实现了按列求均值的方式绘制11张灰度图像的曲线图在一个坐标轴上: ``` for i = 1:11 img(:,:,i) = imread(['image', num2str(i), '.png']); end means = squeeze(mean(img, 1)); x = 1:size(means, 2); colors = {'r', 'g', 'b', 'c', 'm', 'y', 'k', 'w', [0.5 0.5 0.5], [0.5 0 0.5], [0 0.5 0.5]}; hold on; for i = 1:11 plot(x, means(i,:), colors{i}); end hold off; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值