python读取csv并画折线图

本文将说明如何用Python读取csv文件并且使用其数据画出折线图。
因为之前是直接写在了大工程里没有单独测试,把导入的库复制少了一个,现版本已经修正。有什么错误请各位直接指出。

1、导入库并规定格式
如果没有安装相关包的请先在控制台使用pip install命令安装pandas包和matplotlib包。

	import csv
	import matplotlib.pyplot as plt
	import pandas as pd
	plt.rcParams['font.sans-serif'] = ['SimHei']
	plt.rcParams['font.family']='sans-serif'
	plt.rcParams['axes.unicode_minus'] = False	

2、读取csv文件

data = pd.read_csv('文件名.csv')

3、读取指定列

xdata = []
ydata = []
xdata = data.ix[:,'列名1']   #将csv中列名为“列名1”的列存入xdata数组中
							#如果ix报错请将其改为loc
#xdata = data.iloc[:,num]   num处写要读取的列序号,0为csv文件第一列
ydata = data.ix[:,'列名2']   #将csv中列名为“列名2”的列存入ydata数组中

4、设置格式

plt.plot(xdata,ydata,'bo-',label=u'',linewidth=1)
plt.title(u"表名",size=10)   #设置表名为“表名”
plt.legend()
plt.xlabel(u'x轴名',size=10)   #设置x轴名为“x轴名”
plt.ylabel(u'y轴名',size=10)   #设置y轴名为“y轴名”

5、输出图表

plt.show()

绘制多条折线

	import csv
	import matplotlib.pyplot as plt
	import pandas as pd
	plt.rcParams['font.sans-serif'] = ['SimHei']
	plt.rcParams['font.family']='sans-serif'
	plt.rcParams['axes.unicode_minus'] = False	
	
	data = pd.read_csv('文件名.csv')

	xdata = []
	y1data = []
	y2data = []
	xdata = data.loc[:,'列名1']
	y1data = data.loc[:,'列名2']
	y2data = data.loc[:,'列名3']

	plt.plot(xdata,y1data,color='r',marker='o',mec='r',mfc='w',label=u'列名2')
	plt.plot(xdata,y2data,color='b',marker='o',mec='r',mfc='w',label=u'列名3')     #color可自定义折线颜色,marker可自定义点形状,label为折线标注
	plt.title(u"表名",size=10)
	plt.legend()
	plt.xlabel(u'x轴名',size=10) 
	plt.ylabel(u'y轴名',size=10)

	plt.show()
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐