plt绘图加图标_Python绘图

本文总结了Python绘图的知识,包括数据可视化的概念,使用Python作图的优势,如批量处理和定制化能力。通过实例展示了plt.plot()、添加标题和副标题、控制坐标轴、画饼图、绘制多条线以及创建子图的基本用法,适合初学者入门。
摘要由CSDN通过智能技术生成

803b7ba78137aacf98e4c9c736b33306.png

之前看学习方法的时候,看到知乎 @核聚 的进步本,当时体会不是很深刻,随着学习过程中的反思,感觉确实比较有用,最重要的一条我觉得就是:每天结束时想想哪些你真的懂了,还有哪些你不明白。一定要确认这件事情,这会让你的学习不会感到恐慌,我觉得这对于我来说非常重要,因为它可以减少我学习过程中的恐惧感和无助感。那么今天就是作为对进步本的实践,总结一下关于Python绘图的一些知识。

绘图主要是为了使数据更加直观的展示出来,也可以称之为数据的可视化,例如我们之前使用Excel做的柱状图、饼图、折线图都可以称之为数据的可视化。那么使用Python作图有哪些优势呢?我自己的感觉是使用代码可以批量作图,并且对于图形的定制化能力强一些,而且支持Latex语法,如果需要展示诸如

等字符时十分方便。

当然,我现在也只是粗浅的总结一下自己的观点,不妥之处还望指正。我感觉首先需要数据,以后处理的时候可以通过读入csv、excel文件等形式,这里为了简略还是用一些简单的数据。比如最简单的线形图,就可以使用以下代码:

import numpy as np
import matplotlib.pyplot as plt
#添加中文支持
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] =False 
a=[2,4,5,6]
plt.plot(a)       

6798086ac3ab363a044b2fd8aeeab6ca.png
示例

我认为这里可以把plt当做一个对象,他有很多个函数,比如plot()函数(这里针对的是对当前的图像进行操作),我们传进去一组数据,就会返回一个结果。上面只是一个最简单的示例,我们还可以添加标题,副标题,控制坐标轴范围,控制图形的颜色、形状等。如下面的代码:

import numpy as np
import matplotlib.pyplot as plt
a=[1,3,4,8]
b=[2,4,5,6]
plt.plot(a,b,'go') #g表示green,o表示原点,可参考更多其它设置
plt.axis([0, 10, 0, 10])
plt.xlabel('x')
plt.ylabel('y')
plt.title('Sample')
plt.text(1, 5, r'$sigma$')
plt.grid(True)
plt.annotate('See Here',xy=(1.2,5.2),xytext=(2,7),
             arrowprops=dict(facecolor='black',shrink=0.05))
plt.show()

7d4b7f3edffd084fe5c354e752fd3ce6.png

下面是饼图的一个小例子:

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] =False 
plt.style.use('ggplot')
plt.xlim(0,10)
plt.ylim(0,10)
wage=[0.2,0.3,0.1,0.4]
labels=['中专','大专','本科','硕士']
plt.axes(aspect='equal')
plt.title('饼图')
plt.pie(
        x=wage,
        labels=labels,
        textprops = {'fontsize':12, 'color':'k'},
        autopct='%.1f%%', # 显示数据
)

2962d841388e6c8d019d09acdfa13d7c.png

如何在一幅图上画多条线呢?也非常简单~

import numpy as np
import matplotlib.pyplot as plt
a=[1,3,4,8]
b=[2,4,5,6]
c=[3,6,8,10]
#分别画两条线
plt.plot(a,b,'go') #g表示green,o表示原点,可参考更多其它设置
plt.plot(a,c,'r-') #r表示red,o表示原点,可参考更多其它设置
plt.axis([0, 10, 0, 10])
plt.xlabel('x')
plt.ylabel('y')
plt.title('Sample')
plt.text(1, 5, r'$sigma$')
plt.grid(True)
plt.annotate('See Here',xy=(1.2,5.2),xytext=(2,7),
             arrowprops=dict(facecolor='black',shrink=0.05))
plt.show()    

结果如图所示:

b84821c287620f2c8e3fa9366e0a7cee.png

如何画子图呢?也并不难~

import numpy as np
import matplotlib.pyplot as plt
a=[1,3,4,8]
b=[2,4,5,6]
c=[3,6,8,10]
plt.figure(1)
#画第一幅子图
plt.subplot(1, 2, 1)
plt.plot(a,b,'go') #g表示green,o表示原点,可参考更多其它设置
#画第二幅子图
plt.subplot(1, 2, 2)
plt.plot(a,c,'r-') #r表示red,o表示原点,可参考更多其它设置
plt.show()    

结果如下:

0f5cfcc0f52e54fbf0411cca416c9ea9.png

学完这些,感觉对于我来说基本上就够用了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值