程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

python数据可视化matplotlib进行数据可视化或科学计算可视化(一)

发布于2019-12-07 09:24     阅读(1447)     评论(0)     点赞(26)     收藏(3)


向几何图形中填充颜色

一、规则多边形颜色填充

代码如下:

import matplotlib.pyplot as plt
import numpy as np
x = [0, 0, 5, 10, 15, 15, 10, 5]
y = [5, 10, 15, 15, 10, 5, 0, 0]
plt.fill(x, y, color = "cornflowerblue")
plt.xlim(-8, 16)
plt.ylim(-8, 16)
plt.xticks(np.arange(-8, 16, 5))
plt.yticks(np.arange(-8, 16, 5))
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

结果如下:
在这里插入图片描述
代码详解:

import matplotlib.pyplot as plt
import numpy as np
  • 1
  • 2

上述为包的导入,有关包的导入介绍,可以参考这篇文章https://blog.csdn.net/weixin_44301621/article/details/103336884
上述两句内容即:导入matplotlib.pyplot并将其另外命名为plt,以减少后面的代码量,同理导入numpy,并将其命名为np


x = [0, 0, 5, 10, 15, 15, 10, 5]
y = [5, 10, 15, 15, 10, 5, 0, 0]
  • 1
  • 2

坐标数据的设定,这里也可以引入CSV文件,后续再讲


plt.fill(x, y, color = "cornflowerblue")
  • 1

这里通过调用fill()来完成绘制八边形的任务,参数x和y是用来绘制封闭区域的顶点的有序数对,参数color用来完成封闭区域的填充颜色的设置工作。


plt.xlim(-8, 16)
plt.ylim(-8, 16)
  • 1
  • 2

使用函数xlim()和ylim()完成多边形相对位置的调整


plt.xticks(np.arange(-8, 16, 5))
plt.yticks(np.arange(-8, 16, 5))
  • 1
  • 2

使用xticks(np.arange(-8, 16, 5))和yticks(np.arange(-8, 16, 5))对图像坐标数据进行设置,如-8意味着是坐标轴起点数据,16意味着是种点数据,5则表示间距

如果省去如下片段代码,则显示图像如下所示,该图像基于默认设计进行展示

plt.xlim(-8, 16)
plt.ylim(-8, 16)
plt.xticks(np.arange(-8, 16, 5))
plt.yticks(np.arange(-8, 16, 5))
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述


plt.show()
  • 1

调用函数show()展示规则多边形的绘制效果

二、不规则多边形颜色填充

代码如下:

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 2*np.pi, 500)
y = np.sin(x)
plt.fill(x,y,color='cornflowerblue',alpha=0.4)
plt.plot(x,y,color='cornflowerblue',alpha=0.8)
plt.plot([x[0],x[-1]],[y[0],y[-1]],color='cornflowerblue',alpha=0.8)
plt.xlim(0,2*np.pi)
plt.ylim(-1.1,1.1)
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

结果如下:
在这里插入图片描述
代码详解:

x = np.linspace(0, 2*np.pi, 500)
y = np.sin(x)
  • 1
  • 2

坐标数据的设定,后面会讲numpy下的linspace()的用法


plt.fill(x,y,color='cornflowerblue',alpha=0.4)
plt.plot(x,y,color='cornflowerblue',alpha=0.8)
plt.plot([x[0],x[-1]],[y[0],y[-1]],color='cornflowerblue',alpha=0.8)
  • 1
  • 2
  • 3

通过调用函数fill(),可以将正弦曲线围成的封闭区域用颜色填充,从而形成不规则多边形的填充区域。
借助折线函数plot()给填充区域添加区域轮廓。同时,使用参数alpha可以分别设置填充区域的颜色透明度和图形颜色是透明度,从而产生填充区域和区域轮廓的颜色深浅变化。

以上,感谢刘大成《python数据可视化之matplotlib精进》

三、结合改造以上两段代码,来深入了解各个函数的功能

import matplotlib.pyplot as plt
import numpy as np
x = [0, 0, 5, 10, 15, 15, 10, 5]
y = [5, 10, 15, 15, 10, 5, 0, 0]
plt.fill(x, y, color = "red", alpha=0.5)
plt.plot(x, y, color='cornflowerblue', alpha=0.9)
plt.xlim(-8, 16)
plt.ylim(-8, 16)
plt.xticks(np.arange(-8, 16, 5))
plt.yticks(np.arange(-8, 16, 5))
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述
此处有两个疑问:
1.plt.plot([x[0],x[-1]],[y[0],y[-1]],color='cornflowerblue',alpha=0.8)这段代码的意义还没有完全搞明白
2.为何结合改造后代码,输出的图形,左下角那个边,并没有蓝色边框线
以后可能会解答到,还希望能够解答的小伙伴评论区或私信解答~相互交流



所属网站分类: 技术文章 > 博客

作者:343ueru

链接:https://www.pythonheidong.com/blog/article/169650/8419e9b4a8d58558e1df/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

26 0
收藏该文
已收藏

评论内容:(最多支持255个字符)