python作图_Python绘图

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

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

equation?tex=%5Csigma%E3%80%81%5Cbeta+ 等字符时十分方便。

当然,我现在也只是粗浅的总结一下自己的观点,不妥之处还望指正。我感觉首先需要数据,以后处理的时候可以通过读入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)示例

我认为这里可以把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()

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

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%%', # 显示数据

)

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

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()

结果如图所示:

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

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()

结果如下:

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值