python画曲线图-Python数据可视化之Matplotlib(折线图)⼀、使⽤Matplotlib⽣成数据图:是Python上的⼀个2D绘图库,它可以在跨平台上边出很多⾼质量的图像。
1、Pycharm安装Matplotlib库
(1)点击菜单上的"file” -> "settings”:
(2)选中你的项⽬(⽐如thisyan Project),选中其下的"Project Interpreter”:
(3)点击最右边的"+":
(4)出现如下界⾯后,按照如图所⽰单击:
(5)完成:
2、折线图 -------- plot
(1)简单的折线图:
import matplotlib.pyplot as plt
x_data = ['2011','2012','2013','2014','2015','2016','2017']
y_data = [58000,60200,63000,71000,84000,90500,107000]
plt.plot(x_data,y_data)
plt.show()
在matplotlib⾯向对象的绘图库中,pyplot是⼀个⽅便的接⼝。
plot()函数:⽀持创建单条折线的折线图,也⽀持创建包含多条折线的复式折线图----只要在调⽤plot()时传⼊多个分别代表X轴和Y轴数据的list列表即可
(2)复式折线图:
matplotlib中subplotimport matplotlib.pyplot as plt
x_data = ['2011','2012','2013','2014','2015','2016','2017']
y_data = [58000,60200,63000,71000,84000,90500,107000]
y_data2 = [52000,54200,51500,58300,56800,59500,62700]
plt.plot(x_data,y_data,color='red',linewidth=2.0,linestyle='--')
plt.plot(x_data,y_data2,color='blue',linewidth=3.0,linestyle='-.')
plt.show()
注:
color ------ 指定折线的颜⾊
linewidth -------- 指定折线的宽度
linestyle -------- 指定折线的样式
" - ’ : 表⽰实线
’ - - " :表⽰虚线
’ : ":表⽰点线
’ - . " :表⽰短线、点相间的虚线
(3)管理图例:
对于复式折线图,应该为每条折线添加图例,可以通过legend()函数来实现。该函数可传⼊两个list参数,其中第⼀个list参数(handles参数)⽤于引⽤折线图上的每条折线;第⼆个list参数(labels)代表为每条折线所添加的图例
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm #字体管理器
x_data = ['2011','2012','2013','2014','2015','2016','2017']
y_data = [58000,60200,63000,71000,84000,90500,107000]
y_data2 = [52000,54200,51500,58300,56800,59500,62700]
ln1, = plt.plot(x_data,y_data,color='red',linewidth=2.0,linestyle='--')
ln2, = plt.plot(x_data,y_data2,color='blue',linewidth=3.0,linestyle='-.')
my_font = fm.FontProperties(fname="/usr/share/fonts/") plt.title("电⼦
产品销售量",fontproperties=my_font) #设置标题及字体
plt.legend(handles=[ln1,ln2],labels=['⿏标的年销量','键盘的年销量'],prop=my_font)
ax = a()
ax.spines['right'].set_color('none') # right边框属性设置为none 不显⽰
ax.spines['top'].set_color('none') # top边框属性设置为none 不显⽰
plt.show()
(4)管理多个⼦图:
import matplotlib.pyplot as plt
import numpy as np
idspec as gridspec
import matplotlib.font_manager as fm #字体管理器
my_font = fm.FontProperties(fname="/usr/share/fonts/") plt.figure()
x_data = np.linspace(-np.pi,np.pi,64,endpoint=True)
gs = gridspec.GridSpec(2,3) #将绘图区分成两⾏三列
ax1 = plt.subplot(gs[0,:])#指定ax1占⽤第⼀⾏(0)整⾏
ax2 = plt.subplot(gs[1,0])#指定ax2占⽤第⼆⾏(1)的第⼀格(第⼆个参数为0)
ax3 = plt.subplot(gs[1,1:3])#指定ax3占⽤第⼆⾏(1)的第⼆、三格(第⼆个参数为1:3) #绘制正弦曲线
ax1.plot(x_data,np.sin(x_data))
ax1.spines['right'].set_color('none')
ax1.spines['top'].set_color('none')
ax1.spines['bottom'].set_position(('data',0))
ax1.spines['left'].set_position(('data',0))
ax1.set_title('正弦曲线',fontproperties=my_font)
#绘制余弦曲线
ax2.plot(x_s(x_data))
ax2.spines['right'].set_color('none')
ax2.spines['top'].set_color('none')
ax2.spines['bottom'].set_position(('data',0))
ax2.spines['left'].set_position(('data',0))
ax2.set_title('余弦曲线',fontproperties=my_font)
#绘制正切曲线
ax3.plot(x_data,np.tan(x_data))
ax3.spines['right'].set_color('none')
ax3.spines['top'].set_color('none')
ax3.spines['bottom'].set_position(('data',0))
ax3.spines['left'].set_position(('data',0))
ax3.set_title('正切曲线',fontproperties=my_font)
plt.show()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论