Python图像库matplotlib的实践(上)_田超凡

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-28 22:01   11   0
转载请注明原作者:田超凡20190413
CSDN博客:https://blog.csdn.net/qq_30056341

# coding: utf-8

# In[52]:


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

#使用plot()函数指定坐标轴的坐标
#  plot([x], y, [fmt], data=None, **kwargs)
#  plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
#  指定函数的x坐标和y坐标列表

#使用%matplotlib tk 和%matplotlib inline设置图像的显示,tk为在GUI显示,inline在行内显示
# get_ipython().run_line_magic('matplotlib', 'inline')

#构造抛物线函数
x=np.arange(-7.8,8,0.1);
y=x**2+1;

plt.plot(x,y);
plt.show()


# matplotlib基本图形figure
# matplotlib中的所有图像都是位于figure对象中,一个图像只能有一个figure对象。
# matplotlib 的 figure 就是一个 单独的 figure 小窗口, 小窗口里面还可以有更多的小图片.
#

# In[68]:


arr=np.arange(-5,5,0.1);
arr

#计算正弦值,返回的ndarray作为行坐标
# array([ 0.95892427,  0.97753012,  0.7568025 ,  0.35078323, -0.14112001,
#        -0.59847214, -0.90929743, -0.99749499, -0.84147098, -0.47942554,
#         0.        ,  0.47942554,  0.84147098,  0.99749499,  0.90929743,
#         0.59847214,  0.14112001, -0.35078323, -0.7568025 , -0.97753012])
x=np.sin(arr);
x

#计算余弦值,返回ndarray作为纵坐标
# array([ 0.28366219, -0.2107958 , -0.65364362, -0.93645669, -0.9899925 ,
#        -0.80114362, -0.41614684,  0.0707372 ,  0.54030231,  0.87758256,
#         1.        ,  0.87758256,  0.54030231,  0.0707372 , -0.41614684,
#        -0.80114362, -0.9899925 , -0.93645669, -0.65364362, -0.2107958 ])
y=np.cos(arr);
y;

#图形构建开始
#先创建一个图形
plt.figure(figsize=(5,5));
#指定shape1坐标
plt.plot(x,y);

#再创建一个图形
plt.figure(num=3,figsize=(8,8));

#指定shape2坐标
plt.plot(x,y);

#绘图
plt.show();

# figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
# num:图像编号或名称,数字为编号 ,字符串为名称
# figsize:指定figure的宽和高,单位为英寸;
# dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80      1英寸等于2.5cm,A4纸是 21*30cm的纸张 
# facecolor:背景颜色
# edgecolor:边框颜色
# frameon:是否显示边框


# In[109]:


#plot函数指定多个参数绘制高阶函数图像
arr=np.arange(-2,2,0.1);
x=np.sin(arr);
y1=np.cos(arr);
z1=np.cos(arr);
z2=np.tan(arr);

plt.plot(x,y1,z1,z2);
plt.show();

##如果只接收到一个值就默认为y值 ,而x默认为从0 到 n ,使用默认的线条样式和颜色
plt.plot(np.arange(2,12,2));
plt.plot([1,2,4,8,16]);
plt.plot(y1,z1)

plt.show();


# In[132]:


#matplotlib颜色、标记和线型
x=np.arange(-5,5,0.1);
y=np.sin(x);
z=np.cos(x);

plt.plot(x,y,x,z);
plt.show();

#plot(x,y,color='red', linestyle='dashed', marker='o'.....)
# 绘图中用到的直线属性包括:
# (1)LineStyle:线形
# (2)LineWidth:线宽
# (3)Color:颜色
# (4)Marker:标记点的形状
# (5)label:用于图例的标签

plt.plot(x,y,x,z,color='purple',linestyle='solid',linewidth="3")

折线图绘制结果:

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP